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());
+    }
+}