Author: rjung
Date: Tue Dec 16 10:51:26 2014
New Revision: 1645904

URL: http://svn.apache.org/r1645904
Log:
Add new RequestDescriptor class which contains
parsed data returned from the SnoopServlet.

Adjust TestRewriteValve to use RequestDescriptor.

Backport of r1645486 from trunk.

Modified:
    tomcat/tc8.0.x/trunk/   (props changed)
    tomcat/tc8.0.x/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
    
tomcat/tc8.0.x/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
    tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml

Propchange: tomcat/tc8.0.x/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Dec 16 10:51:26 2014
@@ -1 +1 @@
-/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892
 
,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645487,1645626,1645641,1645685
+/tomcat/trunk:1636524,1637156,1637176,1637188,1637331,1637684,1637695,1638720-1638725,1639653,1640010,1640083-1640084,1640088,1640275,1640322,1640347,1640361,1640365,1640403,1640410,1640652,1640655-1640658,1640688,1640700-1640883,1640903,1640976,1640978,1641000,1641026,1641038-1641039,1641051-1641052,1641058,1641064,1641300,1641369,1641374,1641380,1641486,1641634,1641656-1641692,1641704,1641707-1641718,1641720-1641722,1641735,1641981,1642233,1642280,1642554,1642564,1642595,1642606,1642668,1642679,1642697,1642699,1642766,1643002,1643045,1643054-1643055,1643066,1643121,1643128,1643206,1643209-1643210,1643216,1643249,1643270,1643283,1643309-1643310,1643323,1643365-1643366,1643370-1643371,1643465,1643474,1643536,1643570,1643634,1643649,1643651,1643654,1643675,1643731,1643733-1643734,1643761,1643766,1643814,1643937,1643963,1644017,1644169,1644201-1644203,1644321,1644323,1644516,1644523,1644529,1644535,1644730,1644768,1644784-1644785,1644790,1644793,1644815,1644884,1644886,1644890,1644892
 
,1644910,1644924,1644929-1644930,1644935,1644989,1645011,1645247,1645355,1645357-1645358,1645455,1645465,1645469,1645471,1645473,1645475,1645486-1645487,1645626,1645641,1645685

Modified: 
tomcat/tc8.0.x/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java?rev=1645904&r1=1645903&r2=1645904&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java 
(original)
+++ tomcat/tc8.0.x/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java 
Tue Dec 16 10:51:26 2014
@@ -40,6 +40,7 @@ import javax.servlet.http.HttpSession;
 import static org.junit.Assert.fail;
 
 import org.junit.After;
+import org.junit.Assert;
 import org.junit.Before;
 
 import org.apache.catalina.Container;
@@ -235,9 +236,9 @@ public abstract class TomcatBaseTest ext
     }
 
 
