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 }