@Test
  public void testClientDisconnect() throws Exception {
    String connectionId = blockingSSLConnect(DEFAULT_SOCKET_BUF_SIZE);
    selector.disconnect(connectionId);
    selector.poll(10, asList(SelectorTest.createSend(connectionId, "hello1")));
    assertEquals("Request should not have succeeded", 0, selector.completedSends().size());
    assertEquals("There should be a disconnect", 1, selector.disconnected().size());
    assertTrue("The disconnect should be from our node", selector.disconnected().contains(connectionId));
    connectionId = blockingSSLConnect(DEFAULT_SOCKET_BUF_SIZE);
    assertEquals("hello2", blockingRequest(connectionId, "hello2"));
  }
Validate that the client can intentionally disconnect and reconnect
ambry-network/src/test/java/com/github/ambry/network/SSLSelectorTest.java