1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.struts2;
19
20 /***
21 * <code>RequestUtilsTest</code>
22 *
23 */
24 import javax.servlet.http.HttpServletRequest;
25
26 import junit.framework.TestCase;
27
28 import org.easymock.MockControl;
29
30 public class RequestUtilsTest extends TestCase {
31
32 private MockControl control;
33 private HttpServletRequest requestMock;
34
35 public void testGetServletPathWithServletPathSet() throws Exception {
36 control.expectAndReturn(requestMock.getServletPath(), "/mycontext/");
37 control.replay();
38 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
39 control.verify();
40 }
41
42 public void testGetServletPathWithRequestURIAndEmptyContextPath() throws Exception {
43 control.expectAndReturn(requestMock.getServletPath(), null);
44 control.expectAndReturn(requestMock.getRequestURI(), "/mycontext/test.jsp");
45 control.expectAndReturn(requestMock.getContextPath(), "");
46 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
47 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
48 control.replay();
49 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
50 control.verify();
51 }
52
53 public void testGetServletPathWithRequestURIAndContextPathSet() throws Exception {
54 control.expectAndReturn(requestMock.getServletPath(), null);
55 control.expectAndReturn(requestMock.getRequestURI(), "/servlet/mycontext/test.jsp");
56 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
57 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
58 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
59 control.expectAndReturn(requestMock.getPathInfo(), "test.jsp");
60 control.replay();
61 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
62 control.verify();
63 }
64
65 public void testGetServletPathWithRequestURIAndContextPathSetButNoPatchInfo() throws Exception {
66 control.expectAndReturn(requestMock.getServletPath(), null);
67 control.expectAndReturn(requestMock.getRequestURI(), "/servlet/mycontext/");
68 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
69 control.expectAndReturn(requestMock.getContextPath(), "/servlet");
70 control.expectAndReturn(requestMock.getPathInfo(), null);
71 control.replay();
72 assertEquals("/mycontext/", RequestUtils.getServletPath(requestMock));
73 control.verify();
74 }
75
76 protected void setUp() {
77 control = MockControl.createControl(HttpServletRequest.class);
78 requestMock = (HttpServletRequest) control.getMock();
79 }
80
81 }