1 package org.apache.turbine.services.security;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import java.util.HashMap;
25 import java.util.Map;
26
27 import org.apache.commons.configuration.BaseConfiguration;
28 import org.apache.commons.configuration.Configuration;
29
30 import org.apache.turbine.services.ServiceManager;
31 import org.apache.turbine.services.TurbineServices;
32 import org.apache.turbine.services.security.SecurityService;
33 import org.apache.turbine.test.BaseTestCase;
34 import org.apache.turbine.test.MockSecurityService;
35 import org.apache.turbine.util.TurbineConfig;
36 import org.apache.turbine.util.security.AccessControlList;
37 import org.apache.turbine.util.security.TurbineAccessControlList;
38
39 public class AccessControlListTest
40 extends BaseTestCase
41 {
42
43 private static TurbineConfig tc = null;
44 private static final String PREFIX = "services." +
45 SecurityService.SERVICE_NAME + '.';
46
47 public AccessControlListTest( String name )
48 throws Exception
49 {
50 super(name);
51 }
52
53 public void setUp() throws Exception
54 {
55 tc = new TurbineConfig(".", "/conf/test/TestFulcrumComponents.properties");
56 tc.initialize();
57 }
58 public void tearDown() throws Exception
59 {
60 if (tc != null)
61 {
62 tc.dispose();
63 }
64 }
65
66 public void testSelection() throws Exception
67 {
68 ServiceManager serviceManager = TurbineServices.getInstance();
69 serviceManager.setApplicationRoot(".");
70
71 Configuration cfg = new BaseConfiguration();
72
73 cfg.setProperty(PREFIX + "classname",
74 MockSecurityService.class.getName());
75
76 cfg.setProperty(PREFIX + "acl.class",
77 TurbineAccessControlList.class.getName());
78
79
80 cfg.setProperty(PREFIX+"earlyInit", "true");
81
82
83
84
85
86
87 serviceManager.setConfiguration(cfg);
88
89 serviceManager.init();
90
91 Class aclClass = TurbineSecurity.getService().getAclClass();
92
93 if(!aclClass.getName().equals(TurbineAccessControlList.class.getName()))
94 {
95 fail("ACL Class is " + aclClass.getName()
96 + ", expected was " + TurbineAccessControlList.class.getName());
97 }
98
99 Map roles = new HashMap();
100 Map permissions = new HashMap();
101
102 AccessControlList aclTest =
103 TurbineSecurity.getService().getAclInstance(roles, permissions);
104
105 if(aclTest == null)
106 {
107 fail("Security Service failed to deliver a " + aclClass.getName()
108 + " Object");
109 }
110 }
111
112
113 }