- Improve logging & add timeouts to Future gets in integration tests
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 @@
 
     @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.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.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 @@
             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.");
         }
     }