You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by ud...@apache.org on 2017/09/13 23:55:37 UTC

[geode] branch develop updated: GEODE-3079 Ensure emergencyClose() closes socket

This is an automated email from the ASF dual-hosted git repository.

udo pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new 6bbaad0  GEODE-3079 Ensure emergencyClose() closes socket
6bbaad0 is described below

commit 6bbaad05274117bfe20f2991b09150442bafa50a
Author: Alexander Murmann <am...@pivotal.io>
AuthorDate: Tue Sep 5 13:04:31 2017 -0700

    GEODE-3079 Ensure emergencyClose() closes socket
---
 .../GenericProtocolServerConnectionTest.java        | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnectionTest.java b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnectionTest.java
index f74def9..be9c4a2 100644
--- a/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnectionTest.java
+++ b/geode-core/src/test/java/org/apache/geode/internal/cache/tier/sockets/GenericProtocolServerConnectionTest.java
@@ -26,12 +26,15 @@ import org.apache.geode.internal.cache.tier.CommunicationMode;
 import org.apache.geode.internal.security.SecurityService;
 import org.apache.geode.security.server.NoOpAuthenticator;
 import org.apache.geode.test.junit.categories.UnitTest;
+
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.mockito.Mockito;
 
 import java.io.IOException;
 import java.net.InetAddress;
 import java.net.Socket;
+import java.net.UnknownHostException;
 
 @Category(UnitTest.class)
 public class GenericProtocolServerConnectionTest {
@@ -48,6 +51,19 @@ public class GenericProtocolServerConnectionTest {
     }
   }
 
+  @Test
+  public void emergencyCloseClosesSocket() throws IOException {
+    Socket socketMock = mock(Socket.class);
+    when(socketMock.getInetAddress()).thenReturn(InetAddress.getByName("localhost"));
+
+    GenericProtocolServerConnection genericProtocolServerConnection =
+        getGenericProtocolServerConnection(socketMock, mock(ClientProtocolMessageHandler.class));
+
+    genericProtocolServerConnection.emergencyClose();
+
+    Mockito.verify(socketMock).close();
+  }
+
   private static ServerConnection IOExceptionThrowingServerConnection() throws IOException {
     Socket socketMock = mock(Socket.class);
     when(socketMock.getInetAddress()).thenReturn(InetAddress.getByName("localhost"));
@@ -55,6 +71,11 @@ public class GenericProtocolServerConnectionTest {
     ClientProtocolMessageHandler clientProtocolMock = mock(ClientProtocolMessageHandler.class);
     doThrow(new IOException()).when(clientProtocolMock).receiveMessage(any(), any(), any());
 
+    return getGenericProtocolServerConnection(socketMock, clientProtocolMock);
+  }
+
+  private static GenericProtocolServerConnection getGenericProtocolServerConnection(
+      Socket socketMock, ClientProtocolMessageHandler clientProtocolMock) {
     return new GenericProtocolServerConnection(socketMock, mock(InternalCache.class),
         mock(CachedRegionHelper.class), mock(CacheServerStats.class), 0, 0, "",
         CommunicationMode.ProtobufClientServerProtocol.getModeNumber(), mock(AcceptorImpl.class),

-- 
To stop receiving notification emails like this one, please contact
['"commits@geode.apache.org" <co...@geode.apache.org>'].