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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to