Skip to content

Commit b2bc98a

Browse files
committed
Refactor test to use less memory
1 parent e9c7cc4 commit b2bc98a

File tree

2 files changed

+18
-6
lines changed

2 files changed

+18
-6
lines changed

test/org/apache/tomcat/websocket/TestWebSocketFrameClient.java

+2-6
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ public void beforeRequest(Map<String, List<String>> headers) {
7777
Session wsSession = wsContainer.connectToServer(TesterProgrammaticEndpoint.class, clientEndpointConfig,
7878
new URI("ws://localhost:" + getPort() + TesterFirehoseServer.PATH));
7979
CountDownLatch latch = new CountDownLatch(TesterFirehoseServer.MESSAGE_COUNT);
80-
BasicText handler = new BasicText(latch);
80+
BasicText handler = new BasicText(latch, TesterFirehoseServer.MESSAGE);
8181
wsSession.addMessageHandler(handler);
8282
wsSession.getBasicRemote().sendText("Hello");
8383

@@ -87,11 +87,7 @@ public void beforeRequest(Map<String, List<String>> headers) {
8787
// if the right number of messages arrived
8888
handler.getLatch().await(TesterFirehoseServer.WAIT_TIME_MILLIS, TimeUnit.MILLISECONDS);
8989

90-
Queue<String> messages = handler.getMessages();
91-
Assert.assertEquals(TesterFirehoseServer.MESSAGE_COUNT, messages.size());
92-
for (String message : messages) {
93-
Assert.assertEquals(TesterFirehoseServer.MESSAGE, message);
94-
}
90+
Assert.assertEquals(TesterFirehoseServer.MESSAGE_COUNT, handler.getMessageCount());
9591
}
9692

9793
@Test

test/org/apache/tomcat/websocket/TesterMessageCountClient.java

+16
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import java.util.concurrent.CopyOnWriteArrayList;
2323
import java.util.concurrent.CountDownLatch;
2424
import java.util.concurrent.LinkedBlockingQueue;
25+
import java.util.concurrent.atomic.AtomicInteger;
2526

2627
import javax.websocket.ClientEndpoint;
2728
import javax.websocket.CloseReason;
@@ -144,6 +145,7 @@ public void onMessage(ByteBuffer message) {
144145
public static class BasicText extends BasicHandler<String> {
145146

146147
private final String expected;
148+
private final AtomicInteger messageCount;
147149

148150
public BasicText(CountDownLatch latch) {
149151
this(latch, null);
@@ -152,6 +154,11 @@ public BasicText(CountDownLatch latch) {
152154
public BasicText(CountDownLatch latch, String expected) {
153155
super(latch);
154156
this.expected = expected;
157+
if (expected == null) {
158+
messageCount = null;
159+
} else {
160+
messageCount = new AtomicInteger(0);
161+
}
155162
}
156163

157164
@Override
@@ -162,11 +169,20 @@ public void onMessage(String message) {
162169
if (!expected.equals(message)) {
163170
throw new IllegalStateException("Expected: [" + expected + "]\r\n" + "Was: [" + message + "]");
164171
}
172+
messageCount.incrementAndGet();
165173
}
166174
if (getLatch() != null) {
167175
getLatch().countDown();
168176
}
169177
}
178+
179+
public int getMessageCount() {
180+
if (expected == null) {
181+
return getMessages().size();
182+
} else {
183+
return messageCount.get();
184+
}
185+
}
170186
}
171187

172188
public static class SleepingText implements MessageHandler.Whole<String> {

0 commit comments

Comments
 (0)