You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/04/02 09:53:57 UTC

git commit: WICKET-4481 Add setHeader() to MockHttpServletRequest to be able to override default headers

Updated Branches:
  refs/heads/wicket-1.5.x d7e0d8845 -> 89e19bf71


WICKET-4481 Add setHeader() to MockHttpServletRequest to be able to override default headers


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/89e19bf7
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/89e19bf7
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/89e19bf7

Branch: refs/heads/wicket-1.5.x
Commit: 89e19bf7163a4cc7153d043a2f1b2dfa6e23e1b4
Parents: d7e0d88
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Mon Apr 2 09:51:28 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Mon Apr 2 09:53:38 2012 +0200

----------------------------------------------------------------------
 .../protocol/http/mock/MockHttpServletRequest.java |   22 ++++++++++++
 .../http/mock/MockHttpServletRequestTest.java      |   26 +++++++++++++++
 2 files changed, 48 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/89e19bf7/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
index 77e3ff9..986f152 100755
--- a/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
+++ b/wicket-core/src/main/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequest.java
@@ -294,6 +294,28 @@ public class MockHttpServletRequest implements HttpServletRequest
 	}
 
 	/**
+	 * Sets a header to the request. Overrides any previous value of this header.
+	 *
+	 * @param name
+	 *            The name of the header to add
+	 * @param value
+	 *            The value
+	 * @see #addHeader(String, String)
+	 */
+	public void setHeader(String name, String value)
+	{
+		@SuppressWarnings("unchecked")
+		List<String> list = (List<String>)headers.get(name);
+		if (list == null)
+		{
+			list = new ArrayList<String>(1);
+			headers.put(name, list);
+		}
+		list.clear();
+		list.add(value);
+	}
+
+	/**
 	 * @param name
 	 * @param date
 	 */

http://git-wip-us.apache.org/repos/asf/wicket/blob/89e19bf7/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java b/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
index 807896a..f8d7dc7 100755
--- a/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
+++ b/wicket-core/src/test/java/org/apache/wicket/protocol/http/mock/MockHttpServletRequestTest.java
@@ -16,6 +16,8 @@
  */
 package org.apache.wicket.protocol.http.mock;
 
+import java.util.Enumeration;
+
 import javax.servlet.http.HttpSession;
 
 import org.apache.wicket.WicketTestCase;
@@ -136,4 +138,28 @@ public class MockHttpServletRequestTest extends WicketTestCase
 		MockHttpServletRequest request = new MockHttpServletRequest(null, httpSession, null);
 		assertSame("HttpSession should be created!", httpSession, request.getSession(true));
 	}
+
+	/**
+	 * https://issues.apache.org/jira/browse/WICKET-4481
+	 */
+	@Test
+	public void setHeader()
+	{
+		HttpSession httpSession = new MockHttpSession(null);
+		MockHttpServletRequest request = new MockHttpServletRequest(null, httpSession, null);
+		String headerName = "headerName";
+		request.setHeader(headerName, "headerValue");
+		Enumeration<String> headers = request.getHeaders(headerName);
+		assertEquals("headerValue", headers.nextElement());
+		assertFalse(headers.hasMoreElements());
+		request.addHeader(headerName, "headerValue2");
+		headers = request.getHeaders(headerName);
+		assertEquals("headerValue", headers.nextElement());
+		assertEquals("headerValue2", headers.nextElement());
+		assertFalse(headers.hasMoreElements());
+		request.setHeader(headerName, "completelyNewValue");
+		headers = request.getHeaders(headerName);
+		assertEquals("completelyNewValue", headers.nextElement());
+		assertFalse(headers.hasMoreElements());
+	}
 }