Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorJoakim Erdfelt2015-08-14 21:15:34 +0000
committerJoakim Erdfelt2015-08-14 21:48:51 +0000
commit6ea5b03e23f7d29dd2b8652c3846c5ede3840306 (patch)
treeb8ef05741ef4ee7416be7d5cf66ae5173c57f490 /tests
parentd1fa4583b31b724ed8d8c6419c94d84cb8ccc4a6 (diff)
downloadorg.eclipse.jetty.project-6ea5b03e23f7d29dd2b8652c3846c5ede3840306.tar.gz
org.eclipse.jetty.project-6ea5b03e23f7d29dd2b8652c3846c5ede3840306.tar.xz
org.eclipse.jetty.project-6ea5b03e23f7d29dd2b8652c3846c5ede3840306.zip
474634 - AsyncListener.onError() handling.
+ Reworking test-continuations to (hopefully) be a bit more reliable in its working with history assertions on slower hardware. Namely, the server is started, and stopped, for each testcase *before* the assertions of success are tested.
Diffstat (limited to 'tests')
-rw-r--r--tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationTest.java95
-rw-r--r--tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java (renamed from tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/AbstractContinuationTest.java)335
-rw-r--r--tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/FauxContinuationTest.java70
3 files changed, 228 insertions, 272 deletions
diff --git a/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationTest.java b/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationTest.java
deleted file mode 100644
index 6d8e721223..0000000000
--- a/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-//
-// ========================================================================
-// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd.
-// ------------------------------------------------------------------------
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// and Apache License v2.0 which accompanies this distribution.
-//
-// The Eclipse Public License is available at
-// http://www.eclipse.org/legal/epl-v10.html
-//
-// The Apache License v2.0 is available at
-// http://www.opensource.org/licenses/apache2.0.php
-//
-// You may elect to redistribute this code under either of these licenses.
-// ========================================================================
-//
-
-package org.eclipse.jetty.continuation;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Request;
-import org.eclipse.jetty.server.RequestLog;
-import org.eclipse.jetty.server.Response;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.server.handler.RequestLogHandler;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.util.component.AbstractLifeCycle;
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-public class ContinuationTest extends AbstractContinuationTest
-{
- protected Server _server = new Server();
- protected ServletHandler _servletHandler;
- protected ServerConnector _connector;
- protected List<String> _log = new ArrayList<>();
-
- @Before
- public void setUp() throws Exception
- {
- _connector = new ServerConnector(_server);
- _server.setConnectors(new Connector[]{ _connector });
-
- _log.clear();
- RequestLogHandler requestLogHandler = new RequestLogHandler();
- requestLogHandler.setRequestLog(new Log());
- _server.setHandler(requestLogHandler);
-
- ServletContextHandler servletContext = new ServletContextHandler();
- requestLogHandler.setHandler(servletContext);
-
- _servletHandler=servletContext.getServletHandler();
- ServletHolder holder=new ServletHolder(_servlet);
- holder.setAsyncSupported(true);
- _servletHandler.addServletWithMapping(holder, "/");
-
- _server.start();
- _port=_connector.getLocalPort();
- }
-
- @After
- public void tearDown() throws Exception
- {
- _server.stop();
- Assert.assertEquals(1,_log.size());
- Assert.assertTrue(_log.get(0).startsWith("200 "));
- Assert.assertTrue(_log.get(0).endsWith(" /"));
- }
-
- @Test
- public void testContinuation() throws Exception
- {
- testNormal(Servlet3Continuation.class.getName());
- }
-
- class Log extends AbstractLifeCycle implements RequestLog
- {
- @Override
- public void log(Request request, Response response)
- {
- int status = response.getCommittedMetaData().getStatus();
- long written = response.getHttpChannel().getBytesWritten();
- _log.add(status+" "+written+" "+request.getRequestURI());
- }
- }
-}
diff --git a/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/AbstractContinuationTest.java b/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java
index eaf0497506..77070ad4cc 100644
--- a/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/AbstractContinuationTest.java
+++ b/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/ContinuationsTest.java
@@ -18,6 +18,9 @@
package org.eclipse.jetty.continuation;
+import static org.hamcrest.Matchers.*;
+import static org.junit.Assert.*;
+
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
@@ -32,20 +35,30 @@ import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import org.eclipse.jetty.server.Handler;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.RequestLog;
+import org.eclipse.jetty.server.Response;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.server.ServerConnector;
+import org.eclipse.jetty.server.handler.RequestLogHandler;
+import org.eclipse.jetty.servlet.FilterHolder;
+import org.eclipse.jetty.servlet.ServletContextHandler;
+import org.eclipse.jetty.servlet.ServletHandler;
+import org.eclipse.jetty.servlet.ServletHolder;
import org.eclipse.jetty.util.IO;
+import org.eclipse.jetty.util.component.AbstractLifeCycle;
import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.Parameterized;
+import org.junit.runners.Parameterized.Parameter;
+import org.junit.runners.Parameterized.Parameters;
-import static org.hamcrest.Matchers.containsString;
-import static org.hamcrest.Matchers.hasItem;
-import static org.hamcrest.Matchers.not;
-import static org.hamcrest.Matchers.startsWith;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertThat;
-
-public abstract class AbstractContinuationTest
+@RunWith(Parameterized.class)
+public class ContinuationsTest
{
@SuppressWarnings("serial")
- protected List<String> _history = new ArrayList<String>() {
+ public static class SneakyList extends ArrayList<String> {
@Override
public boolean add(String e)
{
@@ -53,18 +66,83 @@ public abstract class AbstractContinuationTest
return super.add(e);
}
};
- protected ContinuationListener _listener = new Listener(_history);
- protected SuspendServlet _servlet = new SuspendServlet(_history, _listener);
- protected int _port;
+
+ @Parameters(name="{0}")
+ public static List<Object[]> data()
+ {
+ List<Object[]> setup = new ArrayList<>();
+
+ // Servlet3 / AsyncContext Setup
+ {
+ String description = "Servlet 3 Setup";
+ Class<? extends Continuation> expectedImplClass = Servlet3Continuation.class;
+ List<String> log = new ArrayList<>();
+ RequestLogHandler servlet3Setup = new RequestLogHandler();
+ servlet3Setup.setRequestLog(new Log(log));
+
+ ServletContextHandler servletContext = new ServletContextHandler();
+ servlet3Setup.setHandler(servletContext);
+
+ ServletHandler servletHandler=servletContext.getServletHandler();
+ List<String> history = new SneakyList();
+ Listener listener = new Listener(history);
+ ServletHolder holder=new ServletHolder(new SuspendServlet(history, listener));
+ holder.setAsyncSupported(true);
+ servletHandler.addServletWithMapping(holder, "/");
+ setup.add(new Object[]{description,servlet3Setup,history,listener,expectedImplClass,log});
+ }
+
+ // Faux Continuations Setup
+ {
+ String description = "Faux Setup";
+ Class<? extends Continuation> expectedImplClass = FauxContinuation.class;
+
+ // no log for this setup
+ List<String> log = null;
+
+ ServletContextHandler fauxSetup = new ServletContextHandler();
+ ServletHandler servletHandler=fauxSetup.getServletHandler();
+ List<String> history = new SneakyList();
+ Listener listener = new Listener(history);
+ ServletHolder holder=new ServletHolder(new SuspendServlet(history, listener));
+ servletHandler.addServletWithMapping(holder,"/");
+
+ FilterHolder filter= servletHandler.addFilterWithMapping(ContinuationFilter.class,"/*",null);
+ filter.setInitParameter("debug","true");
+ filter.setInitParameter("faux","true");
+ setup.add(new Object[]{description,fauxSetup,history,listener,expectedImplClass,log});
+ }
+
+ return setup;
+ }
+
+ @Parameter(0)
+ public String setupDescription;
+
+ @Parameter(1)
+ public Handler setupHandler;
+
+ @Parameter(2)
+ public List<String> history;
+
+ @Parameter(3)
+ public Listener listener;
+
+ @Parameter(4)
+ public Class<? extends Continuation> expectedImplClass;
+
+ @Parameter(5)
+ public List<String> log;
- protected void testNormal(String type) throws Exception
+ @Test
+ public void testNormal() throws Exception
{
String response = process(null, null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("NORMAL"));
- assertThat(_history, hasItem(type));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, not(hasItem("onComplete")));
+ assertThat(history, hasItem(expectedImplClass.getName()));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, not(hasItem("onComplete")));
}
@Test
@@ -73,8 +151,8 @@ public abstract class AbstractContinuationTest
String response = process("sleep=200", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("SLEPT"));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, not(hasItem("onComplete")));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, not(hasItem("onComplete")));
}
@Test
@@ -83,8 +161,8 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("TIMEOUT"));
- assertThat(_history, hasItem("onTimeout"));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, hasItem("onTimeout"));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -93,8 +171,8 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&resume=10", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("RESUMED"));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -103,8 +181,8 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&resume=0", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("RESUMED"));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -113,10 +191,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&complete=50", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("COMPLETED"));
- assertThat(_history, hasItem("initial"));
- assertThat(_history, not(hasItem("!initial")));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, hasItem("initial"));
+ assertThat(history, not(hasItem("!initial")));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -125,10 +203,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&complete=0", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("COMPLETED"));
- assertThat(_history, hasItem("initial"));
- assertThat(_history, not(hasItem("!initial")));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, hasItem("initial"));
+ assertThat(history, not(hasItem("!initial")));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -137,10 +215,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=1000&resume=10&suspend2=1000&resume2=10", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("RESUMED"));
- assertEquals(2, count(_history, "suspend"));
- assertEquals(2, count(_history, "resume"));
- assertEquals(0, count(_history, "onTimeout"));
- assertEquals(1, count(_history, "onComplete"));
+ assertEquals(2, count(history, "suspend"));
+ assertEquals(2, count(history, "resume"));
+ assertEquals(0, count(history, "onTimeout"));
+ assertEquals(1, count(history, "onComplete"));
}
@Test
@@ -149,10 +227,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=1000&resume=10&suspend2=1000&complete2=10", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("COMPLETED"));
- assertEquals(2, count(_history, "suspend"));
- assertEquals(1, count(_history, "resume"));
- assertEquals(0, count(_history, "onTimeout"));
- assertEquals(1, count(_history, "onComplete"));
+ assertEquals(2, count(history, "suspend"));
+ assertEquals(1, count(history, "resume"));
+ assertEquals(0, count(history, "onTimeout"));
+ assertEquals(1, count(history, "onComplete"));
}
@Test
@@ -161,10 +239,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=1000&resume=10&suspend2=10", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("TIMEOUT"));
- assertEquals(2, count(_history, "suspend"));
- assertEquals(1, count(_history, "resume"));
- assertEquals(1, count(_history, "onTimeout"));
- assertEquals(1, count(_history, "onComplete"));
+ assertEquals(2, count(history, "suspend"));
+ assertEquals(1, count(history, "resume"));
+ assertEquals(1, count(history, "onTimeout"));
+ assertEquals(1, count(history, "onComplete"));
}
@Test
@@ -173,10 +251,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=10&suspend2=1000&resume2=10", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("RESUMED"));
- assertEquals(2, count(_history, "suspend"));
- assertEquals(1, count(_history, "resume"));
- assertEquals(1, count(_history, "onTimeout"));
- assertEquals(1, count(_history, "onComplete"));
+ assertEquals(2, count(history, "suspend"));
+ assertEquals(1, count(history, "resume"));
+ assertEquals(1, count(history, "onTimeout"));
+ assertEquals(1, count(history, "onComplete"));
}
@Test
@@ -185,10 +263,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=10&suspend2=1000&complete2=10", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("COMPLETED"));
- assertEquals(2, count(_history, "suspend"));
- assertEquals(0, count(_history, "resume"));
- assertEquals(1, count(_history, "onTimeout"));
- assertEquals(1, count(_history, "onComplete"));
+ assertEquals(2, count(history, "suspend"));
+ assertEquals(0, count(history, "resume"));
+ assertEquals(1, count(history, "onTimeout"));
+ assertEquals(1, count(history, "onComplete"));
}
@Test
@@ -197,10 +275,10 @@ public abstract class AbstractContinuationTest
String response = process("suspend=10&suspend2=10", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("TIMEOUT"));
- assertEquals(2, count(_history, "suspend"));
- assertEquals(0, count(_history, "resume"));
- assertEquals(2, count(_history, "onTimeout"));
- assertEquals(1, count(_history, "onComplete"));
+ assertEquals(2, count(history, "suspend"));
+ assertEquals(0, count(history, "resume"));
+ assertEquals(2, count(history, "onTimeout"));
+ assertEquals(1, count(history, "onComplete"));
}
@Test
@@ -209,8 +287,8 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&resume=10&undispatch=true", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("RESUMED"));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -219,8 +297,8 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&resume=0&undispatch=true", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("RESUMED"));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -229,8 +307,8 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&complete=10&undispatch=true", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("COMPLETED"));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
@Test
@@ -239,8 +317,8 @@ public abstract class AbstractContinuationTest
String response = process("suspend=200&complete=0&undispatch=true", null);
assertThat(response, startsWith("HTTP/1.1 200 OK"));
assertThat(response, containsString("COMPLETED"));
- assertThat(_history, not(hasItem("onTimeout")));
- assertThat(_history, hasItem("onComplete"));
+ assertThat(history, not(hasItem("onTimeout")));
+ assertThat(history, hasItem("onComplete"));
}
private long count(List<String> history, String value)
@@ -252,31 +330,56 @@ public abstract class AbstractContinuationTest
private String process(String query, String content) throws Exception
{
- StringBuilder request = new StringBuilder("GET /");
-
- if (query != null)
- request.append("?").append(query);
-
- request.append(" HTTP/1.1\r\n")
- .append("Host: localhost\r\n")
- .append("Connection: close\r\n");
-
- if (content == null)
- {
- request.append("\r\n");
- }
- else
- {
- request.append("Content-Length: ").append(content.length()).append("\r\n");
- request.append("\r\n").append(content);
- }
-
- try (Socket socket = new Socket("localhost", _port))
- {
- socket.setSoTimeout(10000);
- socket.getOutputStream().write(request.toString().getBytes(StandardCharsets.UTF_8));
- socket.getOutputStream().flush();
- return toString(socket.getInputStream());
+ Server server = new Server();
+
+ try {
+ ServerConnector connector = new ServerConnector(server);
+ server.addConnector(connector);
+ if(log != null) {
+ log.clear();
+ }
+ history.clear();
+ server.setHandler(this.setupHandler);
+
+ server.start();
+ int port=connector.getLocalPort();
+
+ StringBuilder request = new StringBuilder("GET /");
+
+ if (query != null)
+ request.append("?").append(query);
+
+ request.append(" HTTP/1.1\r\n")
+ .append("Host: localhost\r\n")
+ .append("Connection: close\r\n");
+
+ if (content == null)
+ {
+ request.append("\r\n");
+ }
+ else
+ {
+ request.append("Content-Length: ").append(content.length()).append("\r\n");
+ request.append("\r\n").append(content);
+ }
+
+ try (Socket socket = new Socket("localhost", port))
+ {
+ socket.setSoTimeout(10000);
+ socket.getOutputStream().write(request.toString().getBytes(StandardCharsets.UTF_8));
+ socket.getOutputStream().flush();
+ return toString(socket.getInputStream());
+ }
+ } finally {
+ server.stop();
+
+ if (log != null)
+ {
+ assertThat("Log.size", log.size(),is(1));
+ String entry = log.get(0);
+ assertThat("Log entry", entry, startsWith("200 "));
+ assertThat("Log entry", entry, endsWith(" /"));
+ }
}
}
@@ -285,16 +388,17 @@ public abstract class AbstractContinuationTest
return IO.toString(in);
}
+ @SuppressWarnings("serial")
private static class SuspendServlet extends HttpServlet
{
private final Timer _timer = new Timer();
- private final List<String> _history;
- private final ContinuationListener _listener;
+ private final List<String> history;
+ private final ContinuationListener listener;
public SuspendServlet(List<String> history, ContinuationListener listener)
{
- _history = history;
- _listener = listener;
+ this.history = history;
+ this.listener = listener;
}
@Override
@@ -302,7 +406,7 @@ public abstract class AbstractContinuationTest
{
final Continuation continuation = ContinuationSupport.getContinuation(request);
- _history.add(continuation.getClass().getName());
+ history.add(continuation.getClass().getName());
int read_before = 0;
long sleep_for = -1;
@@ -335,7 +439,7 @@ public abstract class AbstractContinuationTest
if (continuation.isInitial())
{
- _history.add("initial");
+ history.add("initial");
if (read_before > 0)
{
byte[] buf = new byte[read_before];
@@ -353,8 +457,8 @@ public abstract class AbstractContinuationTest
{
if (suspend_for > 0)
continuation.setTimeout(suspend_for);
- continuation.addContinuationListener(_listener);
- _history.add("suspend");
+ continuation.addContinuationListener(listener);
+ history.add("suspend");
continuation.suspend(response);
if (complete_after > 0)
@@ -391,7 +495,7 @@ public abstract class AbstractContinuationTest
@Override
public void run()
{
- _history.add("resume");
+ history.add("resume");
continuation.resume();
}
};
@@ -399,7 +503,7 @@ public abstract class AbstractContinuationTest
}
else if (resume_after == 0)
{
- _history.add("resume");
+ history.add("resume");
continuation.resume();
}
@@ -429,7 +533,7 @@ public abstract class AbstractContinuationTest
}
else
{
- _history.add("!initial");
+ history.add("!initial");
if (suspend2_for >= 0 && request.getAttribute("2nd") == null)
{
request.setAttribute("2nd", "cycle");
@@ -437,7 +541,7 @@ public abstract class AbstractContinuationTest
if (suspend2_for > 0)
continuation.setTimeout(suspend2_for);
- _history.add("suspend");
+ history.add("suspend");
continuation.suspend(response);
if (complete2_after > 0)
@@ -474,7 +578,7 @@ public abstract class AbstractContinuationTest
@Override
public void run()
{
- _history.add("resume");
+ history.add("resume");
continuation.resume();
}
};
@@ -482,7 +586,7 @@ public abstract class AbstractContinuationTest
}
else if (resume2_after == 0)
{
- _history.add("resume");
+ history.add("resume");
continuation.resume();
}
@@ -512,23 +616,40 @@ public abstract class AbstractContinuationTest
private static class Listener implements ContinuationListener
{
- private final List<String> _history;
+ private final List<String> history;
public Listener(List<String> history)
{
- _history = history;
+ this.history = history;
}
@Override
public void onComplete(Continuation continuation)
{
- _history.add("onComplete");
+ history.add("onComplete");
}
@Override
public void onTimeout(Continuation continuation)
{
- _history.add("onTimeout");
+ history.add("onTimeout");
+ }
+ }
+
+ public static class Log extends AbstractLifeCycle implements RequestLog
+ {
+ private final List<String> log;
+
+ public Log(List<String> log) {
+ this.log = log;
+ }
+
+ @Override
+ public void log(Request request, Response response)
+ {
+ int status = response.getCommittedMetaData().getStatus();
+ long written = response.getHttpChannel().getBytesWritten();
+ log.add(status+" "+written+" "+request.getRequestURI());
}
}
}
diff --git a/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/FauxContinuationTest.java b/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/FauxContinuationTest.java
deleted file mode 100644
index fc31b555f8..0000000000
--- a/tests/test-continuation/src/test/java/org/eclipse/jetty/continuation/FauxContinuationTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-//
-// ========================================================================
-// Copyright (c) 1995-2015 Mort Bay Consulting Pty. Ltd.
-// ------------------------------------------------------------------------
-// All rights reserved. This program and the accompanying materials
-// are made available under the terms of the Eclipse Public License v1.0
-// and Apache License v2.0 which accompanies this distribution.
-//
-// The Eclipse Public License is available at
-// http://www.eclipse.org/legal/epl-v10.html
-//
-// The Apache License v2.0 is available at
-// http://www.opensource.org/licenses/apache2.0.php
-//
-// You may elect to redistribute this code under either of these licenses.
-// ========================================================================
-//
-
-package org.eclipse.jetty.continuation;
-
-import org.eclipse.jetty.server.Connector;
-import org.eclipse.jetty.server.Server;
-import org.eclipse.jetty.server.ServerConnector;
-import org.eclipse.jetty.servlet.FilterHolder;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-
-@Ignore
-public class FauxContinuationTest extends AbstractContinuationTest
-{
- protected Server _server = new Server();
- protected ServletHandler _servletHandler;
- protected ServerConnector _connector;
- FilterHolder _filter;
-
- @Before
- public void setUp() throws Exception
- {
- _connector = new ServerConnector(_server);
- _server.setConnectors(new Connector[]{ _connector });
- ServletContextHandler servletContext = new ServletContextHandler();
- _server.setHandler(servletContext);
- _servletHandler=servletContext.getServletHandler();
- ServletHolder holder=new ServletHolder(_servlet);
- _servletHandler.addServletWithMapping(holder,"/");
-
- _filter=_servletHandler.addFilterWithMapping(ContinuationFilter.class,"/*",null);
- _filter.setInitParameter("debug","true");
- _filter.setInitParameter("faux","true");
- _server.start();
- _port=_connector.getLocalPort();
- }
-
- @After
- public void tearDown() throws Exception
- {
- _server.stop();
- }
-
- @Test
- public void testContinuation() throws Exception
- {
- testNormal("FauxContinuation");
- }
-}

Back to the top