1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package org.apache.struts2.interceptor;
22
23 import java.util.List;
24
25 import org.apache.struts2.StrutsTestCase;
26
27 import com.mockobjects.servlet.MockHttpServletRequest;
28 import com.mockobjects.servlet.MockHttpServletResponse;
29
30 public class RolesInterceptorTest extends StrutsTestCase {
31
32 private RolesInterceptor interceptor = new RolesInterceptor();
33
34 public void setUp() throws Exception {
35 super.setUp();
36 interceptor = new RolesInterceptor();
37 }
38
39 public void testStringToList() {
40 List list = interceptor.stringToList("foo");
41 assertNotNull(list);
42 assertEquals(1, list.size());
43
44 list = interceptor.stringToList("foo,bar");
45 assertEquals(2, list.size());
46 assertEquals("foo", (String)list.get(0));
47
48 list = interceptor.stringToList("foo, bar");
49 assertEquals(2, list.size());
50 assertEquals("bar", (String)list.get(1));
51
52 list = interceptor.stringToList("foo , bar");
53 assertEquals(2, list.size());
54 assertEquals("bar", (String)list.get(1));
55 }
56
57 public void testIsAllowed() throws Exception {
58 MockHttpServletRequest request = new MockHttpServletRequest() {
59 public boolean isUserInRole(String role) {
60 return "admin".equals(role);
61 }
62 };
63 interceptor.setAllowedRoles("admin");
64 assertTrue(interceptor.isAllowed(request, null));
65
66 interceptor.setAllowedRoles("bar, admin");
67 assertTrue(interceptor.isAllowed(request, null));
68
69 interceptor.setAllowedRoles(null);
70 assertTrue(interceptor.isAllowed(request, null));
71
72 interceptor.setDisallowedRoles("bar");
73 assertTrue(interceptor.isAllowed(request, null));
74
75 interceptor.setDisallowedRoles("bar, admin");
76 assertTrue(!interceptor.isAllowed(request, null));
77
78 }
79
80 public void testHandleRejection() throws Exception {
81 MockHttpServletResponse response = new MockHttpServletResponse();
82 response.setExpectedError(response.SC_FORBIDDEN);
83 interceptor.handleRejection(null, response);
84 response.verify();
85 }
86 }