diff options
author | Joakim Erdfelt | 2013-10-18 16:39:48 +0000 |
---|---|---|
committer | Joakim Erdfelt | 2013-10-18 16:39:48 +0000 |
commit | 15e32cc9b0a6648422035c49e3da6dd5722a2f9d (patch) | |
tree | 2ce4e231d3253071fb802e629f1fa4fc7f20b6a3 | |
parent | f451a14e0407463a2d44e8de80107a340d0c72b6 (diff) | |
download | org.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.java | 35 |
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(); + } + } } |