Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2010-12-09 16:49:46 +0000
committerGreg Wilkins2010-12-09 16:49:46 +0000
commit312cf416ec9d7118b7a0f1b3ade17857bfcdb986 (patch)
tree0dd6e5a05d6244fe7d9f4e787824b5823a9cb26c /jetty-server/src
parent703aca344906a0b64c44a241b35d5849a8df753f (diff)
downloadorg.eclipse.jetty.project-312cf416ec9d7118b7a0f1b3ade17857bfcdb986.tar.gz
org.eclipse.jetty.project-312cf416ec9d7118b7a0f1b3ade17857bfcdb986.tar.xz
org.eclipse.jetty.project-312cf416ec9d7118b7a0f1b3ade17857bfcdb986.zip
minor cleanups and test improvements
git-svn-id: svn+ssh://dev.eclipse.org/svnroot/rt/org.eclipse.jetty/jetty/trunk@2603 7e9141cc-0065-0410-87d8-b60c137991c4
Diffstat (limited to 'jetty-server/src')
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/BlockingChannelTimeoutTest.java2
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/ConnectorTimeoutTest.java139
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/SelectChannelTimeoutTest.java2
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/SocketTimeoutTest.java2
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSelectChannelTimeoutTest.java2
-rw-r--r--jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSocketTimeoutTest.java7
6 files changed, 140 insertions, 14 deletions
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/BlockingChannelTimeoutTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/BlockingChannelTimeoutTest.java
index 912711eff3..2a2c90621f 100644
--- a/jetty-server/src/test/java/org/eclipse/jetty/server/BlockingChannelTimeoutTest.java
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/BlockingChannelTimeoutTest.java
@@ -23,7 +23,7 @@ public class BlockingChannelTimeoutTest extends ConnectorTimeoutTest
public static void init() throws Exception
{
BlockingChannelConnector connector = new BlockingChannelConnector();
- connector.setMaxIdleTime(250); //250 msec max idle
+ connector.setMaxIdleTime(MAX_IDLE_TIME); //250 msec max idle
startServer(connector);
}
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectorTimeoutTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectorTimeoutTest.java
index 61d045acf7..e1cb8f45d4 100644
--- a/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectorTimeoutTest.java
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ConnectorTimeoutTest.java
@@ -22,14 +22,20 @@ import java.io.OutputStream;
import java.net.Socket;
import javax.net.ssl.SSLException;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import junit.framework.Assert;
+import org.eclipse.jetty.server.handler.AbstractHandler;
import org.eclipse.jetty.util.IO;
import org.junit.Test;
public abstract class ConnectorTimeoutTest extends HttpServerTestFixture
{
+ protected static final int MAX_IDLE_TIME=250;
+
static
{
System.setProperty("org.eclipse.jetty.io.nio.IDLE_TICK","100");
@@ -37,7 +43,7 @@ public abstract class ConnectorTimeoutTest extends HttpServerTestFixture
@Test
- public void testSelectConnectorMaxIdleWithRequest10() throws Exception
+ public void testMaxIdleWithRequest10() throws Exception
{
configureServer(new HelloWorldHandler());
Socket client=newSocket(HOST,_connector.getLocalPort());
@@ -68,7 +74,7 @@ public abstract class ConnectorTimeoutTest extends HttpServerTestFixture
}
@Test
- public void testSelectConnectorMaxIdleWithRequest11() throws Exception
+ public void testMaxIdleWithRequest11() throws Exception
{
configureServer(new EchoHandler());
Socket client=newSocket(HOST,_connector.getLocalPort());
@@ -102,7 +108,7 @@ public abstract class ConnectorTimeoutTest extends HttpServerTestFixture
@Test
- public void testSelectConnectorMaxIdleNoRequest() throws Exception
+ public void testMaxIdleNoRequest() throws Exception
{
configureServer(new EchoHandler());
Socket client=newSocket(HOST,_connector.getLocalPort());
@@ -127,7 +133,130 @@ public abstract class ConnectorTimeoutTest extends HttpServerTestFixture
}
Assert.assertTrue(System.currentTimeMillis()-start<5000);
-
}
-
+
+ @Test
+ public void testMaxIdleWithSlowRequest() throws Exception
+ {
+ configureServer(new EchoHandler());
+ Socket client=newSocket(HOST,_connector.getLocalPort());
+ client.setSoTimeout(10000);
+
+ assertFalse(client.isClosed());
+
+ OutputStream os=client.getOutputStream();
+ InputStream is=client.getInputStream();
+
+ String content="Wibble\r\n";
+ byte[] contentB=content.getBytes("utf-8");
+ os.write((
+ "GET / HTTP/1.0\r\n"+
+ "host: "+HOST+":"+_connector.getLocalPort()+"\r\n"+
+ "connection: keep-alive\r\n"+
+ "Content-Length: "+(contentB.length*20)+"\r\n"+
+ "Content-Type: text/plain\r\n"+
+ "Connection: close\r\n"+
+ "\r\n").getBytes("utf-8"));
+ os.flush();
+
+ for (int i =0;i<20;i++)
+ {
+ Thread.sleep(50);
+ os.write(contentB);
+ os.flush();
+ }
+
+ String in = IO.toString(is);
+ int offset=0;
+ for (int i =0;i<20;i++)
+ {
+ offset=in.indexOf("Wibble",offset+1);
+ Assert.assertTrue(""+i,offset>0);
+ }
+ }
+
+ @Test
+ public void testMaxIdleWithSlowResponse() throws Exception
+ {
+ configureServer(new SlowResponseHandler());
+ Socket client=newSocket(HOST,_connector.getLocalPort());
+ client.setSoTimeout(10000);
+
+ assertFalse(client.isClosed());
+
+ OutputStream os=client.getOutputStream();
+ InputStream is=client.getInputStream();
+
+ os.write((
+ "GET / HTTP/1.0\r\n"+
+ "host: "+HOST+":"+_connector.getLocalPort()+"\r\n"+
+ "connection: keep-alive\r\n"+
+ "Connection: close\r\n"+
+ "\r\n").getBytes("utf-8"));
+ os.flush();
+
+ String in = IO.toString(is);
+ int offset=0;
+ for (int i =0;i<20;i++)
+ {
+ offset=in.indexOf("Hello World",offset+1);
+ Assert.assertTrue(""+i,offset>0);
+ }
+ }
+
+ @Test
+ public void testMaxIdleWithWait() throws Exception
+ {
+ configureServer(new WaitHandler());
+ Socket client=newSocket(HOST,_connector.getLocalPort());
+ client.setSoTimeout(10000);
+
+ assertFalse(client.isClosed());
+
+ OutputStream os=client.getOutputStream();
+ InputStream is=client.getInputStream();
+
+ os.write((
+ "GET / HTTP/1.0\r\n"+
+ "host: "+HOST+":"+_connector.getLocalPort()+"\r\n"+
+ "connection: keep-alive\r\n"+
+ "Connection: close\r\n"+
+ "\r\n").getBytes("utf-8"));
+ os.flush();
+
+ String in = IO.toString(is);
+ int offset=in.indexOf("Hello World");
+ Assert.assertTrue(offset>0);
+ }
+
+ protected static class SlowResponseHandler extends AbstractHandler
+ {
+ public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
+ {
+ baseRequest.setHandled(true);
+ response.setStatus(200);
+ OutputStream out = response.getOutputStream();
+
+ for (int i=0;i<20;i++)
+ {
+ out.write("Hello World\r\n".getBytes());
+ out.flush();
+ try{Thread.sleep(50);}catch(Exception e){e.printStackTrace();}
+ }
+ out.close();
+ }
+ }
+
+ protected static class WaitHandler extends AbstractHandler
+ {
+ public void handle(String target, Request baseRequest, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
+ {
+ baseRequest.setHandled(true);
+ response.setStatus(200);
+ OutputStream out = response.getOutputStream();
+ try{Thread.sleep(2000);}catch(Exception e){e.printStackTrace();}
+ out.write("Hello World\r\n".getBytes());
+ out.flush();
+ }
+ }
}
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/SelectChannelTimeoutTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/SelectChannelTimeoutTest.java
index f0dcf69642..ece6ae77b9 100644
--- a/jetty-server/src/test/java/org/eclipse/jetty/server/SelectChannelTimeoutTest.java
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/SelectChannelTimeoutTest.java
@@ -22,7 +22,7 @@ public class SelectChannelTimeoutTest extends ConnectorTimeoutTest
public static void init() throws Exception
{
SelectChannelConnector connector = new SelectChannelConnector();
- connector.setMaxIdleTime(250); //250 msec max idle
+ connector.setMaxIdleTime(MAX_IDLE_TIME); //250 msec max idle
startServer(connector);
}
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/SocketTimeoutTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/SocketTimeoutTest.java
index 9ec2dd85d4..f06c7c5650 100644
--- a/jetty-server/src/test/java/org/eclipse/jetty/server/SocketTimeoutTest.java
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/SocketTimeoutTest.java
@@ -22,7 +22,7 @@ public class SocketTimeoutTest extends ConnectorTimeoutTest
public static void init() throws Exception
{
SocketConnector connector = new SocketConnector();
- connector.setMaxIdleTime(250); //250 msec max idle
+ connector.setMaxIdleTime(MAX_IDLE_TIME); //250 msec max idle
startServer(connector);
}
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSelectChannelTimeoutTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSelectChannelTimeoutTest.java
index e370d10599..d0df1ed817 100644
--- a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSelectChannelTimeoutTest.java
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSelectChannelTimeoutTest.java
@@ -37,7 +37,7 @@ public class SslSelectChannelTimeoutTest extends ConnectorTimeoutTest
public static void init() throws Exception
{
SslSelectChannelConnector connector = new SslSelectChannelConnector();
- connector.setMaxIdleTime(250); //250 msec max idle
+ connector.setMaxIdleTime(MAX_IDLE_TIME); //250 msec max idle
String keystorePath = System.getProperty("basedir",".") + "/src/test/resources/keystore";
connector.setKeystore(keystorePath);
connector.setPassword("storepwd");
diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSocketTimeoutTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSocketTimeoutTest.java
index 1e2b5d553a..1d998ed54b 100644
--- a/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSocketTimeoutTest.java
+++ b/jetty-server/src/test/java/org/eclipse/jetty/server/ssl/SslSocketTimeoutTest.java
@@ -36,10 +36,8 @@ public class SslSocketTimeoutTest extends ConnectorTimeoutTest
@BeforeClass
public static void init() throws Exception
{
-
-
SslSocketConnector connector = new SslSocketConnector();
- connector.setMaxIdleTime(250); //250 msec max idle
+ connector.setMaxIdleTime(MAX_IDLE_TIME); //250 msec max idle
String keystorePath = System.getProperty("basedir",".") + "/src/test/resources/keystore";
connector.setKeystore(keystorePath);
connector.setPassword("storepwd");
@@ -55,8 +53,7 @@ public class SslSocketTimeoutTest extends ConnectorTimeoutTest
trustManagerFactory.init(keystore);
_sslContext = SSLContext.getInstance("SSL");
_sslContext.init(null, trustManagerFactory.getTrustManagers(), null);
-
-
+
}
}

Back to the top