Author: markt Date: Thu Dec 11 23:09:54 2014 New Revision: 1644785 URL: http://svn.apache.org/r1644785 Log: More unit tests for the RewriteValve based on Konstantin's concerns raised in https://issues.apache.org/bugzilla/show_bug.cgi?id=57215
Modified: tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java 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=1644785&r1=1644784&r2=1644785&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java (original) +++ tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java Thu Dec 11 23:09:54 2014 @@ -29,16 +29,28 @@ public class TestRewriteValve extends To @Test public void testNoRewrite() throws Exception { - doTestRewrite(""); + doTestRewrite("", "/a/%255A", "/a/%255A"); } @Test @Ignore // getRequestURI is not encoded public void testNoopRewrite() throws Exception { - doTestRewrite("RewriteRule ^(.*) $1"); + doTestRewrite("RewriteRule ^(.*) $1", "/a/%255A", "/a/%255A"); } - private void doTestRewrite(String config) throws Exception { + @Test + @Ignore // getRequestURI is not encoded + public void testPathRewrite() throws Exception { + doTestRewrite("RewriteRule ^/b(.*) /a$1", "/b/%255A", "/a/%255A"); + } + + @Test + @Ignore // getRequestURI is not normalized + public void testNonNormalizedPathRewrite() throws Exception { + doTestRewrite("RewriteRule ^/b/(.*) /b/../a/$1", "/b/%255A", "/a/%255A"); + } + + private void doTestRewrite(String config, String request, String expectedURI) throws Exception { Tomcat tomcat = getTomcatInstance(); // No file system docBase required @@ -56,9 +68,9 @@ public class TestRewriteValve extends To tomcat.start(); - ByteChunk res = getUrl("http://localhost:" + getPort() + "/a/%255A"); + ByteChunk res = getUrl("http://localhost:" + getPort() + request); String body = res.toString(); - Assert.assertTrue(body, body.contains("/a/%255A")); + Assert.assertTrue(body, body.contains(expectedURI)); } } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org