Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoakim Erdfelt2013-10-18 16:39:48 +0000
committerJoakim Erdfelt2013-10-18 16:39:48 +0000
commit15e32cc9b0a6648422035c49e3da6dd5722a2f9d (patch)
tree2ce4e231d3253071fb802e629f1fa4fc7f20b6a3
parentf451a14e0407463a2d44e8de80107a340d0c72b6 (diff)
downloadorg.eclipse.jetty.project-15e32cc9b0a6648422035c49e3da6dd5722a2f9d.tar.gz
org.eclipse.jetty.project-15e32cc9b0a6648422035c49e3da6dd5722a2f9d.tar.xz
org.eclipse.jetty.project-15e32cc9b0a6648422035c49e3da6dd5722a2f9d.zip
419814 - Annotation properties maxMessageSize and inputBufferSize don't work
+ Adding extra testcase for maxMessageSize
-rw-r--r--jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java35
1 files changed, 34 insertions, 1 deletions
diff --git a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java
index 2db4a48e2d..e2f8d92eec 100644
--- a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java
+++ b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/AnnotatedMaxMessageSizeTest.java
@@ -22,12 +22,16 @@ import static org.hamcrest.Matchers.*;
import java.io.IOException;
import java.net.URI;
+import java.util.Arrays;
import java.util.concurrent.TimeUnit;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.websocket.api.StatusCode;
import org.eclipse.jetty.websocket.api.UpgradeRequest;
import org.eclipse.jetty.websocket.api.UpgradeResponse;
+import org.eclipse.jetty.websocket.common.CloseInfo;
+import org.eclipse.jetty.websocket.common.OpCode;
import org.eclipse.jetty.websocket.common.WebSocketFrame;
import org.eclipse.jetty.websocket.server.blockhead.BlockheadClient;
import org.eclipse.jetty.websocket.server.examples.echo.BigEchoSocket;
@@ -87,7 +91,7 @@ public class AnnotatedMaxMessageSizeTest
}
@Test
- public void testEcho() throws IOException, Exception
+ public void testEchoGood() throws IOException, Exception
{
BlockheadClient client = new BlockheadClient(serverUri);
try
@@ -111,4 +115,33 @@ public class AnnotatedMaxMessageSizeTest
client.close();
}
}
+
+ @Test
+ public void testEchoTooBig() throws IOException, Exception
+ {
+ BlockheadClient client = new BlockheadClient(serverUri);
+ try
+ {
+ client.setProtocols("echo");
+ client.connect();
+ client.sendStandardRequest();
+ client.expectUpgradeResponse();
+
+ // Generate text frame
+ byte buf[] = new byte[90*1024]; // buffer bigger than maxMessageSize
+ Arrays.fill(buf,(byte)'x');
+ client.write(WebSocketFrame.text().setPayload(buf));
+
+ // Read frame (hopefully close frame saying its too large)
+ IncomingFramesCapture capture = client.readFrames(1,TimeUnit.MILLISECONDS,500);
+ WebSocketFrame tf = capture.getFrames().poll();
+ Assert.assertThat("Frame is close", tf.getOpCode(), is(OpCode.CLOSE));
+ CloseInfo close = new CloseInfo(tf);
+ Assert.assertThat("Close Code", close.getStatusCode(), is(StatusCode.MESSAGE_TOO_LARGE));
+ }
+ finally
+ {
+ client.close();
+ }
+ }
}

Back to the top