01: /* Copyright 2005 The JA-SIG Collaborative. All rights reserved.
02: * See license distributed with this file and
03: * available online at http://www.uportal.org/license.html
04: */
05:
06: package org.jasig.portal.container.servlet;
07:
08: import java.util.HashMap;
09:
10: import org.springframework.mock.web.MockHttpServletRequest;
11:
12: import junit.framework.TestCase;
13:
14: /**
15: * Unit test for DummyParameterRequestWrapper.
16: */
17: public class DummyParameterRequestWrapperTest extends TestCase {
18:
19: /**
20: * Test the case where DummyParameterRequestWrapper is instantiated with
21: * no parameter Map, such that its behavior is only to hide the parameter
22: * Map of the underlying request.
23: */
24: public void testNoParameters() {
25:
26: // build the backing Request
27: MockHttpServletRequest mockRequest = new MockHttpServletRequest();
28: mockRequest.addParameter("paramkey", "paramvalue");
29: assertEquals("paramvalue", mockRequest.getParameter("paramkey"));
30:
31: // wrap the backing request
32: DummyParameterRequestWrapper dummyWrapper = new DummyParameterRequestWrapper(
33: mockRequest);
34:
35: // show that the Dummy wrapper hides the parameter of the underlying Request
36: assertNull(dummyWrapper.getParameter("paramkey"));
37: assertTrue(dummyWrapper.getParameterMap().isEmpty());
38: assertFalse(dummyWrapper.getParameterNames().hasMoreElements());
39: assertNull(dummyWrapper.getParameterValues("paramkey"));
40: }
41:
42: /**
43: * Test the case where DummyParameterRequestWrapper is instantiated with
44: * a parameter Map, such that its behavior is to hide the parameter
45: * Map of the underlying request and to expose a new parameter map.
46: */
47: public void testParameters() {
48:
49: // build the Map of "virtual" parameters
50: HashMap paramMap = new HashMap();
51: paramMap.put("yesparamkey", new String[] { "yesparamvalue" });
52:
53: // build the backing Request
54: MockHttpServletRequest mockRequest = new MockHttpServletRequest();
55: mockRequest.addParameter("paramkey", "paramvalue");
56: assertEquals("paramvalue", mockRequest.getParameter("paramkey"));
57:
58: // wrap the backing request
59: DummyParameterRequestWrapper dummyWrapper = new DummyParameterRequestWrapper(
60: mockRequest, paramMap);
61:
62: // show that the Dummy wrapper hides the parameter of the underlying Request
63: assertNull(dummyWrapper.getParameter("paramkey"));
64: assertNull(dummyWrapper.getParameterValues("paramkey"));
65:
66: // show that the Dummy wrapper exposes the parameter in the Map of desired params
67: assertEquals("yesparamvalue", dummyWrapper
68: .getParameter("yesparamkey"));
69: assertEquals(1,
70: dummyWrapper.getParameterValues("yesparamkey").length);
71: assertEquals("yesparamvalue", dummyWrapper
72: .getParameterValues("yesparamkey")[0]);
73:
74: assertEquals(paramMap, dummyWrapper.getParameterMap());
75:
76: }
77:
78: }
|