1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.acegisecurity.intercept.web;
17
18 import java.util.ArrayList;
19 import java.util.Iterator;
20 import java.util.List;
21
22 import org.acegisecurity.ConfigAttributeDefinition;
23 import org.acegisecurity.SecurityConfig;
24
25 import junit.framework.TestCase;
26
27
28
29
30
31
32
33 public class FilterInvocationDefinitionDecoratorTest extends TestCase {
34
35 private FilterInvocationDefinitionDecorator decorator;
36
37 private FilterInvocationDefinition decorated;
38
39 protected void setUp() throws Exception {
40 super.setUp();
41 decorated = new MockFilterInvocationDefinition();
42 decorator = new FilterInvocationDefinitionDecorator(decorated);
43 }
44
45 public void testFilterInvocationDefinitionMapDecorator() {
46 decorator = new FilterInvocationDefinitionDecorator();
47 decorator.setDecorated(decorated);
48 assertEquals(decorated, decorator.getDecorated());
49 }
50
51 public void testSetMappings() {
52 List roles = new ArrayList();
53 roles.add("ROLE_USER");
54 roles.add("ROLE_ADMIN");
55
56 FilterInvocationDefinitionSourceMapping mapping = new FilterInvocationDefinitionSourceMapping();
57 mapping.setUrl("/secure/**");
58 mapping.setConfigAttributes(roles);
59
60 List mappings = new ArrayList();
61 mappings.add(mapping);
62
63 decorator.setMappings(mappings);
64
65 ConfigAttributeDefinition configDefinition = new ConfigAttributeDefinition();
66 Iterator it = roles.iterator();
67 while (it.hasNext()) {
68 String role = (String) it.next();
69 configDefinition.addConfigAttribute(new SecurityConfig(role));
70 }
71
72 it = decorator.getConfigAttributeDefinitions();
73 int i = 0;
74 while (it.hasNext()) {
75 i++;
76 assertEquals(configDefinition, it.next());
77 }
78 assertEquals(1, i);
79
80 assertEquals(mappings, decorator.getMappings());
81 }
82 }