Author: rjung
Date: Sun Dec 14 18:29:12 2014
New Revision: 1645486

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

Adjust TestRewriteValve to use RequestDescriptor.

Modified:
    tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
    tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java

Modified: tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java?rev=1645486&r1=1645485&r2=1645486&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java (original)
+++ tomcat/trunk/test/org/apache/catalina/startup/TomcatBaseTest.java Sun Dec 
14 18:29:12 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;
@@ -236,9 +237,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>();
@@ -253,8 +254,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() {
@@ -281,7 +282,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;
@@ -289,6 +390,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) {
@@ -299,25 +402,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;
         }
     }
 
@@ -383,6 +488,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/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=1645486&r1=1645485&r2=1645486&view=diff
==============================================================================
--- tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java 
(original)
+++ tomcat/trunk/test/org/apache/catalina/valves/rewrite/TestRewriteValve.java 
Sun Dec 14 18:29:12 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);
     }
 }



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

Reply via email to