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