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.");
}
}