This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 8.5.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/8.5.x by this push: new 276450e Refactor to aid re-use 276450e is described below commit 276450ecfee85b157222ff48aecdaf58348dfacc Author: Mark Thomas <ma...@apache.org> AuthorDate: Mon Jul 29 18:08:09 2019 +0100 Refactor to aid re-use --- .../apache/tomcat/websocket/WebSocketBaseTest.java | 21 +++++++++++ .../apache/tomcat/websocket/server/TestClose.java | 44 ++++++---------------- ...esterWsCloseClient.java => TesterWsClient.java} | 12 ++++-- 3 files changed, 41 insertions(+), 36 deletions(-) diff --git a/test/org/apache/tomcat/websocket/WebSocketBaseTest.java b/test/org/apache/tomcat/websocket/WebSocketBaseTest.java index 56c27ef..3d55c9d 100644 --- a/test/org/apache/tomcat/websocket/WebSocketBaseTest.java +++ b/test/org/apache/tomcat/websocket/WebSocketBaseTest.java @@ -19,10 +19,31 @@ package org.apache.tomcat.websocket; import org.junit.After; import org.junit.Assert; +import org.apache.catalina.Context; +import org.apache.catalina.LifecycleException; +import org.apache.catalina.servlets.DefaultServlet; +import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.TomcatBaseTest; +import org.apache.tomcat.websocket.server.WsContextListener; public abstract class WebSocketBaseTest extends TomcatBaseTest { + protected Tomcat startServer( + final Class<? extends WsContextListener> configClass) + throws LifecycleException { + + Tomcat tomcat = getTomcatInstance(); + // No file system docBase required + Context ctx = tomcat.addContext("", null); + ctx.addApplicationListener(configClass.getName()); + Tomcat.addServlet(ctx, "default", new DefaultServlet()); + ctx.addServletMappingDecoded("/", "default"); + + tomcat.start(); + return tomcat; + } + + @After public void checkBackgroundProcessHasStopped() throws Exception { // Need to stop Tomcat to ensure background processed have been stopped. diff --git a/test/org/apache/tomcat/websocket/server/TestClose.java b/test/org/apache/tomcat/websocket/server/TestClose.java index cc6360a..30c18bb 100644 --- a/test/org/apache/tomcat/websocket/server/TestClose.java +++ b/test/org/apache/tomcat/websocket/server/TestClose.java @@ -37,10 +37,6 @@ import org.junit.Assume; import org.junit.Before; import org.junit.Test; -import org.apache.catalina.Context; -import org.apache.catalina.LifecycleException; -import org.apache.catalina.servlets.DefaultServlet; -import org.apache.catalina.startup.Tomcat; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.websocket.WebSocketBaseTest; @@ -127,7 +123,7 @@ public class TestClose extends WebSocketBaseTest { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); client.closeSocket(); @@ -139,7 +135,7 @@ public class TestClose extends WebSocketBaseTest { public void testTcpReset() throws Exception { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); client.forceCloseSocket(); @@ -153,7 +149,7 @@ public class TestClose extends WebSocketBaseTest { public void testWsCloseThenTcpClose() throws Exception { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); client.sendCloseFrame(CloseCodes.GOING_AWAY); client.closeSocket(); @@ -166,7 +162,7 @@ public class TestClose extends WebSocketBaseTest { public void testWsCloseThenTcpReset() throws Exception { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); client.sendCloseFrame(CloseCodes.GOING_AWAY); client.forceCloseSocket(); @@ -190,9 +186,9 @@ public class TestClose extends WebSocketBaseTest { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); - client.sendMessage("Test"); + client.sendTextMessage("Test"); awaitLatch(events.onMessageCalled, "onMessage not called"); client.closeSocket(); @@ -206,9 +202,9 @@ public class TestClose extends WebSocketBaseTest { public void testTcpResetInOnMessage() throws Exception { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); - client.sendMessage("Test"); + client.sendTextMessage("Test"); awaitLatch(events.onMessageCalled, "onMessage not called"); client.forceCloseSocket(); @@ -239,9 +235,9 @@ public class TestClose extends WebSocketBaseTest { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); - client.sendMessage("Test"); + client.sendTextMessage("Test"); awaitLatch(events.onMessageCalled, "onMessage not called"); client.sendCloseFrame(CloseCodes.NORMAL_CLOSURE); @@ -258,9 +254,9 @@ public class TestClose extends WebSocketBaseTest { startServer(TestEndpointConfig.class); - TesterWsCloseClient client = new TesterWsCloseClient("localhost", getPort()); + TesterWsClient client = new TesterWsClient("localhost", getPort()); client.httpUpgrade(BaseEndpointConfig.PATH); - client.sendMessage("Test"); + client.sendTextMessage("Test"); awaitLatch(events.onMessageCalled, "onMessage not called"); client.sendCloseFrame(CloseCodes.NORMAL_CLOSURE); @@ -331,22 +327,6 @@ public class TestClose extends WebSocketBaseTest { } - private Tomcat startServer( - final Class<? extends WsContextListener> configClass) - throws LifecycleException { - - Tomcat tomcat = getTomcatInstance(); - // No file system docBase required - Context ctx = tomcat.addContext("", null); - ctx.addApplicationListener(configClass.getName()); - Tomcat.addServlet(ctx, "default", new DefaultServlet()); - ctx.addServletMappingDecoded("/", "default"); - - tomcat.start(); - return tomcat; - } - - public abstract static class BaseEndpointConfig extends TesterEndpointConfig { public static final String PATH = "/test"; diff --git a/test/org/apache/tomcat/websocket/server/TesterWsCloseClient.java b/test/org/apache/tomcat/websocket/server/TesterWsClient.java similarity index 92% rename from test/org/apache/tomcat/websocket/server/TesterWsCloseClient.java rename to test/org/apache/tomcat/websocket/server/TesterWsClient.java index f55685c..01cdbc7 100644 --- a/test/org/apache/tomcat/websocket/server/TesterWsCloseClient.java +++ b/test/org/apache/tomcat/websocket/server/TesterWsClient.java @@ -28,14 +28,14 @@ import javax.websocket.CloseReason.CloseCode; * A client for testing Websocket behavior that differs from standard client * behavior. */ -public class TesterWsCloseClient { +public class TesterWsClient { private static final byte[] maskingKey = new byte[] { 0x12, 0x34, 0x56, 0x78 }; private final Socket socket; - public TesterWsCloseClient(String host, int port) throws Exception { + public TesterWsClient(String host, int port) throws Exception { this.socket = new Socket(host, port); // Set read timeout in case of failure so test doesn't hang socket.setSoTimeout(2000); @@ -51,8 +51,12 @@ public class TesterWsCloseClient { readUpgradeResponse(); } - public void sendMessage(String text) throws IOException { - write(createFrame(true, 1, text.getBytes(StandardCharsets.UTF_8))); + public void sendTextMessage(String text) throws IOException { + sendTextMessage(text.getBytes(StandardCharsets.UTF_8)); + } + + public void sendTextMessage(byte[] utf8Bytes) throws IOException { + write(createFrame(true, 1, utf8Bytes)); } public void sendCloseFrame(CloseCode closeCode) throws IOException { --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org