001 package com.mockrunner.servlet;
002
003 import javax.servlet.Filter;
004 import javax.servlet.ServletRequest;
005 import javax.servlet.ServletResponse;
006 import javax.servlet.http.HttpServlet;
007
008 import com.mockrunner.base.BasicHTMLOutputTestCase;
009 import com.mockrunner.base.HTMLOutputModule;
010 import com.mockrunner.mock.web.WebMockObjectFactory;
011
012 /**
013 * Delegator for {@link com.mockrunner.servlet.ServletTestModule}. You can
014 * subclass this adapter or use {@link com.mockrunner.servlet.ServletTestModule}
015 * directly (so your test case can use another base class).
016 * This basic adapter can be used if you don't need any other modules. It
017 * does not extend {@link com.mockrunner.base.BaseTestCase}. If you want
018 * to use several modules in conjunction, consider subclassing
019 * {@link com.mockrunner.servlet.ServletTestCaseAdapter}.
020 * <b>This class is generated from the {@link com.mockrunner.servlet.ServletTestModule}
021 * and should not be edited directly</b>.
022 */
023 public class BasicServletTestCaseAdapter extends BasicHTMLOutputTestCase
024 {
025 private ServletTestModule servletTestModule;
026 private WebMockObjectFactory webMockObjectFactory;
027
028 public BasicServletTestCaseAdapter()
029 {
030
031 }
032
033 public BasicServletTestCaseAdapter(String name)
034 {
035 super(name);
036 }
037
038 protected void tearDown() throws Exception
039 {
040 super.tearDown();
041 servletTestModule = null;
042 webMockObjectFactory = null;
043 }
044
045 /**
046 * Creates the {@link com.mockrunner.servlet.ServletTestModule}. If you
047 * overwrite this method, you must call <code>super.setUp()</code>.
048 */
049 protected void setUp() throws Exception
050 {
051 super.setUp();
052 webMockObjectFactory = createWebMockObjectFactory();
053 servletTestModule = createServletTestModule(getWebMockObjectFactory());
054 }
055
056 /**
057 * Creates a {@link com.mockrunner.mock.web.WebMockObjectFactory}.
058 * @return the created {@link com.mockrunner.mock.web.WebMockObjectFactory}
059 */
060 protected WebMockObjectFactory createWebMockObjectFactory()
061 {
062 return new WebMockObjectFactory();
063 }
064
065 /**
066 * Same as <code>createWebMockObjectFactory(otherFactory, true)</code>.
067 */
068 protected WebMockObjectFactory createWebMockObjectFactory(WebMockObjectFactory otherFactory)
069 {
070 return new WebMockObjectFactory(otherFactory);
071 }
072
073 /**
074 * Creates a {@link com.mockrunner.mock.web.WebMockObjectFactory} based on another
075 * {@link com.mockrunner.mock.web.WebMockObjectFactory}.
076 * The created {@link com.mockrunner.mock.web.WebMockObjectFactory} will have its own
077 * request and response objects. If you set <i>createNewSession</i>
078 * to <code>true</code> it will also have its own session object.
079 * The two factories will share one <code>ServletContext</code>.
080 * Especially important for multithreading tests.
081 * If you set <i>createNewSession</i> to false, the two factories
082 * will share one session. This setting simulates multiple requests
083 * from the same client.
084 * @param otherFactory the other factory
085 * @param createNewSession create a new session for the new factory
086 * @return the created {@link com.mockrunner.mock.web.WebMockObjectFactory}
087 */
088 protected WebMockObjectFactory createWebMockObjectFactory(WebMockObjectFactory otherFactory, boolean createNewSession)
089 {
090 return new WebMockObjectFactory(otherFactory, createNewSession);
091 }
092
093 /**
094 * Gets the {@link com.mockrunner.mock.web.WebMockObjectFactory}.
095 * @return the {@link com.mockrunner.mock.web.WebMockObjectFactory}
096 */
097 protected WebMockObjectFactory getWebMockObjectFactory()
098 {
099 return webMockObjectFactory;
100 }
101
102 /**
103 * Sets the {@link com.mockrunner.mock.web.WebMockObjectFactory}.
104 * @param webMockObjectFactory the {@link com.mockrunner.mock.web.WebMockObjectFactory}
105 */
106 protected void setWebMockObjectFactory(WebMockObjectFactory webMockObjectFactory)
107 {
108 this.webMockObjectFactory = webMockObjectFactory;
109 }
110
111 /**
112 * Creates a {@link com.mockrunner.servlet.ServletTestModule} based on the current
113 * {@link com.mockrunner.mock.web.WebMockObjectFactory}.
114 * Same as <code>createServletTestModule(getWebMockObjectFactory())</code>.
115 * @return the created {@link com.mockrunner.servlet.ServletTestModule}
116 */
117 protected ServletTestModule createServletTestModule()
118 {
119 return new ServletTestModule(getWebMockObjectFactory());
120 }
121
122 /**
123 * Creates a {@link com.mockrunner.servlet.ServletTestModule} with the specified
124 * {@link com.mockrunner.mock.web.WebMockObjectFactory}.
125 * @return the created {@link com.mockrunner.servlet.ServletTestModule}
126 */
127 protected ServletTestModule createServletTestModule(WebMockObjectFactory mockFactory)
128 {
129 return new ServletTestModule(mockFactory);
130 }
131
132 /**
133 * Returns the {@link com.mockrunner.servlet.ServletTestModule} as
134 * {@link com.mockrunner.base.HTMLOutputModule}.
135 * @return the {@link com.mockrunner.base.HTMLOutputModule}
136 */
137 protected HTMLOutputModule getHTMLOutputModule()
138 {
139 return servletTestModule;
140 }
141
142 /**
143 * Gets the {@link com.mockrunner.servlet.ServletTestModule}.
144 * @return the {@link com.mockrunner.servlet.ServletTestModule}
145 */
146 protected ServletTestModule getServletTestModule()
147 {
148 return servletTestModule;
149 }
150
151 /**
152 * Sets the {@link com.mockrunner.servlet.ServletTestModule}.
153 * @param servletTestModule the {@link com.mockrunner.servlet.ServletTestModule}
154 */
155 protected void setServletTestModule(ServletTestModule servletTestModule)
156 {
157 this.servletTestModule = servletTestModule;
158 }
159
160 /**
161 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#init}
162 */
163 protected void init()
164 {
165 servletTestModule.init();
166 }
167
168 /**
169 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#setServlet(HttpServlet, boolean)}
170 */
171 protected void setServlet(HttpServlet servlet, boolean doInit)
172 {
173 servletTestModule.setServlet(servlet, doInit);
174 }
175
176 /**
177 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#setServlet(HttpServlet)}
178 */
179 protected void setServlet(HttpServlet servlet)
180 {
181 servletTestModule.setServlet(servlet);
182 }
183
184 /**
185 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doGet}
186 */
187 protected void doGet()
188 {
189 servletTestModule.doGet();
190 }
191
192 /**
193 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doPost}
194 */
195 protected void doPost()
196 {
197 servletTestModule.doPost();
198 }
199
200 /**
201 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doHead}
202 */
203 protected void doHead()
204 {
205 servletTestModule.doHead();
206 }
207
208 /**
209 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doPut}
210 */
211 protected void doPut()
212 {
213 servletTestModule.doPut();
214 }
215
216 /**
217 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doDelete}
218 */
219 protected void doDelete()
220 {
221 servletTestModule.doDelete();
222 }
223
224 /**
225 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doOptions}
226 */
227 protected void doOptions()
228 {
229 servletTestModule.doOptions();
230 }
231
232 /**
233 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doTrace}
234 */
235 protected void doTrace()
236 {
237 servletTestModule.doTrace();
238 }
239
240 /**
241 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#service}
242 */
243 protected void service()
244 {
245 servletTestModule.service();
246 }
247
248 /**
249 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#getServlet}
250 */
251 protected HttpServlet getServlet()
252 {
253 return servletTestModule.getServlet();
254 }
255
256 /**
257 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#createServlet(Class)}
258 */
259 protected HttpServlet createServlet(Class servletClass)
260 {
261 return servletTestModule.createServlet(servletClass);
262 }
263
264 /**
265 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#createFilter(Class)}
266 */
267 protected Filter createFilter(Class filterClass)
268 {
269 return servletTestModule.createFilter(filterClass);
270 }
271
272 /**
273 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#addFilter(Filter)}
274 */
275 protected void addFilter(Filter filter)
276 {
277 servletTestModule.addFilter(filter);
278 }
279
280 /**
281 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#addFilter(Filter, boolean)}
282 */
283 protected void addFilter(Filter filter, boolean doInit)
284 {
285 servletTestModule.addFilter(filter, doInit);
286 }
287
288 /**
289 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#releaseFilters}
290 */
291 protected void releaseFilters()
292 {
293 servletTestModule.releaseFilters();
294 }
295
296 /**
297 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#setDoChain(boolean)}
298 */
299 protected void setDoChain(boolean doChain)
300 {
301 servletTestModule.setDoChain(doChain);
302 }
303
304 /**
305 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#doFilter}
306 */
307 protected void doFilter()
308 {
309 servletTestModule.doFilter();
310 }
311
312 /**
313 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#getFilteredRequest}
314 */
315 protected ServletRequest getFilteredRequest()
316 {
317 return servletTestModule.getFilteredRequest();
318 }
319
320 /**
321 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#getFilteredResponse}
322 */
323 protected ServletResponse getFilteredResponse()
324 {
325 return servletTestModule.getFilteredResponse();
326 }
327
328 /**
329 * Delegates to {@link com.mockrunner.servlet.ServletTestModule#clearOutput}
330 */
331 protected void clearOutput()
332 {
333 servletTestModule.clearOutput();
334 }
335 }