aboutsummaryrefslogtreecommitdiff
path: root/juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2018-03-21 11:33:25 +0300
committerGravatar Vitaly Takmazov2018-03-21 11:33:25 +0300
commit7509917609578ef535311f5df6e1492a6357851b (patch)
treece0ec6904cea2c045eb2c3185e511d582028b534 /juick-server/src/test/java/com/juick/server/tests/WebsocketClientConfig.java
parent5d139bd9d7b3f65453eef29ef9806c9738891f90 (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.java52
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;
+ }
+}