コード例 #1
0
  @Test
  public void testConnectionShutdown() throws Exception {
    final InputStream instream = Mockito.mock(InputStream.class);
    final OutputStream outstream = Mockito.mock(OutputStream.class);
    Mockito.when(socket.getInputStream()).thenReturn(instream);
    Mockito.when(socket.getOutputStream()).thenReturn(outstream);

    conn.bind(socket);
    conn.ensureOpen();
    conn.getSessionOutputBuffer().write(0);

    Assert.assertTrue(conn.isOpen());

    conn.shutdown();

    Assert.assertFalse(conn.isOpen());

    Mockito.verify(outstream, Mockito.never())
        .write(Mockito.<byte[]>any(), Mockito.anyInt(), Mockito.anyInt());
    Mockito.verify(socket, Mockito.never()).shutdownInput();
    Mockito.verify(socket, Mockito.never()).shutdownOutput();
    Mockito.verify(socket, Mockito.times(1)).close();

    conn.close();
    Mockito.verify(socket, Mockito.times(1)).close();

    conn.shutdown();
    Mockito.verify(socket, Mockito.times(2)).close();
  }