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.AccountData ;
46 import org.astrogrid.community.common.policy.data.GroupMemberData ;
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 GroupMemberManagerTest
54 extends CommunityServiceTest
55 {
56 /***
57 * Our debug logger.
58 *
59 */
60 private static Log log = LogFactory.getLog(GroupMemberManagerTest.class);
61
62 /***
63 * Public constructor.
64 *
65 */
66 public GroupMemberManagerTest()
67 {
68 }
69
70
71 private GroupMemberManager groupMemberManager;
72
73 private GroupManagerTest groupManager ;
74
75 private AccountManagerTest accountManager ;
76
77
78 /***
79 * Get our target GroupManager.
80 *
81 */
82 public GroupMemberManager getGroupMemberManager()
83 {
84 return this.groupMemberManager ;
85 }
86
87 /***
88 * Set our target PermissionManager.
89 *
90 */
91 public void setGroupMemberManager(GroupMemberManager manager)
92 {
93 log.debug("") ;
94 log.debug("----\"----") ;
95 log.debug("GroupManagerTest.setGroupManager()") ;
96 log.debug(" Manager : " + manager.getClass()) ;
97
98
99 this.groupMemberManager = manager ;
100
101
102 this.setCommunityService(manager) ;
103 }
104
105
106
107 /***
108 * Set our target GroupManager.
109 *
110 */
111 public void setGroupManager(GroupManager manager)
112 {
113 log.debug("") ;
114 log.debug("----\"----") ;
115 log.debug("GroupManagerTest.setGroupManager()") ;
116 log.debug(" Manager : " + manager.getClass()) ;
117 groupManager = new GroupManagerTest();
118 groupManager.setGroupManager(manager);
119 }
120
121 /***
122 * Set our target AccountManager.
123 *
124 */
125 public void setAccountManager(AccountManager manager)
126 {
127 log.debug("") ;
128 log.debug("----\"----") ;
129 log.debug("AccountManagerTest.setAccountManager()") ;
130 log.debug(" Manager : " + manager.getClass()) ;
131
132
133
134 accountManager = new AccountManagerTest();
135 accountManager.setAccountManager(manager);
136 }
137
138
139 /***
140 * Try creating a null Group.
141 *
142 */
143 public void testCreateNull()
144 throws Exception
145 {
146 log.debug("") ;
147 log.debug("----\"----") ;
148 log.debug("GroupManagerTest:testCreateNull()") ;
149
150
151 try {
152 groupMemberManager.addGroupMember((String)null,(String)null);
153 fail("Expected CommunityIdentifierException") ;
154 }
155 catch (CommunityIdentifierException ouch)
156 {
157 log.debug("Caught expected Exception") ;
158 log.debug("Exception : " + ouch) ;
159 }
160 }
161
162 /***
163 * Check we can create a valid Group.
164 *
165 */
166 public void testCreateValid()
167 throws Exception
168 {
169 log.debug("") ;
170 log.debug("----\"----") ;
171 log.debug("GroupManagerTest:testCreateValid()") ;
172
173
174 assertNotNull("Null groupmember",
175 groupMemberManager.addGroupMember(
176 this.accountManager.testGetValidAccountData().getIdent(),
177 this.groupManager.testGetValidGroupData().getIdent()
178 )
179 ) ;
180 }
181
182 /***
183 * Check we can create a valid Group.
184 *
185 */
186 public void testGetGroupMembers()
187 throws Exception
188 {
189 log.debug("") ;
190 log.debug("----\"----") ;
191 log.debug("GroupManagerTest:testCreateValid()") ;
192
193
194 assertNotNull("Null groupmember",
195 groupMemberManager.addGroupMember(
196 this.accountManager.testGetValidAccountData().getIdent(),
197 this.groupManager.testGetValidGroupData().getIdent()
198 )
199 ) ;
200
201 assertNotNull("Null groupmembers, cannot find any groupmembers",
202 groupMemberManager.getGroupMembers());
203 }
204
205 /***
206 * Check we can create a valid Group.
207 *
208 */
209 public void testGetGroupMembersForGroup()
210 throws Exception
211 {
212 log.debug("") ;
213 log.debug("----\"----") ;
214 log.debug("GroupManagerTest:testCreateValid()") ;
215
216
217 GroupData gd = this.groupManager.testGetValidGroupData();
218 assertNotNull("Null groupmember",
219 groupMemberManager.addGroupMember(
220 this.accountManager.testGetValidAccountData().getIdent(),
221 gd.getIdent()
222 )
223 ) ;
224
225 assertNotNull("Null groupmembers, cannot find any groupmembers",
226 groupMemberManager.getGroupMembers(gd.getIdent()));
227 }
228
229 /***
230 * Try deleting a null GroupMember.
231 *
232 */
233 public void testDeleteNull()
234 throws Exception
235 {
236 log.debug("") ;
237 log.debug("----\"----") ;
238 log.debug("GroupManagerTest:testDeleteNull()") ;
239 try {
240 groupMemberManager.delGroupMember(null,null) ;
241 fail("Expected CommunityIdentifierException") ;
242 }
243 catch (CommunityIdentifierException ouch)
244 {
245 log.debug("Caught expected Exception") ;
246 log.debug("Exception : " + ouch) ;
247 }
248 }
249
250 /***
251 * Try deleting a valid Group.
252 *
253 */
254 public void testDeleteValid()
255 throws Exception
256 {
257 log.debug("") ;
258 log.debug("----\"----") ;
259 log.debug("GroupManagerTest:testDeleteValid()") ;
260
261
262 AccountData ad = this.accountManager.testGetValidAccountData();
263 GroupData gd = this.groupManager.testGetValidGroupData();
264 GroupMemberData created = groupMemberManager.addGroupMember(
265 ad.getIdent(),
266 gd.getIdent());
267
268 assertNotNull("Null groupmember",created) ;
269
270 GroupMemberData deleted = groupMemberManager.delGroupMember(ad.getIdent(),gd.getIdent());
271 assertNotNull("Null group", deleted) ;
272 System.out.println("the created ident = " + created.getAccount() + " group = " + created.getGroup());
273 System.out.println("the deleted ident = " + deleted.getAccount() + " grup = " + deleted.getGroup());
274
275
276 assertEquals("Different identifiers", created, deleted) ;
277 }
278 }