org.apache.tomcat.websocket.TesterMessageCountClient.SleepingText Java Examples
The following examples show how to use
org.apache.tomcat.websocket.TesterMessageCountClient.SleepingText.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: TestWebSocketFrameClientSSL.java From Tomcat8-Source-Read with MIT License | 4 votes |
@Test public void testBug56032() throws Exception { Tomcat tomcat = getTomcatInstance(); // No file system docBase required Context ctx = tomcat.addContext("", null); ctx.addApplicationListener(TesterFirehoseServer.Config.class.getName()); Tomcat.addServlet(ctx, "default", new DefaultServlet()); ctx.addServletMappingDecoded("/", "default"); TesterSupport.initSsl(tomcat); tomcat.start(); WebSocketContainer wsContainer = ContainerProvider.getWebSocketContainer(); ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build(); clientEndpointConfig.getUserProperties().put( Constants.SSL_CONTEXT_PROPERTY, createSSLContext()); Session wsSession = wsContainer.connectToServer( TesterProgrammaticEndpoint.class, clientEndpointConfig, new URI("wss://localhost:" + getPort() + TesterFirehoseServer.Config.PATH)); // Process incoming messages very slowly MessageHandler handler = new SleepingText(5000); wsSession.addMessageHandler(handler); wsSession.getBasicRemote().sendText("Hello"); // Wait long enough for the buffers to fill and the send to timeout int count = 0; int limit = TesterFirehoseServer.WAIT_TIME_MILLIS / 100; System.out.println("Waiting for server to report an error"); while (TesterFirehoseServer.Endpoint.getErrorCount() == 0 && count < limit) { Thread.sleep(100); count ++; } if (TesterFirehoseServer.Endpoint.getErrorCount() == 0) { Assert.fail("No error reported by Endpoint when timeout was expected"); } // Wait up to another 10 seconds for the connection to be closed - // should be a lot faster. System.out.println("Waiting for connection to be closed"); count = 0; limit = (TesterFirehoseServer.SEND_TIME_OUT_MILLIS * 2) / 100; while (TesterFirehoseServer.Endpoint.getOpenConnectionCount() != 0 && count < limit) { Thread.sleep(100); count ++; } int openConnectionCount = TesterFirehoseServer.Endpoint.getOpenConnectionCount(); if (openConnectionCount != 0) { Assert.fail("There are [" + openConnectionCount + "] connections still open"); } // Close the client session. wsSession.close(); }
Example #2
Source File: TestWebSocketFrameClientSSL.java From Tomcat7.0.67 with Apache License 2.0 | 4 votes |
@Test public void testBug56032() throws Exception { // TODO Investigate options to get this test to pass with the HTTP BIO // connector. Assume.assumeFalse( "Skip this test on BIO. TODO: investigate options to make it pass with HTTP BIO connector", getTomcatInstance().getConnector().getProtocolHandlerClassName().equals( "org.apache.coyote.http11.Http11Protocol")); Tomcat tomcat = getTomcatInstance(); // No file system docBase required Context ctx = tomcat.addContext("", null); ctx.addApplicationListener(TesterFirehoseServer.Config.class.getName()); Tomcat.addServlet(ctx, "default", new DefaultServlet()); ctx.addServletMapping("/", "default"); TesterSupport.initSsl(tomcat); tomcat.start(); WebSocketContainer wsContainer = ContainerProvider.getWebSocketContainer(); ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build(); clientEndpointConfig.getUserProperties().put( WsWebSocketContainer.SSL_TRUSTSTORE_PROPERTY, "test/org/apache/tomcat/util/net/ca.jks"); Session wsSession = wsContainer.connectToServer( TesterProgrammaticEndpoint.class, clientEndpointConfig, new URI("wss://localhost:" + getPort() + TesterFirehoseServer.Config.PATH)); // Process incoming messages very slowly MessageHandler handler = new SleepingText(5000); wsSession.addMessageHandler(handler); wsSession.getBasicRemote().sendText("Hello"); // Wait long enough for the buffers to fill and the send to timeout int count = 0; int limit = TesterFirehoseServer.WAIT_TIME_MILLIS / 100; System.err.println("Waiting for server to report an error"); while (TesterFirehoseServer.Endpoint.getErrorCount() == 0 && count < limit) { Thread.sleep(100); count ++; } if (TesterFirehoseServer.Endpoint.getErrorCount() == 0) { Assert.fail("No error reported by Endpoint when timeout was expected"); } // Wait up to another 20 seconds for the connection to be closed System.err.println("Waiting for connection to be closed"); count = 0; limit = (TesterFirehoseServer.SEND_TIME_OUT_MILLIS * 4) / 100; while (TesterFirehoseServer.Endpoint.getOpenConnectionCount() != 0 && count < limit) { Thread.sleep(100); count ++; } int openConnectionCount = TesterFirehoseServer.Endpoint.getOpenConnectionCount(); if (openConnectionCount != 0) { Assert.fail("There are [" + openConnectionCount + "] connections still open"); } }
Example #3
Source File: TestWebSocketFrameClientSSL.java From tomcatsrc with Apache License 2.0 | 4 votes |
@Test public void testBug56032() throws Exception { // TODO Investigate options to get this test to pass with the HTTP BIO // connector. Assume.assumeFalse( "Skip this test on BIO. TODO: investigate options to make it pass with HTTP BIO connector", getTomcatInstance().getConnector().getProtocolHandlerClassName().equals( "org.apache.coyote.http11.Http11Protocol")); Tomcat tomcat = getTomcatInstance(); // No file system docBase required Context ctx = tomcat.addContext("", null); ctx.addApplicationListener(TesterFirehoseServer.Config.class.getName()); Tomcat.addServlet(ctx, "default", new DefaultServlet()); ctx.addServletMapping("/", "default"); TesterSupport.initSsl(tomcat); tomcat.start(); WebSocketContainer wsContainer = ContainerProvider.getWebSocketContainer(); ClientEndpointConfig clientEndpointConfig = ClientEndpointConfig.Builder.create().build(); clientEndpointConfig.getUserProperties().put( WsWebSocketContainer.SSL_TRUSTSTORE_PROPERTY, "test/org/apache/tomcat/util/net/ca.jks"); Session wsSession = wsContainer.connectToServer( TesterProgrammaticEndpoint.class, clientEndpointConfig, new URI("wss://localhost:" + getPort() + TesterFirehoseServer.Config.PATH)); // Process incoming messages very slowly MessageHandler handler = new SleepingText(5000); wsSession.addMessageHandler(handler); wsSession.getBasicRemote().sendText("Hello"); // Wait long enough for the buffers to fill and the send to timeout int count = 0; int limit = TesterFirehoseServer.WAIT_TIME_MILLIS / 100; System.err.println("Waiting for server to report an error"); while (TesterFirehoseServer.Endpoint.getErrorCount() == 0 && count < limit) { Thread.sleep(100); count ++; } if (TesterFirehoseServer.Endpoint.getErrorCount() == 0) { Assert.fail("No error reported by Endpoint when timeout was expected"); } // Wait up to another 20 seconds for the connection to be closed System.err.println("Waiting for connection to be closed"); count = 0; limit = (TesterFirehoseServer.SEND_TIME_OUT_MILLIS * 4) / 100; while (TesterFirehoseServer.Endpoint.getOpenConnectionCount() != 0 && count < limit) { Thread.sleep(100); count ++; } int openConnectionCount = TesterFirehoseServer.Endpoint.getOpenConnectionCount(); if (openConnectionCount != 0) { Assert.fail("There are [" + openConnectionCount + "] connections still open"); } // Close the client session. wsSession.close(); }