@Test public void successfulConnectionIsNotDestroyed() throws IOException { ConnectionConnector spyConnector = spy(new ConnectionConnector(endpointManager, ds, 0, 0, 0, cancelCriterion, false, null, socketCreator, handshake)); doReturn(connection).when(spyConnector).getConnection(ds, cancelCriterion); doReturn(handshake).when(spyConnector).getClientSideHandshake(handshake); try { spyConnector.connectClientToServer(mock(ServerLocation.class), false); } finally { verify(spyConnector, times(0)).destroyConnection(any()); } } }
public ConnectionFactoryImpl(ConnectionSource source, EndpointManager endpointManager, InternalDistributedSystem sys, int socketBufferSize, int handshakeTimeout, int readTimeout, ClientProxyMembershipID proxyId, CancelCriterion cancelCriterion, boolean usedByGateway, GatewaySender sender, long pingInterval, boolean multiuserSecureMode, PoolImpl pool) { this( new ConnectionConnector(endpointManager, sys, socketBufferSize, handshakeTimeout, readTimeout, cancelCriterion, usedByGateway, sender, (usedByGateway || sender != null) ? SocketCreatorFactory .getSocketCreatorForComponent(SecurableCommunicationChannel.GATEWAY) : SocketCreatorFactory .getSocketCreatorForComponent(SecurableCommunicationChannel.SERVER), new ClientSideHandshakeImpl(proxyId, sys, sys.getSecurityService(), multiuserSecureMode)), source, pingInterval, pool, cancelCriterion); }
@Test(expected = GemFireSecurityException.class) public void failedConnectionIsDestroyed() throws IOException { ConnectionConnector spyConnector = spy(new ConnectionConnector(endpointManager, ds, 0, 0, 0, cancelCriterion, false, null, socketCreator, handshake)); doReturn(connection).when(spyConnector).getConnection(ds, cancelCriterion); doReturn(handshake).when(spyConnector).getClientSideHandshake(handshake); when(connection.connect(any(), any(), any(), anyInt(), anyInt(), anyInt(), any(), any(), any())) .thenThrow(new GemFireSecurityException("Expected exception")); try { spyConnector.connectClientToServer(mock(ServerLocation.class), false); } finally { verify(spyConnector).destroyConnection(any()); } }