View Javadoc

1   /*
2    * <cvs:source>$Source: /devel/astrogrid/community/common/src/java/org/astrogrid/community/common/policy/manager/GroupMemberManagerTest.java,v $</cvs:source>
3    * <cvs:author>$Author: jdt $</cvs:author>
4    * <cvs:date>$Date: 2004/11/22 13:03:04 $</cvs:date>
5    * <cvs:version>$Revision: 1.2 $</cvs:version>
6    *
7    * <cvs:log>
8    *   $Log: GroupMemberManagerTest.java,v $
9    *   Revision 1.2  2004/11/22 13:03:04  jdt
10   *   Merges from Comm_KMB_585
11   *
12   *   Revision 1.1.2.2  2004/11/10 10:48:23  KevinBenson
13   *   fixing the unit tests some more still a read lock problem on policypermission
14   *
15   *   Revision 1.1.2.1  2004/11/05 08:55:49  KevinBenson
16   *   Moved the GroupMember out of PolicyManager in the commons and client section.
17   *   Added more unit tests for GroupMember and PermissionManager for testing.
18   *   Still have some errors that needs some fixing.
19   *
20   *   Revision 1.5  2004/09/16 23:18:08  dave
21   *   Replaced debug logging in Community.
22   *   Added stream close() to FileStore.
23   *
24   *   Revision 1.4.82.1  2004/09/16 09:58:48  dave
25   *   Replaced debug with commons logging ....
26   *
27   *   Revision 1.4  2004/06/18 13:45:20  dave
28   *   Merged development branch, dave-dev-200406081614, into HEAD
29   *
30   *   Revision 1.3.32.2  2004/06/17 14:50:03  dave
31   *   Removed unused imports (PMD report).
32   *
33   *   Revision 1.3.32.1  2004/06/17 13:38:59  dave
34   *   Tidied up old CVS log entries
35   *
36   * </cvs:log>
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          // Set our GroupManager reference.
99          this.groupMemberManager = manager ;
100         //
101         // Set our CommunityService reference.
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         // Set our AccountManager reference.
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         // Try creating the Group.
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         // Try creating the Group.
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         // Try creating the Group.
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         // Try creating the Group.
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         // Check that the two objects represent the same Group.
276         assertEquals("Different identifiers", created, deleted) ;
277         }
278     }