From 617863ae4b70ca20c1ad22e22282d86d9efcf7b6 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Tue, 20 Aug 2019 12:20:26 +0200 Subject: [PATCH] Polish WebSocket integration tests --- .../socket/AbstractWebSocketIntegrationTests.java | 15 ++++++++++++++- .../web/socket/WebSocketHandshakeTests.java | 12 ------------ .../annotation/WebSocketConfigurationTests.java | 15 --------------- .../messaging/StompWebSocketIntegrationTests.java | 13 ------------- 4 files changed, 14 insertions(+), 41 deletions(-) diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java index f5c9f08a81..14902e233a 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/AbstractWebSocketIntegrationTests.java @@ -22,12 +22,14 @@ import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.util.HashMap; import java.util.Map; +import java.util.stream.Stream; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.TestInfo; import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; import org.springframework.context.Lifecycle; @@ -36,12 +38,16 @@ import org.springframework.context.annotation.Configuration; import org.springframework.util.concurrent.ListenableFuture; import org.springframework.web.context.support.AnnotationConfigWebApplicationContext; import org.springframework.web.socket.client.WebSocketClient; +import org.springframework.web.socket.client.jetty.JettyWebSocketClient; +import org.springframework.web.socket.client.standard.StandardWebSocketClient; import org.springframework.web.socket.server.RequestUpgradeStrategy; import org.springframework.web.socket.server.jetty.JettyRequestUpgradeStrategy; import org.springframework.web.socket.server.standard.TomcatRequestUpgradeStrategy; import org.springframework.web.socket.server.standard.UndertowRequestUpgradeStrategy; import org.springframework.web.socket.server.support.DefaultHandshakeHandler; +import static org.junit.jupiter.params.provider.Arguments.arguments; + /** * Base class for WebSocket integration tests. * @@ -58,11 +64,18 @@ public abstract class AbstractWebSocketIntegrationTests { upgradeStrategyConfigTypes.put(UndertowTestServer.class, UndertowUpgradeStrategyConfig.class); } + static Stream argumentsFactory() { + return Stream.of( + arguments(new JettyWebSocketTestServer(), new JettyWebSocketClient()), + arguments(new TomcatWebSocketTestServer(), new StandardWebSocketClient()), + arguments(new UndertowTestServer(), new StandardWebSocketClient())); + } + @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) @ParameterizedTest(name = "server [{0}], client [{1}]") - @MethodSource("arguments") + @MethodSource("argumentsFactory") protected @interface ParameterizedWebSocketTest { } diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketHandshakeTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketHandshakeTests.java index d94d27e546..4d71136051 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketHandshakeTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/WebSocketHandshakeTests.java @@ -18,7 +18,6 @@ package org.springframework.web.socket; import java.net.URI; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -29,8 +28,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.client.WebSocketClient; -import org.springframework.web.socket.client.jetty.JettyWebSocketClient; -import org.springframework.web.socket.client.standard.StandardWebSocketClient; import org.springframework.web.socket.config.annotation.EnableWebSocket; import org.springframework.web.socket.config.annotation.WebSocketConfigurer; import org.springframework.web.socket.config.annotation.WebSocketHandlerRegistry; @@ -49,15 +46,6 @@ import static org.assertj.core.api.Assertions.assertThat; */ class WebSocketHandshakeTests extends AbstractWebSocketIntegrationTests { - static Iterable arguments() { - return Arrays.asList(new Object[][] { - {new JettyWebSocketTestServer(), new JettyWebSocketClient()}, - {new TomcatWebSocketTestServer(), new StandardWebSocketClient()}, - {new UndertowTestServer(), new JettyWebSocketClient()} - }); - } - - @Override protected Class[] getAnnotatedConfigClasses() { return new Class[] {TestConfig.class}; diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java index 92800c007c..705891a357 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/config/annotation/WebSocketConfigurationTests.java @@ -16,7 +16,6 @@ package org.springframework.web.socket.config.annotation; -import java.util.Arrays; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; @@ -26,14 +25,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.socket.AbstractWebSocketIntegrationTests; -import org.springframework.web.socket.JettyWebSocketTestServer; -import org.springframework.web.socket.TomcatWebSocketTestServer; -import org.springframework.web.socket.UndertowTestServer; import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.WebSocketTestServer; import org.springframework.web.socket.client.WebSocketClient; -import org.springframework.web.socket.client.jetty.JettyWebSocketClient; -import org.springframework.web.socket.client.standard.StandardWebSocketClient; import org.springframework.web.socket.handler.AbstractWebSocketHandler; import org.springframework.web.socket.server.HandshakeHandler; import org.springframework.web.socket.sockjs.transport.handler.WebSocketTransportHandler; @@ -48,15 +42,6 @@ import static org.assertj.core.api.Assertions.assertThat; */ class WebSocketConfigurationTests extends AbstractWebSocketIntegrationTests { - static Iterable arguments() { - return Arrays.asList(new Object[][] { - {new JettyWebSocketTestServer(), new JettyWebSocketClient()}, - {new TomcatWebSocketTestServer(), new StandardWebSocketClient()}, - {new UndertowTestServer(), new StandardWebSocketClient()} - }); - } - - @Override protected Class[] getAnnotatedConfigClasses() { return new Class[] {TestConfig.class}; diff --git a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompWebSocketIntegrationTests.java b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompWebSocketIntegrationTests.java index 1d02244db2..f2e0eec122 100644 --- a/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompWebSocketIntegrationTests.java +++ b/spring-websocket/src/test/java/org/springframework/web/socket/messaging/StompWebSocketIntegrationTests.java @@ -41,15 +41,10 @@ import org.springframework.messaging.support.AbstractSubscribableChannel; import org.springframework.messaging.support.ExecutorSubscribableChannel; import org.springframework.stereotype.Controller; import org.springframework.web.socket.AbstractWebSocketIntegrationTests; -import org.springframework.web.socket.JettyWebSocketTestServer; import org.springframework.web.socket.TextMessage; -import org.springframework.web.socket.TomcatWebSocketTestServer; -import org.springframework.web.socket.UndertowTestServer; import org.springframework.web.socket.WebSocketSession; import org.springframework.web.socket.WebSocketTestServer; import org.springframework.web.socket.client.WebSocketClient; -import org.springframework.web.socket.client.jetty.JettyWebSocketClient; -import org.springframework.web.socket.client.standard.StandardWebSocketClient; import org.springframework.web.socket.config.annotation.DelegatingWebSocketMessageBrokerConfiguration; import org.springframework.web.socket.config.annotation.StompEndpointRegistry; import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer; @@ -69,14 +64,6 @@ class StompWebSocketIntegrationTests extends AbstractWebSocketIntegrationTests { private static final long TIMEOUT = 10; - static Object[][] arguments() { - return new Object[][] { - {new JettyWebSocketTestServer(), new JettyWebSocketClient()}, - {new TomcatWebSocketTestServer(), new StandardWebSocketClient()}, - {new UndertowTestServer(), new StandardWebSocketClient()} - }; - } - @Override protected Class[] getAnnotatedConfigClasses() {