View Javadoc

1   /*
2    * <cvs:source>$Source: /devel/astrogrid/community/common/src/java/org/astrogrid/community/common/policy/manager/PermissionManagerTest.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: PermissionManagerTest.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.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          // Set our GroupManager reference.
99          this.permissionManager = manager ;
100         //
101         // Set our CommunityService reference.
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         // Set our CommunityService reference.
119         //this.setCommunityService(manager) ;
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         // Try creating the Group.
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         // Try creating the Group.
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         // Try creating the Group.
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         // Try creating the Group.
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         //permissionManager.delPermission(rd.getIdent(),gd.getIdent(),"test-action");
243         
244         assertTrue(permissionManager.delPermission(rd.getIdent(),gd.getIdent(),"test-action"));
245     }
246 }