01: // StrutsTestCase - a JUnit extension for testing Struts actions
02: // within the context of the ActionServlet.
03: // Copyright (C) 2002 Deryl Seale
04: //
05: // This library is free software; you can redistribute it and/or
06: // modify it under the terms of the Apache Software License as
07: // published by the Apache Software Foundation; either version 1.1
08: // of the License, or (at your option) any later version.
09: //
10: // This library is distributed in the hope that it will be useful,
11: // but WITHOUT ANY WARRANTY; without even the implied warranty of
12: // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13: // Apache Software Foundation Licens for more details.
14: //
15: // You may view the full text here: http://www.apache.org/LICENSE.txt
16:
17: package servletunit.struts.tests;
18:
19: import examples.LoginForm;
20: import org.apache.struts.action.ActionForm;
21: import servletunit.struts.MockStrutsTestCase;
22:
23: public class TestGetActionForm extends MockStrutsTestCase {
24:
25: public TestGetActionForm(String testName) {
26: super (testName);
27: }
28:
29: public void setUp() throws Exception {
30: super .setUp();
31: setServletConfigFile("/WEB-INF/web.xml");
32: }
33:
34: public void testSuccessfulLogin() {
35:
36: addRequestParameter("username", "deryl");
37: addRequestParameter("password", "radar");
38: setRequestPathInfo("/login");
39: actionPerform();
40: verifyForward("success");
41: verifyForwardPath("/main/success.jsp");
42: assertEquals("deryl", getSession().getAttribute(
43: "authentication"));
44: verifyNoActionErrors();
45: ActionForm form = getActionForm();
46: assertNotNull(form);
47: assertEquals(((LoginForm) form).getUsername(), "deryl");
48: }
49:
50: public static void main(String[] args) {
51: junit.textui.TestRunner.run(TestGetActionForm.class);
52: }
53:
54: }
|