1 package org.apache.struts.chain.commands.servlet;
2
3 import junit.framework.TestCase;
4
5 import org.apache.struts.Globals;
6 import org.apache.struts.chain.contexts.ServletActionContext;
7 import org.apache.struts.mock.MockActionServlet;
8 import org.apache.struts.mock.MockHttpServletRequest;
9 import org.apache.struts.mock.MockHttpServletResponse;
10 import org.apache.struts.mock.MockServletConfig;
11 import org.apache.struts.mock.MockServletContext;
12
13
14 public class TestSetOriginalURI extends TestCase {
15 SetOriginalURI command = null;
16
17 public TestSetOriginalURI(String _name) {
18 super(_name);
19 }
20
21
22 protected void setUp() throws Exception {
23 this.command = new SetOriginalURI();
24 }
25
26
27 protected void tearDown() {
28 }
29
30 public void testSetOriginalURI()
31 throws Exception {
32 MockHttpServletRequest request =
33 new MockHttpServletRequest("foo/", "bar.do", null, null);
34 MockServletConfig servletConfig = new MockServletConfig();
35 MockServletContext servletContext = new MockServletContext();
36 MockActionServlet servlet =
37 new MockActionServlet(servletContext, servletConfig);
38
39 servlet.initInternal();
40
41 ServletActionContext saContext =
42 new ServletActionContext(servletContext, request,
43 new MockHttpServletResponse());
44
45 saContext.setActionServlet(servlet);
46
47 boolean result = command.execute(saContext);
48
49 assertTrue(!result);
50
51 String uri = (String) request.getAttribute(Globals.ORIGINAL_URI_KEY);
52
53 assertTrue("Original uri not correct: " + uri, "bar.do".equals(uri));
54
55 request.setPathElements("foo/", "bar2.do", null, null);
56 uri = (String) request.getAttribute(Globals.ORIGINAL_URI_KEY);
57 assertTrue("Original uri not correct: " + uri, "bar.do".equals(uri));
58 }
59
60
61 public static void main(String[] argv) {
62 String[] testCaseList = { TestSetOriginalURI.class.getName() };
63
64 junit.textui.TestRunner.main(testCaseList);
65 }
66 }