- update due to interface changes in Fulcrum security torque, cft. rev. 1818135.
git-svn-id: https://svn.apache.org/repos/asf/turbine/maven/archetypes@1818136 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/om/TurbineUser.java b/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/om/TurbineUser.java
index 5416761..41c0e10 100644
--- a/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/om/TurbineUser.java
+++ b/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/main/java/om/TurbineUser.java
@@ -77,10 +77,10 @@
}
/**
- * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity$HretrieveAttachedObjects(java.sql.Connection)
+ * @see org.apache.fulcrum.security.torque.TorqueAbstractSecurityEntity$HretrieveAttachedObjects(java.sql.Connection, , Boolean lazy)
*/
@Override
- public void retrieveAttachedObjects(Connection con) throws TorqueException
+ public void retrieveAttachedObjects(Connection con, Boolean lazy) throws TorqueException
{
Set<TurbineUserGroupRole> userGroupRoleSet = new HashSet<TurbineUserGroupRole>();
diff --git a/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/test/java/services/security/TurbineSecurityServiceTest.java b/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/test/java/services/security/TurbineSecurityServiceTest.java
index 1006e6d..aa38651 100644
--- a/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/test/java/services/security/TurbineSecurityServiceTest.java
+++ b/trunk/turbine-webapp-4.0/src/main/resources/archetype-resources/src/test/java/services/security/TurbineSecurityServiceTest.java
@@ -22,10 +22,12 @@
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
+import org.apache.fulcrum.security.ModelManager;
import org.apache.fulcrum.security.entity.ExtendedUser;
import org.apache.fulcrum.security.entity.Group;
import org.apache.fulcrum.security.entity.Permission;
import org.apache.fulcrum.security.entity.Role;
+import org.apache.fulcrum.security.model.turbine.TurbineAccessControlList;
import org.apache.fulcrum.security.model.turbine.TurbineModelManager;
import org.apache.fulcrum.security.model.turbine.entity.TurbineUser;
import org.apache.fulcrum.security.model.turbine.entity.TurbineUserGroupRole;
@@ -38,9 +40,9 @@
import org.apache.turbine.annotation.TurbineService;
import org.apache.turbine.om.security.DefaultUserImpl;
import org.apache.turbine.om.security.User;
-import org.apache.turbine.services.security.SecurityService;
import org.apache.turbine.services.ServiceManager;
import org.apache.turbine.services.TurbineServices;
+import org.apache.turbine.services.security.SecurityService;
import org.apache.turbine.util.TurbineConfig;
import org.junit.AfterClass;
import org.junit.Before;
@@ -67,6 +69,8 @@
SecurityService turbineSecurityService;
static TurbineConfig tc;
+
+ ModelManager modelManager;
boolean onDeleteCascade = true;
@@ -90,17 +94,18 @@
ServiceManager serviceManager = TurbineServices.getInstance();
fulcrumSecurityService = (org.apache.fulcrum.security.SecurityService) serviceManager.getService( org.apache.fulcrum.security.SecurityService.ROLE );
+
// setConfigurationFileName("src/test/conf/torque/fulcrumComponentConfiguration.xml");
// setRoleFileName("src/test/conf/torque/fulcrumRoleConfiguration.xml");
// fulcrumSecurityService = (org.apache.fulcrum.security.SecurityService) lookup(org.apache.fulcrum.security.SecurityService.ROLE);
-//
+// factory = (ACLFactory) lookup(ACLFactory.ROLE);
+// modelManager = (TurbineModelManager) lookup(TurbineModelManager.ROLE);
}
@Test
public void testAccountExists()
throws Exception
{
-
// User user = new org.apache.turbine.om.security.DefaultUserImpl(new TurbineUserImpl());
User user = turbineSecurityService.getUserInstance();
user.setAccessCounter( 5 );
@@ -184,7 +189,6 @@
group = turbineSecurityService.addGroup( group ); // assign here to delete later as
role = turbineSecurityService.getRoleInstance( "TEST_Role" );
role = turbineSecurityService.addRole( role );
-
// Turbine security service returns a wrapped instance: org.apache.turbine.om.security.DefaultUserImpl
// which implements org.apache.turbine.om.security.User
user = turbineSecurityService.getUserInstance( "Clint" );
@@ -206,8 +210,15 @@
existingRole = turbineSecurityService.getRoleByName( "turbineadmin" );
turbineSecurityService.grant( user, existingGroup, existingRole );
assertTrue( user.getUserGroupRoleSet().size() == 3 );
+
+ TurbineAccessControlList tacl = turbineSecurityService.<TurbineAccessControlList>getACL( user );
+
+ assertTrue(tacl.hasRole( existingRole, existingGroup ) );
+ assertTrue(tacl.hasRole( "turbineuser" ));
+
turbineSecurityService.revoke( user, existingGroup, existingRole );
- user = turbineSecurityService.getUser( "Clint" );
+
+ //user = turbineSecurityService.getUser( "Clint" );
assertTrue( user.getUserGroupRoleSet().size() == 2 );
userGroupRoleCheck( group, role, user.getUserDelegate() );
// compare
@@ -221,8 +232,16 @@
userManager.addUser( fulcrumUser, "clint2" );
( (TurbineModelManager) fulcrumSecurityService.getModelManager() ).grant( fulcrumUser, group, role );
userGroupRoleCheck( group, role, fulcrumUser );
+
+ tacl = turbineSecurityService.getACL( user );
+ // revoked
+ assertFalse(tacl.hasRole( existingRole, existingGroup ) );
+;
+
+
} catch (EntityExistsException e) {
- // cft. finally
+ // cft. finally
+ fail();
} catch (Exception e) {
log.error( "error" , e);
fail();
@@ -239,11 +258,15 @@
deleteGroup( group );
if ( role != null )
deleteRole( role );
-
}
+ }
+
+ public void testCreatingTurbineACLandModel() throws Exception
+ {
}
+
/**
* Fulcrum contract check
*
@@ -254,7 +277,7 @@
* @throws DataBackendException
* @throws UnknownEntityException
*/
- private void userGroupRoleCheck( Group group, Role role, TurbineUser user )
+ private void userGroupRoleCheck( Group group, Role role, TurbineUser user ) throws DataBackendException
{
boolean ugrFound = false;
@@ -334,6 +357,7 @@
group = turbineSecurityService.getGroupByName(group.getName() );
}
log.info( "deleting group " + group.getName() );
+
turbineSecurityService.removeGroup( group );
group = null;
}