diff options
Diffstat (limited to 'jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java')
-rw-r--r-- | jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java index 97e34c6625..a710acfd8e 100644 --- a/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java +++ b/jetty-websocket/websocket-server/src/test/java/org/eclipse/jetty/websocket/server/IdleTimeoutTest.java @@ -18,22 +18,15 @@ package org.eclipse.jetty.websocket.server; -import static org.hamcrest.Matchers.*; - -import java.io.IOException; import java.util.concurrent.TimeUnit; -import org.eclipse.jetty.websocket.api.StatusCode; -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.common.frames.TextFrame; import org.eclipse.jetty.websocket.server.blockhead.BlockheadClient; -import org.eclipse.jetty.websocket.server.helper.IncomingFramesCapture; import org.eclipse.jetty.websocket.server.helper.RFCSocket; import org.eclipse.jetty.websocket.servlet.WebSocketServlet; import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory; import org.junit.AfterClass; -import org.junit.Assert; import org.junit.BeforeClass; import org.junit.Test; @@ -84,17 +77,14 @@ public class IdleTimeoutTest // longer than server timeout configured in TimeoutServlet client.sleep(TimeUnit.MILLISECONDS,1000); - // Write to server (the server should be timed out and disconnect now) - client.write(WebSocketFrame.text("Hello")); + // Write to server + // This action is possible, but does nothing. + // Server could be in a half-closed state at this point. + // Where the server read is closed (due to timeout), but the server write is still open. + // The server could not read this frame, if it is in this half closed state + client.write(new TextFrame().setPayload("Hello")); - // now read 1 frame from server (should be close frame) - IncomingFramesCapture capture = client.readFrames(1,TimeUnit.MILLISECONDS,1500); - WebSocketFrame frame = capture.getFrames().poll(); - Assert.assertThat("Was close frame", frame.getOpCode(), is(OpCode.CLOSE)); - CloseInfo close = new CloseInfo(frame); - Assert.assertThat("Close.code", close.getStatusCode(), is(StatusCode.SHUTDOWN)); - Assert.assertThat("Close.reason", close.getReason(), containsString("Idle Timeout")); - + // Expect server to be disconnected at this point client.expectServerDisconnect(); } finally |