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

Reply via email to