You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by vi...@apache.org on 2015/01/07 16:18:27 UTC
svn commit: r1650081 -
/tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java
Author: violetagg
Date: Wed Jan 7 15:18:27 2015
New Revision: 1650081
URL: http://svn.apache.org/r1650081
Log:
Test case that reproduces ServletRequestListener.requestDestroyed problem. Mark it with @Ignore in order to keep the build 'green'.
Modified:
tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java
Modified: tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java?rev=1650081&r1=1650080&r2=1650081&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java (original)
+++ tomcat/trunk/test/org/apache/catalina/core/TestStandardHostValve.java Wed Jan 7 15:18:27 2015
@@ -17,13 +17,18 @@
package org.apache.catalina.core;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
import javax.servlet.ServletException;
+import javax.servlet.ServletRequestEvent;
+import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.junit.Assert;
+import org.junit.Ignore;
import org.junit.Test;
import org.apache.catalina.Context;
@@ -68,6 +73,48 @@ public class TestStandardHostValve exten
doTestErrorPageHandling(501, "/default");
}
+ @Test
+ @Ignore
+ public void testSRLAfterError() throws Exception {
+ // Set up a container
+ Tomcat tomcat = getTomcatInstance();
+
+ // No file system docBase required
+ Context ctx = tomcat.addContext("", null);
+
+ // Add the error page
+ Tomcat.addServlet(ctx, "error", new ErrorServlet());
+ ctx.addServletMapping("/error", "error");
+
+ final List<String> result = new ArrayList<>();
+
+ // Add the request listener
+ ServletRequestListener servletRequestListener = new ServletRequestListener() {
+
+ @Override
+ public void requestDestroyed(ServletRequestEvent sre) {
+ result.add("Visit requestDestroyed");
+ }
+
+ @Override
+ public void requestInitialized(ServletRequestEvent sre) {
+ result.add("Visit requestInitialized");
+ }
+
+ };
+ ((StandardContext) ctx).addApplicationEventListener(servletRequestListener);
+
+ tomcat.start();
+
+ // Request a page that triggers an error
+ ByteChunk bc = new ByteChunk();
+ int rc = getUrl("http://localhost:" + getPort() + "/error?errorCode=400", bc, null);
+
+ Assert.assertEquals(400, rc);
+ Assert.assertTrue(result.contains("Visit requestInitialized"));
+ Assert.assertTrue(result.contains("Visit requestDestroyed"));
+ }
+
private void doTestErrorPageHandling(int error, String report)
throws Exception {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org