View Javadoc

1   // Copyright (C) 2005 - 2012 Philip Aston
2   // All rights reserved.
3   //
4   // This file is part of The Grinder software distribution. Refer to
5   // the file LICENSE which is part of The Grinder distribution for
6   // licensing details. The Grinder distribution is available on the
7   // Internet at http://grinder.sourceforge.net/
8   //
9   // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
10  // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
11  // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
12  // FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
13  // COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
14  // INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15  // (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16  // SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
17  // HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
18  // STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
19  // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
20  // OF THE POSSIBILITY OF SUCH DAMAGE.
21  
22  package net.grinder.communication;
23  
24  import java.net.InetAddress;
25  import java.net.Socket;
26  
27  import net.grinder.util.StandardTimeAuthority;
28  
29  import org.junit.AfterClass;
30  import org.junit.Before;
31  import org.junit.BeforeClass;
32  import org.junit.Test;
33  
34  
35  /**
36   *  Unit tests for {@link SocketWrapper}.
37   *
38   * @author Philip Aston
39   */
40  public class TestSocketWrapper {
41  
42    private static Acceptor s_acceptor;
43    private Socket m_socket;
44  
45    @BeforeClass public static void setUpAcceptor() throws Exception {
46      s_acceptor = new Acceptor("localhost", 0, 1, new StandardTimeAuthority());
47    }
48  
49    @AfterClass public static void shutDownAcceptor() throws Exception {
50      s_acceptor.shutdown();
51    }
52  
53    @Before public void createSocket() throws Exception {
54      m_socket = new Socket(InetAddress.getByName(null), s_acceptor.getPort());
55    }
56  
57    @Test(expected=CommunicationException.class)
58    public void testConstructionWithBadSocket() throws Exception {
59      m_socket.close();
60      new SocketWrapper(m_socket);
61    }
62  }