diff options
author | Vitaly Takmazov | 2018-03-21 11:33:25 +0300 |
---|---|---|
committer | Vitaly Takmazov | 2018-03-21 11:33:25 +0300 |
commit | 7509917609578ef535311f5df6e1492a6357851b (patch) | |
tree | ce0ec6904cea2c045eb2c3185e511d582028b534 /juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java | |
parent | 5d139bd9d7b3f65453eef29ef9806c9738891f90 (diff) |
server: websocket unit testing
Diffstat (limited to 'juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java')
-rw-r--r-- | juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java b/juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java new file mode 100644 index 00000000..6be8e3c6 --- /dev/null +++ b/juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java @@ -0,0 +1,52 @@ +package com.juick.server.tests; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.CommandLineRunner; +import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; +import org.springframework.boot.web.servlet.server.ServletWebServerFactory; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.socket.client.WebSocketConnectionManager; +import org.springframework.web.socket.client.standard.StandardWebSocketClient; + +import java.util.concurrent.CountDownLatch; +import java.util.concurrent.TimeUnit; + +@Configuration +public class WebsocketClientConfig implements CommandLineRunner { + private static Logger logger = LoggerFactory.getLogger(ServerTests.class); + @Bean + public WebsocketClientHandler handler() { + return new WebsocketClientHandler(latch); + } + @Bean + ServletWebServerFactory servletWebServerFactory(){ + return new TomcatServletWebServerFactory(); + } + @Bean + public WebSocketConnectionManager connectionManager() { + WebSocketConnectionManager manager = new WebSocketConnectionManager(client(), + handler(), + "ws://localhost:8080/ws/"); + manager.setAutoStartup(true); + return manager; + } + + @Bean + public StandardWebSocketClient client() { + return new StandardWebSocketClient(); + } + private final CountDownLatch latch = new CountDownLatch(1); + + @Override + public void run(String... args) throws Exception { + if (latch.await(10, TimeUnit.SECONDS)) { + logger.info("client connected"); + } + } + + public CountDownLatch getLatch() { + return latch; + } +} |