1 package org.apache.turbine.pipeline;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 import java.util.Vector;
22
23 import javax.servlet.ServletConfig;
24 import javax.servlet.http.HttpServletResponse;
25
26 import org.apache.turbine.om.security.User;
27 import org.apache.turbine.services.template.TemplateService;
28 import org.apache.turbine.test.BaseTestCase;
29 import org.apache.turbine.test.EnhancedMockHttpServletRequest;
30 import org.apache.turbine.test.EnhancedMockHttpSession;
31 import org.apache.turbine.util.RunData;
32 import org.apache.turbine.util.TurbineConfig;
33 import org.apache.turbine.util.uri.URIConstants;
34
35 import com.mockobjects.servlet.MockHttpServletResponse;
36 import com.mockobjects.servlet.MockServletConfig;
37
38 /***
39 * Tests TurbinePipeline.
40 *
41 * @author <a href="mailto:epugh@opensourceConnections.com">Eric Pugh</a>
42 * @author <a href="mailto:peter@courcoux.biz">Peter Courcoux</a>
43 * @version $Id: DetermineTargetValveTest.java 222043 2004-12-06 17:47:33Z painter $
44 */
45 public class DetermineTargetValveTest extends BaseTestCase
46 {
47 private static TurbineConfig tc = null;
48 private static TemplateService ts = null;
49 private MockServletConfig config = null;
50 private EnhancedMockHttpServletRequest request = null;
51 private EnhancedMockHttpSession session = null;
52 private HttpServletResponse response = null;
53 private static ServletConfig sc = null;
54 /***
55 * Constructor
56 */
57 public DetermineTargetValveTest(String testName) throws Exception
58 {
59 super(testName);
60 }
61
62 protected void setUp() throws Exception {
63 super.setUp();
64 config = new MockServletConfig();
65 config.setupNoParameters();
66 request = new EnhancedMockHttpServletRequest();
67 request.setupServerName("bob");
68 request.setupGetProtocol("http");
69 request.setupScheme("scheme");
70 request.setupPathInfo("damn");
71 request.setupGetServletPath("damn2");
72 request.setupGetContextPath("wow");
73 request.setupGetContentType("html/text");
74 request.setupAddHeader("Content-type", "html/text");
75 request.setupAddHeader("Accept-Language", "en-US");
76
77
78
79
80
81
82 session = new EnhancedMockHttpSession();
83 response = new MockHttpServletResponse();
84
85 session.setupGetAttribute(User.SESSION_KEY, null);
86 request.setSession(session);
87
88
89
90 sc = config;
91 tc =
92 new TurbineConfig(
93 ".",
94 "/conf/test/CompleteTurbineResources.properties");
95 tc.initialize();
96 }
97
98 /***
99 * Tests the Valve.
100 */
101 public void testScreenSet() throws Exception
102 {
103 Vector v = new Vector();
104 v.add(URIConstants.CGI_SCREEN_PARAM);
105 request.setupGetParameterNames(v.elements());
106
107 request.setupAddParameter(URIConstants.CGI_SCREEN_PARAM,"TestScreen");
108
109 RunData runData = getRunData(request,response,config);
110
111 Pipeline pipeline = new TurbinePipeline();
112 PipelineData pipelineData = runData;
113 DetermineTargetValve valve = new DetermineTargetValve();
114 pipeline.addValve(valve);
115
116 pipeline.invoke(pipelineData);
117 assertEquals("TestScreen",runData.getScreen());
118
119
120 }
121 public void testScreenNotSet() throws Exception
122 {
123 Vector v = new Vector();
124 v.add(URIConstants.CGI_SCREEN_PARAM);
125 request.setupGetParameterNames(v.elements());
126
127 String screens[] = new String[1];
128 screens[0]=null;
129 request.setupAddParameter(URIConstants.CGI_SCREEN_PARAM,screens);
130
131 RunData runData = getRunData(request,response,config);
132
133 Pipeline pipeline = new TurbinePipeline();
134 PipelineData pipelineData = runData;
135
136 DetermineTargetValve valve = new DetermineTargetValve();
137 pipeline.addValve(valve);
138
139 pipeline.invoke(pipelineData);
140 assertEquals("",runData.getScreen());
141
142
143 }
144
145
146 }