01: /*
02: * $Id: RolesInterceptorTest.java 478625 2006-11-23 17:31:52Z wsmoak $
03: *
04: * Licensed to the Apache Software Foundation (ASF) under one
05: * or more contributor license agreements. See the NOTICE file
06: * distributed with this work for additional information
07: * regarding copyright ownership. The ASF licenses this file
08: * to you under the Apache License, Version 2.0 (the
09: * "License"); you may not use this file except in compliance
10: * with the License. You may obtain a copy of the License at
11: *
12: * http://www.apache.org/licenses/LICENSE-2.0
13: *
14: * Unless required by applicable law or agreed to in writing,
15: * software distributed under the License is distributed on an
16: * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17: * KIND, either express or implied. See the License for the
18: * specific language governing permissions and limitations
19: * under the License.
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: }
|