You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wink.apache.org by rf...@apache.org on 2011/03/22 19:05:38 UTC
svn commit: r1084275 - in
/incubator/wink/trunk/wink-component-test-support/src:
main/java/org/apache/wink/test/mock/MockHttpServletRequestWrapper.java
test/java/org/apache/wink/test/mock/MockHttpServletRequestWrapperTestCase.java
Author: rfeng
Date: Tue Mar 22 18:05:38 2011
New Revision: 1084275
URL: http://svn.apache.org/viewvc?rev=1084275&view=rev
Log:
Allow query paraemters in the mock
Modified:
incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockHttpServletRequestWrapper.java
incubator/wink/trunk/wink-component-test-support/src/test/java/org/apache/wink/test/mock/MockHttpServletRequestWrapperTestCase.java
Modified: incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockHttpServletRequestWrapper.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockHttpServletRequestWrapper.java?rev=1084275&r1=1084274&r2=1084275&view=diff
==============================================================================
--- incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockHttpServletRequestWrapper.java (original)
+++ incubator/wink/trunk/wink-component-test-support/src/main/java/org/apache/wink/test/mock/MockHttpServletRequestWrapper.java Tue Mar 22 18:05:38 2011
@@ -48,10 +48,12 @@ public class MockHttpServletRequestWrapp
@Override
public void setContentType(String contentType) {
- if (getCharacterEncoding() != null && !contentType.contains("charset=")) {
- contentType += ";charset=" + getCharacterEncoding();
+ if (contentType != null) {
+ if (getCharacterEncoding() != null && !contentType.contains("charset=")) {
+ contentType += ";charset=" + getCharacterEncoding();
+ }
+ addHeader("Content-Type", contentType);
}
- addHeader("Content-Type", contentType);
super.setContentType(contentType);
}
@@ -145,14 +147,21 @@ public class MockHttpServletRequestWrapp
if ("POST".equals(getMethod()) && contentType != null
&& contentType.startsWith(MediaType.APPLICATION_FORM_URLENCODED)) {
String form = readContent();
- Map<String, String> params = decodeForm(form);
- for (Map.Entry<String, String> e : params.entrySet()) {
- addParameter(e.getKey(), e.getValue());
- }
+ addParameters(form);
+ }
+ if ("GET".equals(getMethod()) && getQueryString() != null) {
+ addParameters(getQueryString());
}
done = true;
}
+ protected void addParameters(String form) {
+ Map<String, String> params = decodeForm(form);
+ for (Map.Entry<String, String> e : params.entrySet()) {
+ addParameter(e.getKey(), e.getValue());
+ }
+ }
+
@Override
public String getParameter(String name) {
readFromForm();
Modified: incubator/wink/trunk/wink-component-test-support/src/test/java/org/apache/wink/test/mock/MockHttpServletRequestWrapperTestCase.java
URL: http://svn.apache.org/viewvc/incubator/wink/trunk/wink-component-test-support/src/test/java/org/apache/wink/test/mock/MockHttpServletRequestWrapperTestCase.java?rev=1084275&r1=1084274&r2=1084275&view=diff
==============================================================================
--- incubator/wink/trunk/wink-component-test-support/src/test/java/org/apache/wink/test/mock/MockHttpServletRequestWrapperTestCase.java (original)
+++ incubator/wink/trunk/wink-component-test-support/src/test/java/org/apache/wink/test/mock/MockHttpServletRequestWrapperTestCase.java Tue Mar 22 18:05:38 2011
@@ -25,6 +25,7 @@ import javax.servlet.http.HttpServletReq
import junit.framework.Assert;
import org.junit.Test;
+import org.springframework.mock.web.MockHttpServletRequest;
/**
*
@@ -62,5 +63,22 @@ public class MockHttpServletRequestWrapp
Assert.assertEquals(3, req.getParameterMap().size());
}
-}
+ @Test
+ public void testQuery() throws Exception {
+ MockHttpServletRequest req =
+ MockRequestConstructor.constructMockRequest("GET", "/test", "application/json", (String)null, null);
+ req.setQueryString("x=1&y=2&z=%20");
+ String x = req.getParameter("x");
+ String y = req.getParameter("y");
+ String z = req.getParameter("z");
+ String a = req.getParameter("a");
+
+ Assert.assertEquals("1", x);
+ Assert.assertEquals("2", y);
+ Assert.assertEquals(" ", z);
+ Assert.assertNull(a);
+
+ Assert.assertEquals(3, req.getParameterMap().size());
+ }
+}