-    public final class SnoopResult {
+    public static final class RequestDescriptor {
 
-        private final HashMap<String, String> request =
+        private final HashMap<String, String> requestInfo =
             new HashMap<String, String>();
         private final HashMap<String, String> contextInitParameters =
             new HashMap<String, String>();
@@ -252,8 +253,8 @@ public abstract class TomcatBaseTest ext
         private final HashMap<String, String> sessionAttributes =
             new HashMap<String, String>();
 
-        public HashMap<String, String> getRequest() {
-            return request;
+        public HashMap<String, String> getRequestInfo() {
+            return requestInfo;
         }
 
         public HashMap<String, String> getContextInitParameters() {
@@ -280,7 +281,107 @@ public abstract class TomcatBaseTest ext
             return sessionAttributes;
         }
 
-        public SnoopResult(String body) {
+        public String getRequestInfo(String name) {
+            return requestInfo.get(name);
+        }
+
+        public void putRequestInfo(String name, String value) {
+            requestInfo.put(name, value);
+        }
+
+        public String getContextInitParameter(String name) {
+            return contextInitParameters.get(name);
+        }
+
+        public void putContextInitParameter(String name, String value) {
+            contextInitParameters.put(name, value);
+        }
+
+        public String getContextAttribute(String name) {
+            return contextAttributes.get(name);
+        }
+
+        public void putContextAttribute(String name, String value) {
+            contextAttributes.put(name, value);
+        }
+
+        public String getHeader(String name) {
+            return headers.get(name);
+        }
+
+        public void putHeader(String name, String value) {
+            headers.put(name, value);
+        }
+
+        public String getAttribute(String name) {
+            return attributes.get(name);
+        }
+
+        public void putAttribute(String name, String value) {
+            attributes.put(name, value);
+        }
+
+        public String getParam(String name) {
+            return params.get(name);
+        }
+
+        public void putParam(String name, String value) {
+            params.put(name, value);
+        }
+
+        public String getSessionAttribute(String name) {
+            return sessionAttributes.get(name);
+        }
+
+        public void putSessionAttribute(String name, String value) {
+            sessionAttributes.put(name, value);
+        }
+
+        public void compare (RequestDescriptor request) {
+            HashMap<String, String> base;
+            HashMap<String, String> cmp;
+            base = request.getRequestInfo();
+            cmp = this.getRequestInfo();
+            for (String name: base.keySet()) {
+                Assert.assertEquals("Request info " + name, base.get(name), 
cmp.get(name));
+            }
+            base = request.getContextInitParameters();
+            cmp = this.getContextInitParameters();
+            for (String name: base.keySet()) {
+                Assert.assertEquals("Context parameter " + name, 
base.get(name), cmp.get(name));
+            }
+            base = request.getContextAttributes();
+            cmp = this.getContextAttributes();
+            for (String name: base.keySet()) {
+                Assert.assertEquals("Context attribute " + name, 
base.get(name), cmp.get(name));
+            }
+            base = request.getHeaders();
+            cmp = this.getHeaders();
+            for (String name: base.keySet()) {
+                Assert.assertEquals("Header " + name, base.get(name), 
cmp.get(name));
+            }
+            base = request.getAttributes();
+            cmp = this.getAttributes();
+            for (String name: base.keySet()) {
+                Assert.assertEquals("Attribute " + name, base.get(name), 
cmp.get(name));
+            }
+            base = request.getParams();
+            cmp = this.getParams();
+            for (String name: base.keySet()) {
+                Assert.assertEquals("Param " + name, base.get(name), 
cmp.get(name));
+            }
+            base = request.getSessionAttributes();
+            cmp = this.getSessionAttributes();
+            for (String name: base.keySet()) {
+                Assert.assertEquals("Session attribute " + name, 
base.get(name), cmp.get(name));
+            }
+        }
+    }
+
+
+    public static final class SnoopResult {
+
+        public static RequestDescriptor parse(String body) {
 
             int n;
             int m;
@@ -288,6 +389,8 @@ public abstract class TomcatBaseTest ext
             String value;
             String name;
 
+            RequestDescriptor request = new RequestDescriptor();
+
             for (String line: body.split("\n")) {
                 n = line.indexOf(": ");
                 if (n > 0) {
@@ -298,25 +401,27 @@ public abstract class TomcatBaseTest ext
                         name = key.substring(m + 1);
                         key = key.substring(0, m);
                         if (key.equals("CONTEXT-PARAM")) {
-                            contextInitParameters.put(name, value);
+                            request.putContextInitParameter(name, value);
                         } else if (key.equals("CONTEXT-ATTRIBUTE")) {
-                            contextAttributes.put(name, value);
+                            request.putContextAttribute(name, value);
                         } else if (key.equals("HEADER")) {
-                            headers.put(name, value);
+                            request.putHeader(name, value);
                         } else if (key.equals("ATTRIBUTE")) {
-                            attributes.put(name, value);
+                            request.putAttribute(name, value);
                         } else if (key.equals("PARAM")) {
-                            params.put(name, value);
+                            request.putParam(name, value);
                         } else if (key.equals("SESSION-ATTRIBUTE")) {
-                            sessionAttributes.put(name, value);
+                            request.putSessionAttribute(name, value);
                         } else {
-                            request.put(key + ":" + name, value);
+                            request.putRequestInfo(key + ":" + name, value);
                         }
                     } else {
-                        request.put(key, value);
+                        request.putRequestInfo(key, value);
                     }
                 }
             }
+
+            return request;
         }
     }
 
@@ -382,6 +487,7 @@ public abstract class TomcatBaseTest ext
                         request.getPathTranslated());
             out.println("REQUEST-QUERY-STRING: " + request.getQueryString());
             out.println("REQUEST-REMOTE-USER: " + request.getRemoteUser());
+            out.println("REQUEST-AUTH-TYPE: " + request.getAuthType());
             out.println("REQUEST-USER-PRINCIPAL: " +
                         request.getUserPrincipal());
             out.println("REQUEST-CHARACTER-ENCODING: " +

Modified: 
tomcat/tc8.0.x/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java?rev=1645904&r1=1645903&r2=1645904&view=diff
==============================================================================
--- 
tomcat/tc8.0.x/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
 (original)
+++ 
tomcat/tc8.0.x/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java
 Tue Dec 16 10:51:26 2014
@@ -67,8 +67,8 @@ public class TestRewriteValve extends To
         ByteChunk res = getUrl("http://localhost:"; + getPort() + request);
 
         String body = res.toString();
-        SnoopResult parsedBody = new SnoopResult(body);
-        String requestURI = parsedBody.getRequest().get("REQUEST-URI");
+        RequestDescriptor requestDesc = SnoopResult.parse(body);
+        String requestURI = requestDesc.getRequestInfo("REQUEST-URI");
         Assert.assertEquals(expectedURI, requestURI);
     }
 }

Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml
URL: 
http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1645904&r1=1645903&r2=1645904&view=diff
==============================================================================
--- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Tue Dec 16 10:51:26 2014
@@ -183,6 +183,10 @@
       <update>
           Improve SnoopServlet in unit tests. (rjung)
       </update>
+      <add>
+          Add RequestDescriptor class to unit tests. (rjung)
+          Adjust TestRewriteValve to use RequestDescriptor.
+      </add>
     </changelog>
   </subsection>
   <subsection name="Coyote">



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to