You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2019/07/29 17:08:40 UTC

[tomcat] branch master updated: Refactor to aid re-use

This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/master by this push:
     new d0cfd66  Refactor to aid re-use
d0cfd66 is described below

commit d0cfd667d3cf5943b91dec6e4eb7c445030d9c88
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org