]> git.argeo.org Git - lgpl/argeo-commons.git/blob - org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketTest.java
Prepare next development cycle
[lgpl/argeo-commons.git] / org.argeo.cms.ee / src / org / argeo / cms / websocket / server / WebSocketTest.java
1 package org.argeo.cms.websocket.server;
2
3 import java.net.URI;
4 import java.net.http.HttpClient;
5 import java.net.http.WebSocket;
6 import java.util.concurrent.CompletableFuture;
7 import java.util.concurrent.CompletionStage;
8 import java.util.concurrent.TimeUnit;
9
10 /** Tests connectivity to the web socket server. */
11 public class WebSocketTest {
12
13 public static void main(String[] args) throws Exception {
14 CompletableFuture<Boolean> received = new CompletableFuture<>();
15 WebSocket.Listener listener = new WebSocket.Listener() {
16
17 public CompletionStage<?> onText(WebSocket webSocket, CharSequence message, boolean last) {
18 System.out.println(message);
19 CompletionStage<String> res = CompletableFuture.completedStage(message.toString());
20 received.complete(true);
21 return res;
22 }
23 };
24
25 HttpClient client = HttpClient.newHttpClient();
26 CompletableFuture<WebSocket> ws = client.newWebSocketBuilder()
27 .buildAsync(URI.create("ws://localhost:7070/cms/status/test/my%20topic?path=my%2Frelative%2Fpath"), listener);
28 WebSocket webSocket = ws.get();
29 webSocket.sendText("TEST", true);
30
31 received.get(10, TimeUnit.SECONDS);
32 webSocket.sendClose(WebSocket.NORMAL_CLOSURE, "");
33 }
34
35 }