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 f5c9f08a810..14902e233a1 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 d94d27e546a..4d711360513 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 92800c007c4..705891a3572 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 1d02244db27..f2e0eec1224 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() {