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

shuber pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/unomi.git


The following commit(s) were added to refs/heads/master by this push:
     new 211c6a2  - Improve logging & add timeouts to Future gets in 
integration tests
211c6a2 is described below

commit 211c6a2239aa0279d096984b9f1926ce52ed61fd
Author: Serge Huber <[email protected]>
AuthorDate: Sun May 31 17:58:19 2020 +0200

    - Improve logging & add timeouts to Future gets in integration tests
---
 .../servlet/websocket/SubscriptionWebSocket.java      |  1 +
 .../unomi/itests/graphql/GraphQLWebSocketIT.java      | 19 +++++++++++++++++--
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git 
a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/websocket/SubscriptionWebSocket.java
 
b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/websocket/SubscriptionWebSocket.java
index 6f295c7..d99c16b 100644
--- 
a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/websocket/SubscriptionWebSocket.java
+++ 
b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/servlet/websocket/SubscriptionWebSocket.java
@@ -60,6 +60,7 @@ public class SubscriptionWebSocket extends WebSocketAdapter {
 
     @Override
     public void onWebSocketText(String textMessage) {
+        logger.info("Got web socket messages {}", textMessage);
         final GraphQLMessage message = GraphQLMessage.fromJson(textMessage);
         if (message == null) {
             return;
diff --git 
a/itests/src/test/java/org/apache/unomi/itests/graphql/GraphQLWebSocketIT.java 
b/itests/src/test/java/org/apache/unomi/itests/graphql/GraphQLWebSocketIT.java
index 5c8a680..3ee25f0 100644
--- 
a/itests/src/test/java/org/apache/unomi/itests/graphql/GraphQLWebSocketIT.java
+++ 
b/itests/src/test/java/org/apache/unomi/itests/graphql/GraphQLWebSocketIT.java
@@ -21,6 +21,7 @@ import io.reactivex.Flowable;
 import io.reactivex.Observable;
 import io.reactivex.ObservableEmitter;
 import io.reactivex.subscribers.DefaultSubscriber;
+import org.apache.unomi.itests.BasicIT;
 import org.eclipse.jetty.websocket.api.RemoteEndpoint;
 import org.eclipse.jetty.websocket.api.Session;
 import org.eclipse.jetty.websocket.api.WebSocketAdapter;
@@ -28,19 +29,25 @@ import 
org.eclipse.jetty.websocket.client.ClientUpgradeRequest;
 import org.eclipse.jetty.websocket.client.WebSocketClient;
 import org.junit.Assert;
 import org.junit.Test;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import java.net.URI;
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
 
 public class GraphQLWebSocketIT extends BaseGraphQLIT {
 
+    private final static Logger LOGGER = 
LoggerFactory.getLogger(GraphQLWebSocketIT.class);
+
     private static final String SUBSCRIPTION_ENDPOINT = "ws://localhost:" + 
HTTP_PORT + "/graphql";
 
     @Test
     public void testWebSocketConnectionSegment() throws Exception {
         WebSocketClient client = new WebSocketClient();
         try {
+            LOGGER.info("Starting web socket client...");
             client.start();
 
             URI echoUri = new URI(SUBSCRIPTION_ENDPOINT);
@@ -50,22 +57,30 @@ public class GraphQLWebSocketIT extends BaseGraphQLIT {
             Future<Session> onConnected = client.connect(socket, echoUri, 
request);
             RemoteEndpoint remote = onConnected.get().getRemote();
 
+            LOGGER.info("Connected, initializing... ");
+
             String initMsg = resourceAsString("graphql/socket/out/init.json");
             remote.sendString(initMsg);
 
+            LOGGER.info("Initialized, acknowledging...  ");
+
             String ackMsg = resourceAsString("graphql/socket/in/ack.json");
-            String initResp = socket.waitMessage().get();
+            String initResp = socket.waitMessage().get(10, TimeUnit.SECONDS);
             Assert.assertEquals(ackMsg, initResp);
 
+            LOGGER.info("Sending terminate message...");
+
             String termMsg = resourceAsString("graphql/socket/out/term.json");
             remote.sendString(termMsg);
 
+            LOGGER.info("Waiting for socket to close...");
 
-            CloseStatus status = socket.waitClose().get();
+            CloseStatus status = socket.waitClose().get(10, TimeUnit.SECONDS);
             // Assert.assertEquals(1000, (int) status.getStatus()); TODO skip 
for now
 
         } finally {
             client.stop();
+            LOGGER.info("Web socket client stopped.");
         }
     }
 

Reply via email to