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 examples.cactus;
18:
19: import servletunit.struts.CactusStrutsTestCase;
20:
21: public class TestCactusLoginAction extends CactusStrutsTestCase {
22:
23: public TestCactusLoginAction(String testName) {
24: super (testName);
25: }
26:
27: public void testSuccessfulLogin() {
28:
29: addRequestParameter("username", "deryl");
30: addRequestParameter("password", "radar");
31: setRequestPathInfo("/login");
32: actionPerform();
33: verifyForward("success");
34: verifyForwardPath("/main/success.jsp");
35: assertEquals("deryl", getSession().getAttribute(
36: "authentication"));
37: verifyNoActionErrors();
38: }
39:
40: public void testFailedLogin() {
41:
42: addRequestParameter("username", "deryl");
43: addRequestParameter("password", "express");
44: setRequestPathInfo("/login");
45: actionPerform();
46: verifyForward("login");
47: verifyForwardPath("/login/login.jsp");
48: verifyInputForward();
49: verifyActionErrors(new String[] { "error.password.mismatch" });
50: assertNull(getSession().getAttribute("authentication"));
51: }
52:
53: public static void main(String[] args) {
54: junit.textui.TestRunner.run(TestCactusLoginAction.class);
55: }
56:
57: }
|