org.springframework.messaging.simp.stomp.StompSessionHandlerAdapter Java Examples
The following examples show how to use
org.springframework.messaging.simp.stomp.StompSessionHandlerAdapter.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: WebSocketConfigWebAppTest.java From joal with Apache License 2.0 | 7 votes |
@Test public void shouldMapDestinationToMessageMappingWithDestinationPrefix() throws InterruptedException, ExecutionException, TimeoutException { final WebSocketStompClient stompClient = new WebSocketStompClient(new StandardWebSocketClient()); final StompSession stompSession = stompClient.connect("ws://localhost:" + port + "/" + TestConstant.UI_PATH_PREFIX, new StompSessionHandlerAdapter() { }).get(10, TimeUnit.SECONDS); stompSession.send("/joal/global", null); verify(messagingCallback, timeout(1500).times(1)).global(); stompSession.send("/joal/announce", null); verify(messagingCallback, timeout(1500).times(1)).announce(); stompSession.send("/joal/config", null); verify(messagingCallback, timeout(1500).times(1)).config(); stompSession.send("/joal/torrents", null); verify(messagingCallback, timeout(1500).times(1)).torrents(); stompSession.send("/joal/speed", null); verify(messagingCallback, timeout(1500).times(1)).speed(); }
Example #2
Source File: WebSocketControllerTest.java From spring-boot-vuejs-websockets with MIT License | 6 votes |
@Test public void shouldCreateASubscription() throws Exception { StompSession session = stompClient.connect(WEBSOCKET_URI, new StompSessionHandlerAdapter() { }).get(5, SECONDS); Subscription subscription = session.subscribe(WEBSOCKET_TOPIC, new DefaultStompFrameHandler()); Assert.assertNotNull(subscription.getSubscriptionId()); }
Example #3
Source File: SpringWebSocketTest.java From java-specialagent with Apache License 2.0 | 6 votes |
@Test public void testSend(final MockTracer tracer) { final StompSession stompSession = new DefaultStompSession(new StompSessionHandlerAdapter() {}, new StompHeaders()); try { stompSession.send("endpoint", "Hello"); } catch (final Exception ignore) { } assertEquals(1, tracer.finishedSpans().size()); }
Example #4
Source File: SpringWebSocketITest.java From java-specialagent with Apache License 2.0 | 6 votes |
@Bean public CommandLineRunner commandLineRunner() { return new CommandLineRunner() { @Override public void run(final String ... args) throws Exception { final String url = "ws://localhost:8080/test-websocket"; final WebSocketStompClient stompClient = new WebSocketStompClient(new SockJsClient(createTransportClient())); stompClient.setMessageConverter(new MappingJackson2MessageConverter()); final StompSession stompSession = stompClient.connect(url, new StompSessionHandlerAdapter() { }).get(10, TimeUnit.SECONDS); stompSession.subscribe(SUBSCRIBE_GREETINGS_ENDPOINT, new GreetingStompFrameHandler()); stompSession.send(SEND_HELLO_MESSAGE_ENDPOINT, "Hello"); } }; }
Example #5
Source File: AuthChannelInterceptorAdapterWebAppTest.java From joal with Apache License 2.0 | 6 votes |
@Test public void shouldCallAuthServiceWhenUserTriesToConnect() throws InterruptedException, ExecutionException, TimeoutException { final WebSocketStompClient stompClient = new WebSocketStompClient(new StandardWebSocketClient()); final StompHeaders stompHeaders = new StompHeaders(); stompHeaders.add(AuthChannelInterceptorAdapter.USERNAME_HEADER, "john"); stompHeaders.add(AuthChannelInterceptorAdapter.TOKEN_HEADER, TestConstant.UI_SECRET_TOKEN); stompClient.connect("ws://localhost:" + port + "/" + TestConstant.UI_PATH_PREFIX, new WebSocketHttpHeaders(), stompHeaders, new StompSessionHandlerAdapter() { }).get(10, TimeUnit.SECONDS); verify(authenticatorService, times(1)).getAuthenticatedOrFail("john", TestConstant.UI_SECRET_TOKEN); }
Example #6
Source File: SpringWebsocketTracingTest.java From java-spring-cloud with Apache License 2.0 | 5 votes |
@Test public void testTracedWebsocketSession() throws URISyntaxException, InterruptedException, ExecutionException, TimeoutException { WebSocketStompClient stompClient = new WebSocketStompClient( new SockJsClient(createTransportClient())); stompClient.setMessageConverter(new MappingJackson2MessageConverter()); StompSession stompSession = stompClient.connect(url, new StompSessionHandlerAdapter() { }).get(1, TimeUnit.SECONDS); stompSession.subscribe(SUBSCRIBE_GREETINGS_ENDPOINT, new GreetingStompFrameHandler()); stompSession.send(SEND_HELLO_MESSAGE_ENDPOINT, new HelloMessage("Hi")); await().until(() -> mockTracer.finishedSpans().size() == 3); List<MockSpan> mockSpans = mockTracer.finishedSpans(); // test same trace assertEquals(mockSpans.get(0).context().traceId(), mockSpans.get(1).context().traceId()); assertEquals(mockSpans.get(0).context().traceId(), mockSpans.get(2).context().traceId()); List<MockSpan> sendHelloSpans = mockSpans.stream() .filter(s -> s.operationName().equals(SEND_HELLO_MESSAGE_ENDPOINT)) .collect(Collectors.toList()); List<MockSpan> subscribeGreetingsEndpointSpans = mockSpans.stream().filter(s -> s.operationName().equals(SUBSCRIBE_GREETINGS_ENDPOINT)) .collect(Collectors.toList()); List<MockSpan> greetingControllerSpans = mockSpans.stream().filter(s -> s.operationName().equals(GreetingController.DOING_WORK)) .collect(Collectors.toList()); assertEquals(sendHelloSpans.size(), 1); assertEquals(subscribeGreetingsEndpointSpans.size(), 1); assertEquals(greetingControllerSpans.size(), 1); assertEquals(sendHelloSpans.get(0).context().spanId(), subscribeGreetingsEndpointSpans.get(0).parentId()); assertEquals(sendHelloSpans.get(0).context().spanId(), greetingControllerSpans.get(0).parentId()); }
Example #7
Source File: WebSecurityConfigWebAppTest.java From joal with Apache License 2.0 | 5 votes |
@Test public void shouldPermitOnPrefixedUriForWebsocketHandshakeEndpoint() throws InterruptedException, ExecutionException, TimeoutException { final WebSocketStompClient stompClient = new WebSocketStompClient(new StandardWebSocketClient()); final StompSession stompSession = stompClient.connect("ws://localhost:" + port + "/" + TestConstant.UI_PATH_PREFIX, new StompSessionHandlerAdapter() { }).get(10, TimeUnit.SECONDS); assertThat(stompSession.isConnected()).isTrue(); }
Example #8
Source File: WebSocketConfigWebAppTest.java From joal with Apache License 2.0 | 5 votes |
@Test public void shouldBeAbleToConnectToAppPrefix() throws InterruptedException, ExecutionException, TimeoutException { final WebSocketStompClient stompClient = new WebSocketStompClient(new StandardWebSocketClient()); final StompSession stompSession = stompClient.connect("ws://localhost:" + port + "/" + TestConstant.UI_PATH_PREFIX, new StompSessionHandlerAdapter() { }).get(1000, TimeUnit.SECONDS); assertThat(stompSession.isConnected()).isTrue(); }
Example #9
Source File: WebSocketConfigWebAppTest.java From joal with Apache License 2.0 | 5 votes |
@Test public void shouldNotBeAbleToConnectWithoutAppPrefix() { final WebSocketStompClient stompClient = new WebSocketStompClient(new StandardWebSocketClient()); assertThatThrownBy(() -> stompClient.connect("ws://localhost:" + port + "/", new StompSessionHandlerAdapter() { }).get(1000, TimeUnit.SECONDS) ) .isInstanceOf(ExecutionException.class) .hasMessageContaining("The HTTP response from the server [404]"); }
Example #10
Source File: WebSocketConfigWebAppTest.java From joal with Apache License 2.0 | 5 votes |
@Test public void shouldNotMapDestinationToMessageMappingWithoutDestinationPrefix() throws InterruptedException, ExecutionException, TimeoutException { final WebSocketStompClient stompClient = new WebSocketStompClient(new StandardWebSocketClient()); final StompSession stompSession = stompClient.connect("ws://localhost:" + port + "/" + TestConstant.UI_PATH_PREFIX, new StompSessionHandlerAdapter() { }).get(10, TimeUnit.SECONDS); stompSession.send("/global", null); Thread.sleep(1500); verify(messagingCallback, timeout(1500).times(0)).global(); }
Example #11
Source File: AbstractStreamControllerTest.java From kafka-webview with MIT License | 4 votes |
/** * Attempts to make a websocket connection as an authenticated user, and stream values from a view. */ @Test public void test_authenticated_webSocketConnection() throws InterruptedException { // Create a count down latch to know when we have consumed all of our records. final CountDownLatch countDownLatch = new CountDownLatch(kafkaRecords.size()); // Create a list we can add our consumed records to final List<Map> consumedRecords = new ArrayList<>(); // Login to instance. final UserLoginDetails userLoginDetails = login(); final WebSocketHttpHeaders socketHttpHeaders = new WebSocketHttpHeaders(userLoginDetails.getHttpHeaders()); final long userId = userLoginDetails.getUserId(); // Create websocket client final SockJsClient sockJsClient = new SockJsClient(createTransportClient()); final WebSocketStompClient stompClient = new WebSocketStompClient(sockJsClient); stompClient.setMessageConverter(new MappingJackson2MessageConverter()); // Connect to websocket stompClient.connect(WEBSOCKET_URL, socketHttpHeaders, new StompSessionHandlerAdapter() { /** * After we connect, subscribe to our view. */ @Override public void afterConnected(final StompSession session, final StompHeaders connectedHeaders) { session.setAutoReceipt(false); subscribeToResults(session, view.getId(), userId, countDownLatch, consumedRecords); try { requestNewStream(session, view.getId()); } catch (InterruptedException e) { throw new RuntimeException(e); } } }, port); // Start the client. stompClient.start(); // Define a max time of 15 seconds Duration testTimeout = Duration.ofSeconds(15); while (countDownLatch.getCount() > 0) { // Sleep for a period and recheck. Thread.sleep(1000L); testTimeout = testTimeout.minusSeconds(1); if (testTimeout.isNegative()) { fail("Test timed out!"); } } // Success! assertEquals("Found all messages!", consumedRecords.size(), kafkaRecords.size()); }