001    package com.mockrunner.struts;
002    
003    import java.util.Locale;
004    
005    import javax.sql.DataSource;
006    
007    import org.apache.commons.validator.ValidatorResources;
008    import org.apache.struts.action.Action;
009    import org.apache.struts.action.ActionForm;
010    import org.apache.struts.action.ActionForward;
011    import org.apache.struts.action.ActionMessage;
012    import org.apache.struts.action.ActionMessages;
013    import org.apache.struts.action.DynaActionForm;
014    import org.apache.struts.config.FormBeanConfig;
015    import org.apache.struts.util.MessageResources;
016    
017    import com.mockrunner.base.BasicHTMLOutputTestCase;
018    import com.mockrunner.base.HTMLOutputModule;
019    import com.mockrunner.mock.web.ActionMockObjectFactory;
020    import com.mockrunner.mock.web.MockActionForward;
021    import com.mockrunner.mock.web.MockActionMapping;
022    import com.mockrunner.mock.web.MockPageContext;
023    import com.mockrunner.mock.web.WebMockObjectFactory;
024    
025    /**
026     * Delegator for {@link com.mockrunner.struts.ActionTestModule}. You can
027     * subclass this adapter or use {@link com.mockrunner.struts.ActionTestModule}
028     * directly (so your test case can use another base class).
029     * This basic adapter can be used if you don't need any other modules. It
030     * does not extend {@link com.mockrunner.base.BaseTestCase}. If you want
031     * to use several modules in conjunction, consider subclassing
032     * {@link com.mockrunner.struts.ActionTestCaseAdapter}.
033     * <b>This class is generated from the {@link com.mockrunner.struts.ActionTestModule}
034     * and should not be edited directly</b>.
035     */
036    public class BasicActionTestCaseAdapter extends BasicHTMLOutputTestCase
037    {
038        private ActionTestModule actionTestModule;
039        private ActionMockObjectFactory actionMockObjectFactory;
040    
041        public BasicActionTestCaseAdapter()
042        {
043    
044        }
045    
046        public BasicActionTestCaseAdapter(String name)
047        {
048            super(name);
049        }
050    
051        protected void tearDown() throws Exception
052        {
053            super.tearDown();
054            actionTestModule = null;
055            actionMockObjectFactory = null;
056        }
057    
058        /**
059         * Creates the {@link com.mockrunner.struts.ActionTestModule}. If you
060         * overwrite this method, you must call <code>super.setUp()</code>.
061         */
062        protected void setUp() throws Exception
063        {
064            super.setUp();
065            actionMockObjectFactory = createActionMockObjectFactory();
066            actionTestModule = createActionTestModule(getActionMockObjectFactory());
067        }
068    
069        /**
070         * Creates a {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
071         * @return the created {@link com.mockrunner.mock.web.ActionMockObjectFactory}
072         */
073        protected ActionMockObjectFactory createActionMockObjectFactory()
074        {
075            return new ActionMockObjectFactory();
076        }
077    
078        /**
079         * Same as <code>createActionMockObjectFactory(otherFactory, true)</code>.
080         */
081        protected ActionMockObjectFactory createActionMockObjectFactory(WebMockObjectFactory otherFactory)
082        {
083            return new ActionMockObjectFactory(otherFactory);
084        }
085    
086        /**
087         * Creates a {@link com.mockrunner.mock.web.ActionMockObjectFactory} based on another 
088         * {@link com.mockrunner.mock.web.WebMockObjectFactory}.
089         * The created {@link com.mockrunner.mock.web.ActionMockObjectFactory} will have its own
090         * request and response objects. If you set <i>createNewSession</i>
091         * to <code>true</code> it will also have its own session object.
092         * The two factories will share one <code>ServletContext</code>.
093         * Especially important for multithreading tests.
094         * If you set <i>createNewSession</i> to false, the two factories
095         * will share one session. This setting simulates multiple requests
096         * from the same client.
097         * @param otherFactory the other factory
098         * @param createNewSession create a new session for the new factory
099         * @return the created {@link com.mockrunner.mock.web.ActionMockObjectFactory}
100         */
101        protected ActionMockObjectFactory createActionMockObjectFactory(WebMockObjectFactory otherFactory, boolean createNewSession)
102        {
103            return new ActionMockObjectFactory(otherFactory, createNewSession);
104        }
105    
106        /**
107         * Gets the {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
108         * @return the {@link com.mockrunner.mock.web.ActionMockObjectFactory}
109         */
110        protected ActionMockObjectFactory getActionMockObjectFactory()
111        {
112            return actionMockObjectFactory;
113        }
114    
115        /**
116         * Sets the {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
117         * @param actionMockObjectFactory the {@link com.mockrunner.mock.web.ActionMockObjectFactory}
118         */
119        protected void setActionMockObjectFactory(ActionMockObjectFactory actionMockObjectFactory)
120        {
121            this.actionMockObjectFactory = actionMockObjectFactory;
122        }
123    
124        /**
125         * Creates a {@link com.mockrunner.struts.ActionTestModule} based on the current
126         * {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
127         * Same as <code>createActionTestModule(getActionMockObjectFactory())</code>.
128         * @return the created {@link com.mockrunner.struts.ActionTestModule}
129         */
130        protected ActionTestModule createActionTestModule()
131        {
132            return new ActionTestModule(getActionMockObjectFactory());
133        }
134    
135        /**
136         * Creates a {@link com.mockrunner.struts.ActionTestModule} with the specified
137         * {@link com.mockrunner.mock.web.ActionMockObjectFactory}.
138         * @return the created {@link com.mockrunner.struts.ActionTestModule}
139         */
140        protected ActionTestModule createActionTestModule(ActionMockObjectFactory mockFactory)
141        {
142            return new ActionTestModule(mockFactory);
143        }
144    
145        /**
146         * Returns the {@link com.mockrunner.struts.ActionTestModule} as
147         * {@link com.mockrunner.base.HTMLOutputModule}.
148         * @return the {@link com.mockrunner.base.HTMLOutputModule}
149         */
150        protected HTMLOutputModule getHTMLOutputModule()
151        {
152            return actionTestModule;
153        }
154    
155        /**
156         * Gets the {@link com.mockrunner.struts.ActionTestModule}.
157         * @return the {@link com.mockrunner.struts.ActionTestModule}
158         */
159        protected ActionTestModule getActionTestModule()
160        {
161            return actionTestModule;
162        }
163    
164        /**
165         * Sets the {@link com.mockrunner.struts.ActionTestModule}.
166         * @param actionTestModule the {@link com.mockrunner.struts.ActionTestModule}
167         */
168        protected void setActionTestModule(ActionTestModule actionTestModule)
169        {
170            this.actionTestModule = actionTestModule;
171        }
172    
173        /**
174         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setReset(boolean)}
175         */
176        protected void setReset(boolean reset)
177        {
178            actionTestModule.setReset(reset);
179        }
180    
181        /**
182         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setDoPopulate(boolean)}
183         */
184        protected void setDoPopulate(boolean doPopulate)
185        {
186            actionTestModule.setDoPopulate(doPopulate);
187        }
188    
189        /**
190         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setRecognizeMessagesInSession(boolean)}
191         */
192        protected void setRecognizeMessagesInSession(boolean recognizeInSession)
193        {
194            actionTestModule.setRecognizeMessagesInSession(recognizeInSession);
195        }
196    
197        /**
198         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setMessageAttributeKey(String)}
199         */
200        protected void setMessageAttributeKey(String messageAttributeKey)
201        {
202            actionTestModule.setMessageAttributeKey(messageAttributeKey);
203        }
204    
205        /**
206         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setErrorAttributeKey(String)}
207         */
208        protected void setErrorAttributeKey(String errorAttributeKey)
209        {
210            actionTestModule.setErrorAttributeKey(errorAttributeKey);
211        }
212    
213        /**
214         * Delegates to {@link com.mockrunner.struts.ActionTestModule#addMappedPropertyRequestPrefix(String)}
215         */
216        protected String addMappedPropertyRequestPrefix(String property)
217        {
218            return actionTestModule.addMappedPropertyRequestPrefix(property);
219        }
220    
221        /**
222         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setParameter(String)}
223         */
224        protected void setParameter(String parameter)
225        {
226            actionTestModule.setParameter(parameter);
227        }
228    
229        /**
230         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getMockActionMapping}
231         */
232        protected MockActionMapping getMockActionMapping()
233        {
234            return actionTestModule.getMockActionMapping();
235        }
236    
237        /**
238         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setValidate(boolean)}
239         */
240        protected void setValidate(boolean validate)
241        {
242            actionTestModule.setValidate(validate);
243        }
244    
245        /**
246         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setInput(String)}
247         */
248        protected void setInput(String input)
249        {
250            actionTestModule.setInput(input);
251        }
252    
253        /**
254         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setResources(String, MessageResources)}
255         */
256        protected void setResources(String key, MessageResources resources)
257        {
258            actionTestModule.setResources(key, resources);
259        }
260    
261        /**
262         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setResources(MessageResources)}
263         */
264        protected void setResources(MessageResources resources)
265        {
266            actionTestModule.setResources(resources);
267        }
268    
269        /**
270         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setDataSource(String, DataSource)}
271         */
272        protected void setDataSource(String key, DataSource dataSource)
273        {
274            actionTestModule.setDataSource(key, dataSource);
275        }
276    
277        /**
278         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setDataSource(DataSource)}
279         */
280        protected void setDataSource(DataSource dataSource)
281        {
282            actionTestModule.setDataSource(dataSource);
283        }
284    
285        /**
286         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setLocale(Locale)}
287         */
288        protected void setLocale(Locale locale)
289        {
290            actionTestModule.setLocale(locale);
291        }
292    
293        /**
294         * Delegates to {@link com.mockrunner.struts.ActionTestModule#createValidatorResources(String[])}
295         */
296        protected ValidatorResources createValidatorResources(String[] resourcesFiles)
297        {
298            return actionTestModule.createValidatorResources(resourcesFiles);
299        }
300    
301        /**
302         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setValidatorResources(ValidatorResources)}
303         */
304        protected void setValidatorResources(ValidatorResources validatorResources)
305        {
306            actionTestModule.setValidatorResources(validatorResources);
307        }
308    
309        /**
310         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyForward(String)}
311         */
312        protected void verifyForward(String path)
313        {
314            actionTestModule.verifyForward(path);
315        }
316    
317        /**
318         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionForward}
319         */
320        protected MockActionForward getActionForward()
321        {
322            return actionTestModule.getActionForward();
323        }
324    
325        /**
326         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyForwardName(String)}
327         */
328        protected void verifyForwardName(String name)
329        {
330            actionTestModule.verifyForwardName(name);
331        }
332    
333        /**
334         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyRedirect(boolean)}
335         */
336        protected void verifyRedirect(boolean redirect)
337        {
338            actionTestModule.verifyRedirect(redirect);
339        }
340    
341        /**
342         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNoActionErrors}
343         */
344        protected void verifyNoActionErrors()
345        {
346            actionTestModule.verifyNoActionErrors();
347        }
348    
349        /**
350         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrors}
351         */
352        protected ActionMessages getActionErrors()
353        {
354            return actionTestModule.getActionErrors();
355        }
356    
357        /**
358         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNoActionMessages}
359         */
360        protected void verifyNoActionMessages()
361        {
362            actionTestModule.verifyNoActionMessages();
363        }
364    
365        /**
366         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessages}
367         */
368        protected ActionMessages getActionMessages()
369        {
370            return actionTestModule.getActionMessages();
371        }
372    
373        /**
374         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyHasActionErrors}
375         */
376        protected void verifyHasActionErrors()
377        {
378            actionTestModule.verifyHasActionErrors();
379        }
380    
381        /**
382         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyHasActionMessages}
383         */
384        protected void verifyHasActionMessages()
385        {
386            actionTestModule.verifyHasActionMessages();
387        }
388    
389        /**
390         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorPresent(String)}
391         */
392        protected void verifyActionErrorPresent(String errorKey)
393        {
394            actionTestModule.verifyActionErrorPresent(errorKey);
395        }
396    
397        /**
398         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessagePresent(String)}
399         */
400        protected void verifyActionMessagePresent(String messageKey)
401        {
402            actionTestModule.verifyActionMessagePresent(messageKey);
403        }
404    
405        /**
406         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorNotPresent(String)}
407         */
408        protected void verifyActionErrorNotPresent(String errorKey)
409        {
410            actionTestModule.verifyActionErrorNotPresent(errorKey);
411        }
412    
413        /**
414         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageNotPresent(String)}
415         */
416        protected void verifyActionMessageNotPresent(String messageKey)
417        {
418            actionTestModule.verifyActionMessageNotPresent(messageKey);
419        }
420    
421        /**
422         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrors(String[])}
423         */
424        protected void verifyActionErrors(String[] errorKeys)
425        {
426            actionTestModule.verifyActionErrors(errorKeys);
427        }
428    
429        /**
430         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessages(String[])}
431         */
432        protected void verifyActionMessages(String[] messageKeys)
433        {
434            actionTestModule.verifyActionMessages(messageKeys);
435        }
436    
437        /**
438         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorValues(String, Object[])}
439         */
440        protected void verifyActionErrorValues(String errorKey, Object[] values)
441        {
442            actionTestModule.verifyActionErrorValues(errorKey, values);
443        }
444    
445        /**
446         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrorByKey(String)}
447         */
448        protected ActionMessage getActionErrorByKey(String errorKey)
449        {
450            return actionTestModule.getActionErrorByKey(errorKey);
451        }
452    
453        /**
454         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageValues(String, Object[])}
455         */
456        protected void verifyActionMessageValues(String messageKey, Object[] values)
457        {
458            actionTestModule.verifyActionMessageValues(messageKey, values);
459        }
460    
461        /**
462         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessageByKey(String)}
463         */
464        protected ActionMessage getActionMessageByKey(String messageKey)
465        {
466            return actionTestModule.getActionMessageByKey(messageKey);
467        }
468    
469        /**
470         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorValue(String, Object)}
471         */
472        protected void verifyActionErrorValue(String errorKey, Object value)
473        {
474            actionTestModule.verifyActionErrorValue(errorKey, value);
475        }
476    
477        /**
478         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageValue(String, Object)}
479         */
480        protected void verifyActionMessageValue(String messageKey, Object value)
481        {
482            actionTestModule.verifyActionMessageValue(messageKey, value);
483        }
484    
485        /**
486         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionErrorProperty(String, String)}
487         */
488        protected void verifyActionErrorProperty(String errorKey, String property)
489        {
490            actionTestModule.verifyActionErrorProperty(errorKey, property);
491        }
492    
493        /**
494         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyActionMessageProperty(String, String)}
495         */
496        protected void verifyActionMessageProperty(String messageKey, String property)
497        {
498            actionTestModule.verifyActionMessageProperty(messageKey, property);
499        }
500    
501        /**
502         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNumberActionErrors(int)}
503         */
504        protected void verifyNumberActionErrors(int number)
505        {
506            actionTestModule.verifyNumberActionErrors(number);
507        }
508    
509        /**
510         * Delegates to {@link com.mockrunner.struts.ActionTestModule#verifyNumberActionMessages(int)}
511         */
512        protected void verifyNumberActionMessages(int number)
513        {
514            actionTestModule.verifyNumberActionMessages(number);
515        }
516    
517        /**
518         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionMessages(ActionMessages)}
519         */
520        protected void setActionMessages(ActionMessages messages)
521        {
522            actionTestModule.setActionMessages(messages);
523        }
524    
525        /**
526         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionMessagesToSession(ActionMessages)}
527         */
528        protected void setActionMessagesToSession(ActionMessages messages)
529        {
530            actionTestModule.setActionMessagesToSession(messages);
531        }
532    
533        /**
534         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessagesFromRequest}
535         */
536        protected ActionMessages getActionMessagesFromRequest()
537        {
538            return actionTestModule.getActionMessagesFromRequest();
539        }
540    
541        /**
542         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionMessagesFromSession}
543         */
544        protected ActionMessages getActionMessagesFromSession()
545        {
546            return actionTestModule.getActionMessagesFromSession();
547        }
548    
549        /**
550         * Delegates to {@link com.mockrunner.struts.ActionTestModule#hasActionMessages}
551         */
552        protected boolean hasActionMessages()
553        {
554            return actionTestModule.hasActionMessages();
555        }
556    
557        /**
558         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionErrors(ActionMessages)}
559         */
560        protected void setActionErrors(ActionMessages errors)
561        {
562            actionTestModule.setActionErrors(errors);
563        }
564    
565        /**
566         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionErrorsToSession(ActionMessages)}
567         */
568        protected void setActionErrorsToSession(ActionMessages errors)
569        {
570            actionTestModule.setActionErrorsToSession(errors);
571        }
572    
573        /**
574         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrorsFromRequest}
575         */
576        protected ActionMessages getActionErrorsFromRequest()
577        {
578            return actionTestModule.getActionErrorsFromRequest();
579        }
580    
581        /**
582         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionErrorsFromSession}
583         */
584        protected ActionMessages getActionErrorsFromSession()
585        {
586            return actionTestModule.getActionErrorsFromSession();
587        }
588    
589        /**
590         * Delegates to {@link com.mockrunner.struts.ActionTestModule#hasActionErrors}
591         */
592        protected boolean hasActionErrors()
593        {
594            return actionTestModule.hasActionErrors();
595        }
596    
597        /**
598         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getMockPageContext}
599         */
600        protected MockPageContext getMockPageContext()
601        {
602            return actionTestModule.getMockPageContext();
603        }
604    
605        /**
606         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getLastAction}
607         */
608        protected Action getLastAction()
609        {
610            return actionTestModule.getLastAction();
611        }
612    
613        /**
614         * Delegates to {@link com.mockrunner.struts.ActionTestModule#generateValidToken}
615         */
616        protected void generateValidToken()
617        {
618            actionTestModule.generateValidToken();
619        }
620    
621        /**
622         * Delegates to {@link com.mockrunner.struts.ActionTestModule#getActionForm}
623         */
624        protected ActionForm getActionForm()
625        {
626            return actionTestModule.getActionForm();
627        }
628    
629        /**
630         * Delegates to {@link com.mockrunner.struts.ActionTestModule#setActionForm(ActionForm)}
631         */
632        protected void setActionForm(ActionForm formObj)
633        {
634            actionTestModule.setActionForm(formObj);
635        }
636    
637        /**
638         * Delegates to {@link com.mockrunner.struts.ActionTestModule#createActionForm(Class)}
639         */
640        protected ActionForm createActionForm(Class form)
641        {
642            return actionTestModule.createActionForm(form);
643        }
644    
645        /**
646         * Delegates to {@link com.mockrunner.struts.ActionTestModule#createDynaActionForm(FormBeanConfig)}
647         */
648        protected DynaActionForm createDynaActionForm(FormBeanConfig formConfig)
649        {
650            return actionTestModule.createDynaActionForm(formConfig);
651        }
652    
653        /**
654         * Delegates to {@link com.mockrunner.struts.ActionTestModule#populateRequestToForm}
655         */
656        protected void populateRequestToForm()
657        {
658            actionTestModule.populateRequestToForm();
659        }
660    
661        /**
662         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Action)}
663         */
664        protected ActionForward actionPerform(Action action)
665        {
666            return actionTestModule.actionPerform(action);
667        }
668    
669        /**
670         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Action, ActionForm)}
671         */
672        protected ActionForward actionPerform(Action action, ActionForm form)
673        {
674            return actionTestModule.actionPerform(action, form);
675        }
676    
677        /**
678         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Class)}
679         */
680        protected ActionForward actionPerform(Class action)
681        {
682            return actionTestModule.actionPerform(action);
683        }
684    
685        /**
686         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Class, Class)}
687         */
688        protected ActionForward actionPerform(Class action, Class form)
689        {
690            return actionTestModule.actionPerform(action, form);
691        }
692    
693        /**
694         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Action, Class)}
695         */
696        protected ActionForward actionPerform(Action action, Class form)
697        {
698            return actionTestModule.actionPerform(action, form);
699        }
700    
701        /**
702         * Delegates to {@link com.mockrunner.struts.ActionTestModule#actionPerform(Class, ActionForm)}
703         */
704        protected ActionForward actionPerform(Class action, ActionForm form)
705        {
706            return actionTestModule.actionPerform(action, form);
707        }
708    }