You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2018/02/02 21:42:05 UTC
svn commit: r1823007 - in /tomcat/trunk/test/org/apache/catalina:
mapper/TestMapperWebapps.java valves/rewrite/TestRewriteValve.java
Author: markt
Date: Fri Feb 2 21:42:05 2018
New Revision: 1823007
URL: http://svn.apache.org/viewvc?rev=1823007&view=rev
Log:
Switch tests to using per connection control of redirects rather than
changing the default which may fail when testing with concurrent
threads.
Modified:
tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java
tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
Modified: tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java?rev=1823007&r1=1823006&r2=1823007&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java (original)
+++ tomcat/trunk/test/org/apache/catalina/mapper/TestMapperWebapps.java Fri Feb 2 21:42:05 2018
@@ -18,7 +18,6 @@ package org.apache.catalina.mapper;
import java.io.File;
import java.io.IOException;
-import java.net.HttpURLConnection;
import java.util.HashMap;
import java.util.List;
@@ -231,61 +230,54 @@ public class TestMapperWebapps extends T
@Test
public void testRedirect() throws Exception {
- // Disable the following of redirects for this test only
- boolean originalValue = HttpURLConnection.getFollowRedirects();
- HttpURLConnection.setFollowRedirects(false);
- try {
- Tomcat tomcat = getTomcatInstance();
-
- // Use standard test webapp as ROOT
- File rootDir = new File("test/webapp");
- org.apache.catalina.Context root =
- tomcat.addWebapp(null, "", rootDir.getAbsolutePath());
-
- // Add a security constraint
- SecurityConstraint constraint = new SecurityConstraint();
- SecurityCollection collection = new SecurityCollection();
- collection.addPatternDecoded("/welcome-files/*");
- collection.addPatternDecoded("/welcome-files");
- constraint.addCollection(collection);
- constraint.addAuthRole("foo");
- root.addConstraint(constraint);
-
- // Also make examples available
- File examplesDir = new File(getBuildDirectory(), "webapps/examples");
- org.apache.catalina.Context examples = tomcat.addWebapp(
- null, "/examples", examplesDir.getAbsolutePath());
- examples.setMapperContextRootRedirectEnabled(false);
- // Then block access to the examples to test redirection
- RemoteAddrValve rav = new RemoteAddrValve();
- rav.setDeny(".*");
- rav.setDenyStatus(404);
- examples.getPipeline().addValve(rav);
-
- tomcat.start();
-
- // Redirects within a web application
- doRedirectTest("/welcome-files", 401);
- doRedirectTest("/welcome-files/", 401);
-
- doRedirectTest("/jsp", 302);
- doRedirectTest("/jsp/", 404);
-
- doRedirectTest("/WEB-INF", 404);
- doRedirectTest("/WEB-INF/", 404);
-
- // Redirects between web applications
- doRedirectTest("/examples", 404);
- doRedirectTest("/examples/", 404);
- } finally {
- HttpURLConnection.setFollowRedirects(originalValue);
- }
+ Tomcat tomcat = getTomcatInstance();
+
+ // Use standard test webapp as ROOT
+ File rootDir = new File("test/webapp");
+ org.apache.catalina.Context root =
+ tomcat.addWebapp(null, "", rootDir.getAbsolutePath());
+
+ // Add a security constraint
+ SecurityConstraint constraint = new SecurityConstraint();
+ SecurityCollection collection = new SecurityCollection();
+ collection.addPatternDecoded("/welcome-files/*");
+ collection.addPatternDecoded("/welcome-files");
+ constraint.addCollection(collection);
+ constraint.addAuthRole("foo");
+ root.addConstraint(constraint);
+
+ // Also make examples available
+ File examplesDir = new File(getBuildDirectory(), "webapps/examples");
+ org.apache.catalina.Context examples = tomcat.addWebapp(
+ null, "/examples", examplesDir.getAbsolutePath());
+ examples.setMapperContextRootRedirectEnabled(false);
+ // Then block access to the examples to test redirection
+ RemoteAddrValve rav = new RemoteAddrValve();
+ rav.setDeny(".*");
+ rav.setDenyStatus(404);
+ examples.getPipeline().addValve(rav);
+
+ tomcat.start();
+
+ // Redirects within a web application
+ doRedirectTest("/welcome-files", 401);
+ doRedirectTest("/welcome-files/", 401);
+
+ doRedirectTest("/jsp", 302);
+ doRedirectTest("/jsp/", 404);
+
+ doRedirectTest("/WEB-INF", 404);
+ doRedirectTest("/WEB-INF/", 404);
+
+ // Redirects between web applications
+ doRedirectTest("/examples", 404);
+ doRedirectTest("/examples/", 404);
}
private void doRedirectTest(String path, int expected) throws IOException {
ByteChunk bc = new ByteChunk();
- int rc = getUrl("http://localhost:" + getPort() + path, bc, null);
+ int rc = getUrl("http://localhost:" + getPort() + path, bc, false);
Assert.assertEquals(expected, rc);
}
Modified: tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java?rev=1823007&r1=1823006&r2=1823007&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java (original)
+++ tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java Fri Feb 2 21:42:05 2018
@@ -486,29 +486,15 @@ public class TestRewriteValve extends To
@Test
public void testDefaultRedirect() throws Exception {
- // Disable the following of redirects for this test only
- boolean originalValue = HttpURLConnection.getFollowRedirects();
- HttpURLConnection.setFollowRedirects(false);
- try {
- doTestRedirect("RewriteRule ^/from/a$ /to/b [R]", "/redirect/from/a", "/redirect/to/b",
+ doTestRedirect("RewriteRule ^/from/a$ /to/b [R]", "/redirect/from/a", "/redirect/to/b",
302);
- } finally {
- HttpURLConnection.setFollowRedirects(originalValue);
- }
}
@Test
public void testTempRedirect() throws Exception {
- // Disable the following of redirects for this test only
- boolean originalValue = HttpURLConnection.getFollowRedirects();
- HttpURLConnection.setFollowRedirects(false);
- try {
- doTestRedirect("RewriteRule ^/from/a$ /to/b [R=temp]", "/redirect/from/a", "/redirect/to/b",
+ doTestRedirect("RewriteRule ^/from/a$ /to/b [R=temp]", "/redirect/from/a", "/redirect/to/b",
302);
- } finally {
- HttpURLConnection.setFollowRedirects(originalValue);
- }
}
@@ -645,7 +631,8 @@ public class TestRewriteValve extends To
ByteChunk res = new ByteChunk();
Map<String, List<String>> resHead = new HashMap<>();
- int rc = getUrl("http://localhost:" + getPort() + request, res, null, resHead);
+ int rc = methodUrl("http://localhost:" + getPort() + request, res,
+ DEFAULT_CLIENT_TIMEOUT_MS, null, resHead, "GET", false);
res.setCharset(StandardCharsets.UTF_8);
if (expectedURI == null) {
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org