From 4beb63343f658a17b9ccd6236fced501e5d15dea Mon Sep 17 00:00:00 2001 From: Joffrey BION Date: Sun, 11 Dec 2016 14:03:28 +0100 Subject: Add WS experiment test page This pages allows to test spring/STOMP config to see which messages are properly broadcasted to all users, which are just sent to the caller, and which are sent a specific user from the server. --- src/main/resources/static/index.html | 3 +++ src/main/resources/static/test-ws.js | 48 ++++++++++++++++++++++++++++++++++++ src/main/resources/static/test.html | 45 +++++++++++++++++++++++++++++++++ 3 files changed, 96 insertions(+) create mode 100644 src/main/resources/static/test-ws.js create mode 100644 src/main/resources/static/test.html (limited to 'src/main/resources') diff --git a/src/main/resources/static/index.html b/src/main/resources/static/index.html index 1b959d56..6131e912 100644 --- a/src/main/resources/static/index.html +++ b/src/main/resources/static/index.html @@ -19,6 +19,9 @@

This is a stub index page for the project, for the sake of vertical completeness. We will soon get to work on it!

+Go to WS test page + +

Connection

diff --git a/src/main/resources/static/test-ws.js b/src/main/resources/static/test-ws.js new file mode 100644 index 00000000..48104537 --- /dev/null +++ b/src/main/resources/static/test-ws.js @@ -0,0 +1,48 @@ +var stompClient = null; + +function connect() { + console.log('Connecting...'); + var socket = new SockJS('/seven-wonders-websocket'); + stompClient = Stomp.over(socket); + stompClient.connect({}, function (frame) { + console.log('Connected: ' + frame); + + for (var i = 1; i < 10; i++) { + subscribeTest(stompClient, '/test' + i); + subscribeTest(stompClient, '/topic/test' + i); + subscribeTest(stompClient, '/broadcast/test' + i); + subscribeTest(stompClient, '/queue/test' + i); + subscribeTest(stompClient, '/user/queue/test' + i); + subscribeTest(stompClient, '/user/queue/topic/test' + i); + subscribeTest(stompClient, '/user/queue/broadcast/test' + i); + } + }); +} + +function sendTest(indexes) { + for (var i = 0; i < indexes.length; i++) { + stompClient.send("/app/test" + indexes[i], {}, "test payload " + indexes[i]); + } +} + +function subscribeTest(stompClient, endpoint) { + var id = endpoint.replace(new RegExp('/', 'g'), '') + '-data'; + $("#test-feeds").append('' + endpoint + 'no data received yet'); + stompClient.subscribe(endpoint, function (data) { + console.log("Received event on " + endpoint + ": data.body=" + data.body); + $("#" + id).html('received "' + data.body + '"'); + }); +} + +$(function () { + $("form").on('submit', function (e) { + e.preventDefault(); + }); + $("#send-test").click(function () { + var indexesToSend = $("#test-index-field").val().split(','); + sendTest(indexesToSend); + }); +}); + +// auto-connect +connect(); \ No newline at end of file diff --git a/src/main/resources/static/test.html b/src/main/resources/static/test.html new file mode 100644 index 00000000..93c5d928 --- /dev/null +++ b/src/main/resources/static/test.html @@ -0,0 +1,45 @@ + + + + Seven Wonders + + + + + + + + + + +

Seven Wonders Test Page

+ +

WS messages tests

+ + +
+ + + +
+
+ +

Subscribed feeds

+ + + + + + + + + + +
EndpointData received
+ + + + \ No newline at end of file -- cgit