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: [email protected]
For additional commands, e-mail: [email protected]