1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 package org.astrogrid.community.common.policy.manager ;
40
41 import org.apache.commons.logging.Log ;
42 import org.apache.commons.logging.LogFactory ;
43
44 import org.astrogrid.community.common.policy.data.GroupData ;
45 import org.astrogrid.community.common.policy.data.ResourceData ;
46 import org.astrogrid.community.common.policy.data.PolicyPermission ;
47
48 import org.astrogrid.community.common.exception.CommunityPolicyException ;
49 import org.astrogrid.community.common.exception.CommunityIdentifierException ;
50
51 import org.astrogrid.community.common.service.CommunityServiceTest ;
52
53 public class PermissionManagerTest
54 extends CommunityServiceTest
55 {
56 /***
57 * Our debug logger.
58 *
59 */
60 private static Log log = LogFactory.getLog(PermissionManagerTest.class);
61
62 /***
63 * Public constructor.
64 *
65 */
66 public PermissionManagerTest()
67 {
68 }
69
70 /***
71 * Our target GroupManager.
72 *
73 */
74 private PermissionManager permissionManager ;
75 private ResourceManagerTest resourceManager ;
76 private GroupManagerTest groupManager ;
77
78 /***
79 * Get our target GroupManager.
80 *
81 */
82 public PermissionManager getPermissionManager()
83 {
84 return this.permissionManager ;
85 }
86
87 /***
88 * Set our target PermissionManager.
89 *
90 */
91 public void setPermissionManager(PermissionManager manager)
92 {
93 log.debug("") ;
94 log.debug("----\"----") ;
95 log.debug("GroupManagerTest.setGroupManager()") ;
96 log.debug(" Manager : " + manager.getClass()) ;
97
98
99 this.permissionManager = manager ;
100
101
102 this.setCommunityService(manager) ;
103 }
104
105 /***
106 * Set our target ResourceManager.
107 *
108 */
109 public void setResourceManager(ResourceManager manager)
110 {
111 log.debug("") ;
112 log.debug("----\"----") ;
113 log.debug("ResourceManagerTest.setResourceManager()") ;
114 log.debug(" Manager : " + manager.getClass()) ;
115 resourceManager = new ResourceManagerTest();
116 resourceManager.setResourceManager(manager);
117
118
119
120 }
121
122 /***
123 * Set our target GroupManager.
124 *
125 */
126 public void setGroupManager(GroupManager manager)
127 {
128 log.debug("") ;
129 log.debug("----\"----") ;
130 log.debug("GroupManagerTest.setGroupManager()") ;
131 log.debug(" Manager : " + manager.getClass()) ;
132 groupManager = new GroupManagerTest();
133 groupManager.setGroupManager(manager);
134 }
135
136
137
138 /***
139 * Try creating a null Group.
140 *
141 */
142 public void testCreateInvalidPermission()
143 throws Exception
144 {
145 log.debug("") ;
146 log.debug("----\"----") ;
147 log.debug("GroupManagerTest:testCreateNull()") ;
148
149
150 try {
151 permissionManager.addPermission((String)null,(String)null,(String)null) ;
152 fail("Expected CommunityIdentifierException") ;
153 }
154 catch (CommunityIdentifierException ouch)
155 {
156 log.debug("Caught expected Exception") ;
157 log.debug("Exception : " + ouch) ;
158 }
159 }
160
161 /***
162 * Check we can create a valid Group.
163 *
164 */
165 public void testCreateValidPermission()
166 throws Exception
167 {
168 log.debug("") ;
169 log.debug("----\"----") ;
170 log.debug("PermissionManagerTest:testGetValidPermission()") ;
171 GroupData gd = groupManager.testGetValidGroupData();
172 assertNotNull("Null group",gd);
173 ResourceData rd = resourceManager.testGetValidResourceData();
174 assertNotNull("Null resource",rd);
175
176
177 assertNotNull("Null policy permission",
178 permissionManager.addPermission(rd.getIdent(),gd.getIdent(),"test-action")
179 ) ;
180 }
181
182 /***
183 * Check we can create a valid Group.
184 *
185 */
186 public void testGetValidPermission()
187 throws Exception
188 {
189 log.debug("") ;
190 log.debug("----\"----") ;
191 log.debug("PermissionManagerTest:testGetValidPermission()") ;
192 GroupData gd = groupManager.testGetValidGroupData();
193 assertNotNull("Null group",gd);
194 ResourceData rd = resourceManager.testGetValidResourceData();
195 assertNotNull("Null resource",rd);
196
197
198 assertNotNull("Null policy permission",
199 permissionManager.addPermission(rd.getIdent(),gd.getIdent(),"test-action")
200 ) ;
201 }
202
203 /***
204 * Check we can create a valid Group.
205 *
206 */
207 public void testSetValidPermission()
208 throws Exception
209 {
210 log.debug("") ;
211 log.debug("----\"----") ;
212 log.debug("PermissionManagerTest:testGetValidPermission()") ;
213 GroupData gd = groupManager.testGetValidGroupData();
214 assertNotNull("Null group",gd);
215 ResourceData rd = resourceManager.testGetValidResourceData();
216 assertNotNull("Null resource",rd);
217 PolicyPermission pp = permissionManager.addPermission(rd.getIdent(),gd.getIdent(),"test-action");
218 assertNotNull("Null policy permission from add", pp);
219 pp.setStatus(PolicyPermission.STATUS_PERMISSION_GRANTED);
220
221
222 assertNotNull("Null policy permission",
223 permissionManager.setPermission(pp)
224 ) ;
225 }
226
227 /***
228 * Check we can create a valid Group.
229 *
230 */
231 public void testDelValidPermission()
232 throws Exception
233 {
234 log.debug("") ;
235 log.debug("----\"----") ;
236 log.debug("PermissionManagerTest:testGetValidPermission()") ;
237 GroupData gd = groupManager.testGetValidGroupData();
238 assertNotNull("Null group",gd);
239 ResourceData rd = resourceManager.testGetValidResourceData();
240 assertNotNull("Null resource",rd);
241 permissionManager.addPermission(rd.getIdent(),gd.getIdent(),"test-action");
242
243
244 assertTrue(permissionManager.delPermission(rd.getIdent(),gd.getIdent(),"test-action"));
245 }
246 }