01: package com.mockrunner.test.web;
02:
03: import javax.servlet.http.HttpServletRequestWrapper;
04:
05: import junit.framework.TestCase;
06:
07: import com.mockrunner.base.WebTestModule;
08: import com.mockrunner.mock.web.MockHttpServletRequest;
09: import com.mockrunner.mock.web.WebMockObjectFactory;
10: import com.mockrunner.servlet.ServletTestModule;
11:
12: public class WebTestModuleTest extends TestCase {
13: private WebTestModule module;
14: private WebMockObjectFactory factory;
15:
16: protected void setUp() throws Exception {
17: super .setUp();
18: factory = new WebMockObjectFactory();
19: module = new ServletTestModule(factory);
20: }
21:
22: public void testAttributes() {
23: module.setRequestAttribute("requestKey", "requestValue");
24: module.setSessionAttribute("sessionKey", "sessionValue");
25: assertEquals("requestValue", module
26: .getRequestAttribute("requestKey"));
27: assertEquals("sessionValue", module
28: .getSessionAttribute("sessionKey"));
29: }
30:
31: public void testWrappedRequest() {
32: TestWrapper wrapper = new TestWrapper();
33: factory.addRequestWrapper(wrapper);
34: module.setRequestAttribute("key", "value");
35: assertTrue(wrapper.wasSetAttributeCalled());
36: assertEquals("testAttribute", module.getRequestAttribute(null));
37: assertEquals("testParameter", module.getRequestParameter(null));
38: }
39:
40: private class TestWrapper extends HttpServletRequestWrapper {
41: private boolean setAttributeCalled = false;
42:
43: public TestWrapper() {
44: super (new MockHttpServletRequest());
45: }
46:
47: public void setAttribute(String key, Object value) {
48: setAttributeCalled = true;
49: }
50:
51: public Object getAttribute(String key) {
52: return "testAttribute";
53: }
54:
55: public String getParameter(String arg0) {
56: return "testParameter";
57: }
58:
59: public boolean wasSetAttributeCalled() {
60: return setAttributeCalled;
61: }
62: }
63: }
|