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