aboutsummaryrefslogtreecommitdiffstats
path: root/redback-rbac
diff options
context:
space:
mode:
authorOlivier Lamy <olamy@apache.org>2013-01-15 13:23:50 +0000
committerOlivier Lamy <olamy@apache.org>2013-01-15 13:23:50 +0000
commit18dbda5efbc3b905a48fd7ddb34d74ec292054d9 (patch)
tree380e07c866c36216e944bbf87555cc41615ee2d8 /redback-rbac
parentfe2ebb0961c114a91782185254b6afea16ab51e0 (diff)
downloadarchiva-18dbda5efbc3b905a48fd7ddb34d74ec292054d9.tar.gz
archiva-18dbda5efbc3b905a48fd7ddb34d74ec292054d9.zip
ldap rbacmanager pass tck
git-svn-id: https://svn.apache.org/repos/asf/archiva/redback/redback-core/trunk@1433400 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'redback-rbac')
-rw-r--r--redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java12
-rw-r--r--redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java2
-rw-r--r--redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/security.properties1
-rw-r--r--redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java5
4 files changed, 13 insertions, 7 deletions
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java
index 57edba7c5..4953a4699 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/main/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManager.java
@@ -437,8 +437,7 @@ public class LdapRbacManager
{
if ( !userRoles.contains( roleName ) )
{
- // TODO real role with permission ?
- unassignedRoles.add( new RoleImpl( roleName ) );
+ unassignedRoles.add( rbacImpl.getRole( roleName ) );
}
}
return unassignedRoles;
@@ -707,6 +706,13 @@ public class LdapRbacManager
try
{
ldapRoleMapper.saveRole( role.getName() );
+ if ( !role.getChildRoleNames().isEmpty() )
+ {
+ for ( String roleName : role.getChildRoleNames() )
+ {
+ ldapRoleMapper.saveRole( roleName );
+ }
+ }
fireRbacRoleSaved( role );
}
catch ( MappingException e )
@@ -771,8 +777,6 @@ public class LdapRbacManager
}
}
-
-
for ( String role : currentUserRoles )
{
if ( !userAssignment.getRoleNames().contains( role ) && writableLdap )
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java
index e9c46defe..dd8c1c5ce 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java
@@ -300,6 +300,6 @@ public class LdapRbacManagerTest
protected boolean supportChildRole()
{
- return false;
+ return true;
}
}
diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/security.properties b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/security.properties
index 07c91f603..79f4fde79 100644
--- a/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/security.properties
+++ b/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/security.properties
@@ -21,6 +21,7 @@ ldap.config.groups.role.user-admin=User Administrator
ldap.config.groups.role.sys-admin=System Administrator
ldap.config.groups.role.trusted-dev=Trusted Developer
ldap.config.groups.role.developer=Developer
+ldap.config.groups.role.super-developer=SUPER_DEVELOPER
ldap.config.groups.role.thetestrole=Test Role
diff --git a/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java b/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java
index 8813597c9..155c46838 100644
--- a/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java
+++ b/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java
@@ -426,13 +426,14 @@ public abstract class AbstractRbacManagerTestCase
adminRole = manager.saveRole( adminRole );
- String adminPrincipal = "admin";
+ // don't use admin as ldap group need at least one member
+ String adminPrincipal = "theadmin";
UserAssignment assignment = manager.createUserAssignment( adminPrincipal );
assignment.addRoleName( adminRole );
assignment = manager.saveUserAssignment( assignment );
assertEquals( 1, assignment.getRoleNames().size() );
- assertEquals( incAssignements( 1 ), manager.getAssignedRoles( adminPrincipal ).size() );
+ assertEquals( 1, manager.getAssignedRoles( adminPrincipal ).size() );
}
@Test