KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > servletunit > struts > tests > TestRedirectAction


1 // StrutsTestCase - a JUnit extension for testing Struts actions
2
// within the context of the ActionServlet.
3
// Copyright (C) 2002 Deryl Seale
4
//
5
// This library is free software; you can redistribute it and/or
6
// modify it under the terms of the Apache Software License as
7
// published by the Apache Software Foundation; either version 1.1
8
// of the License, or (at your option) any later version.
9
//
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 junit.framework.AssertionFailedError;
20 import servletunit.struts.MockStrutsTestCase;
21
22 public class TestRedirectAction extends MockStrutsTestCase {
23
24     public TestRedirectAction(String JavaDoc testName) {
25         super(testName);
26     }
27
28     public void setUp() throws Exception JavaDoc {
29         super.setUp();
30         setServletConfigFile("/WEB-INF/web.xml");
31     }
32
33     public void testVerifyRedirect() {
34         setRequestPathInfo("test","/testRedirect");
35         actionPerform();
36         verifyForward("redirect");
37         verifyForwardPath("/test/main/success.jsp");
38         verifyNoActionErrors();
39     }
40
41     /**
42      * Confirms verifyForward works correctly when the redirect path
43      * is a relative (not absolute) URL
44      */

45     public void testRelativeRedirect() {
46         setRequestPathInfo("test","/testRelativeRedirect");
47         actionPerform();
48         verifyForward("redirect");
49         verifyForwardPath("/test/main/success.jsp");
50         verifyNoActionErrors();
51     }
52
53     //todo: this test is for a future enhancement.
54
// public void testVerifiesRedirectedExternalURL() {
55
// setRequestPathInfo("test","/testRedirectToExternalURL");
56
// actionPerform();
57
// verifyForwardPath("http://www.yahoo.com");
58
// verifyForward("redirect");
59
// }
60

61     public void testVerifyRedirectFail() {
62         try {
63             setRequestPathInfo("test","/testRedirect");
64             actionPerform();
65             verifyForward("login");
66             verifyNoActionErrors();
67         } catch (AssertionFailedError e) {
68             return;
69         }
70         fail("We are apparently getting the same redirects, when they should be different.");
71     }
72
73
74 }
75
Popular Tags