Author: markt
Date: Fri Jun 19 12:55:56 2009
New Revision: 786486
URL: http://svn.apache.org/viewvc?rev=786486&view=rev
Log:
Add a header case-sensitivity test for 37794 test case (as reported by Tim)
Modified:
tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java
Modified: tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java?rev=786486&r1=786485&r2=786486&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java (original)
+++ tomcat/trunk/test/org/apache/catalina/connector/TestRequest.java Fri Jun 19
12:55:56 2009
@@ -56,35 +56,41 @@
Bug37794Client client = new Bug37794Client();
// Edge cases around zero
- client.doRequest(-1); // Unlimited
+ client.doRequest(-1, false); // Unlimited
assertTrue(client.isResponse200());
assertTrue(client.isResponseBodyOK());
client.reset();
- client.doRequest(0); // Unlimited
+ client.doRequest(0, false); // Unlimited
assertTrue(client.isResponse200());
assertTrue(client.isResponseBodyOK());
client.reset();
- client.doRequest(1); // 1 byte - too small should fail
+ client.doRequest(1, false); // 1 byte - too small should fail
assertTrue(client.isResponse500());
client.reset();
// Edge cases around actual content length
client.reset();
- client.doRequest(6); // Too small should fail
+ client.doRequest(6, false); // Too small should fail
assertTrue(client.isResponse500());
client.reset();
- client.doRequest(7); // Just enough should pass
+ client.doRequest(7, false); // Just enough should pass
assertTrue(client.isResponse200());
assertTrue(client.isResponseBodyOK());
client.reset();
- client.doRequest(8); // 1 extra - should pass
+ client.doRequest(8, false); // 1 extra - should pass
assertTrue(client.isResponse200());
assertTrue(client.isResponseBodyOK());
// Much larger
client.reset();
- client.doRequest(8096); // Plenty of space - should pass
+ client.doRequest(8096, false); // Plenty of space - should pass
+ assertTrue(client.isResponse200());
+ assertTrue(client.isResponseBodyOK());
+
+ // Check for case insensitivity
+ client.reset();
+ client.doRequest(8096, true); // Plenty of space - should pass
assertTrue(client.isResponse200());
assertTrue(client.isResponseBodyOK());
}
@@ -115,7 +121,7 @@
* Bug 37794 test client.
*/
private static class Bug37794Client extends SimpleHttpClient {
- private Exception doRequest(int postLimit) {
+ private Exception doRequest(int postLimit, boolean ucChunkedHead) {
Tomcat tomcat = new Tomcat();
try {
StandardContext root = tomcat.addContext("", TEMP_DIR);
@@ -129,14 +135,25 @@
// Send request in two parts
String[] request = new String[2];
- request[0] =
- "POST http://localhost:8080/test HTTP/1.1" + CRLF +
- "content-type: application/x-www-form-urlencoded" + CRLF +
- "Transfer-Encoding: chunked" + CRLF +
- "Connection: close" + CRLF +
- CRLF +
- "3" + CRLF +
- "a=1" + CRLF;
+ if (ucChunkedHead) {
+ request[0] =
+ "POST http://localhost:8080/test HTTP/1.1" + CRLF +
+ "content-type: application/x-www-form-urlencoded" +
CRLF +
+ "Transfer-Encoding: CHUNKED" + CRLF +
+ "Connection: close" + CRLF +
+ CRLF +
+ "3" + CRLF +
+ "a=1" + CRLF;
+ } else {
+ request[0] =
+ "POST http://localhost:8080/test HTTP/1.1" + CRLF +
+ "content-type: application/x-www-form-urlencoded" +
CRLF +
+ "Transfer-Encoding: chunked" + CRLF +
+ "Connection: close" + CRLF +
+ CRLF +
+ "3" + CRLF +
+ "a=1" + CRLF;
+ }
request[1] =
"4" + CRLF +
"&b=2" + CRLF +
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]