fix unit test
Project: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/repo Commit: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/commit/4f547460 Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/4f547460 Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/4f547460 Branch: refs/heads/master Commit: 4f547460cf632565091b797e6a4b0fd8af4a95f5 Parents: 7039fb8 Author: Olivier Lamy <[email protected]> Authored: Fri Apr 11 15:57:52 2014 +1000 Committer: Olivier Lamy <[email protected]> Committed: Fri Apr 11 15:57:52 2014 +1000 ---------------------------------------------------------------------- .../redback/rbac/jdo/JdoRbacManagerTest.java | 10 +---- .../redback/rbac/ldap/LdapRbacManagerTest.java | 27 ++++++------- .../tests/AbstractRbacManagerTestCase.java | 40 +++++++++++++------- .../redback/tests/RbacManagerEventTracker.java | 14 ++++++- 4 files changed, 52 insertions(+), 39 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/4f547460/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/java/org/apache/archiva/redback/rbac/jdo/JdoRbacManagerTest.java ---------------------------------------------------------------------- diff --git a/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/java/org/apache/archiva/redback/rbac/jdo/JdoRbacManagerTest.java b/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/java/org/apache/archiva/redback/rbac/jdo/JdoRbacManagerTest.java index 73affe8..9dd78e9 100644 --- a/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/java/org/apache/archiva/redback/rbac/jdo/JdoRbacManagerTest.java +++ b/redback-rbac/redback-rbac-providers/redback-rbac-jdo/src/test/java/org/apache/archiva/redback/rbac/jdo/JdoRbacManagerTest.java @@ -19,7 +19,6 @@ package org.apache.archiva.redback.rbac.jdo; * under the License. */ -import net.sf.ehcache.CacheManager; import org.apache.archiva.redback.common.jdo.test.StoreManagerDebug; import org.apache.archiva.redback.components.jdo.DefaultConfigurableJdoFactory; import org.apache.archiva.redback.rbac.RBACManager; @@ -174,7 +173,6 @@ public class JdoRbacManagerTest public void testGetAssignedPermissionsDeep() throws RbacManagerException { - this.clearCache(); super.testGetAssignedPermissionsDeep(); int counter = storeManager.counter(); /* without Level 2 cache: 26 queries */ @@ -217,11 +215,5 @@ public class JdoRbacManagerTest assertEquals( EVENTCOUNT, eventTracker.initCount ); } - protected void clearCache() - { - for ( String cacheName : CacheManager.getInstance().getCacheNames() ) - { - CacheManager.getInstance().getCache( cacheName ).removeAll(); - } - } + } http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/4f547460/redback-rbac/redback-rbac-providers/redback-rbac-ldap/src/test/java/org/apache/archiva/redback/rbac/ldap/LdapRbacManagerTest.java ---------------------------------------------------------------------- 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 6685037..68d1397 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 @@ -19,14 +19,14 @@ package org.apache.archiva.redback.rbac.ldap; * under the License. */ -import net.sf.ehcache.CacheManager; import org.apache.archiva.redback.components.apacheds.ApacheDs; import org.apache.archiva.redback.policy.PasswordEncoder; import org.apache.archiva.redback.policy.encoders.SHA1PasswordEncoder; -import org.apache.archiva.redback.rbac.RBACManager; -import org.apache.archiva.redback.rbac.ldap.LdapRbacManager; +import org.apache.archiva.redback.rbac.Role; import org.apache.archiva.redback.tests.AbstractRbacManagerTestCase; +import org.junit.After; import org.junit.Before; +import org.springframework.test.annotation.DirtiesContext; import javax.inject.Inject; import javax.inject.Named; @@ -40,14 +40,8 @@ import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; import javax.naming.directory.SearchControls; import javax.naming.directory.SearchResult; - -import org.junit.After; -import org.junit.BeforeClass; -import org.springframework.test.annotation.DirtiesContext; - import java.util.ArrayList; import java.util.Arrays; -import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -82,13 +76,15 @@ public class LdapRbacManagerTest throws Exception { super.setUp(); - CacheManager.getInstance().clearAll(); + this.clearCache(); setRbacManager( rbacManager ); assertTrue( getRbacManager() instanceof LdapRbacManager ); rbacManager.setWritableLdap( true ); + rbacManager.getRbacImpl().eraseDatabase(); + passwordEncoder = new SHA1PasswordEncoder(); usersPerGroup = new HashMap<String, List<String>>( 3 ); @@ -125,9 +121,6 @@ public class LdapRbacManagerTest apacheDs.getAdminContext().createSubcontext( suffix, attributes ); - //makeUsers(); - - //createGroups(); } @After @@ -270,8 +263,12 @@ public class LdapRbacManagerTest public void testStoreInitialization() throws Exception { - CacheManager.getInstance().clearAll(); - //rbacManager.eraseDatabase(); + this.clearCache(); + for ( Role role : rbacManager.getAllRoles() ) + { + rbacManager.removeRole( role ); + } + eventTracker.clear(); super.testStoreInitialization(); } http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/4f547460/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/AbstractRbacManagerTestCase.java ---------------------------------------------------------------------- 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 289c986..65af694 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 @@ -17,16 +17,17 @@ package org.apache.archiva.redback.tests; */ import junit.framework.TestCase; +import net.sf.ehcache.CacheManager; import org.apache.archiva.redback.rbac.Operation; +import org.apache.archiva.redback.rbac.Permission; import org.apache.archiva.redback.rbac.RBACManager; import org.apache.archiva.redback.rbac.RbacManagerException; +import org.apache.archiva.redback.rbac.RbacPermanentException; import org.apache.archiva.redback.rbac.Resource; import org.apache.archiva.redback.rbac.Role; import org.apache.archiva.redback.rbac.UserAssignment; -import org.apache.archiva.redback.rbac.Permission; -import org.apache.archiva.redback.rbac.RbacPermanentException; import org.apache.archiva.redback.tests.utils.RBACDefaults; -import static org.assertj.core.api.Assertions.assertThat; +import org.assertj.core.api.Assertions; import org.junit.Test; import org.junit.runner.RunWith; import org.slf4j.Logger; @@ -39,15 +40,15 @@ import java.util.Collections; import java.util.List; import java.util.Set; -import org.springframework.test.annotation.DirtiesContext; +import static org.assertj.core.api.Assertions.assertThat; /** * AbstractRbacManagerTestCase * * @author <a href="mailto:[email protected]">Joakim Erdfelt</a> */ -@RunWith( SpringJUnit4ClassRunner.class ) -@ContextConfiguration( locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" } ) +@RunWith(SpringJUnit4ClassRunner.class) +@ContextConfiguration(locations = { "classpath*:/META-INF/spring-context.xml", "classpath*:/spring-context.xml" }) public abstract class AbstractRbacManagerTestCase extends TestCase { @@ -158,6 +159,7 @@ public abstract class AbstractRbacManagerTestCase public void testStoreInitialization() throws Exception { + assertNotNull( rbacManager ); Role role = getAdminRole(); @@ -680,8 +682,7 @@ public abstract class AbstractRbacManagerTestCase assignment = manager.saveUserAssignment( assignment ); assertThat( assignment.getRoleNames() ).isNotNull().isNotEmpty().hasSize( 3 ); - assertThat( manager.getAllUserAssignments() ).isNotNull().isNotEmpty().hasSize( - incAssignements( 1 ) ); + assertThat( manager.getAllUserAssignments() ).isNotNull().isNotEmpty().hasSize( incAssignements( 1 ) ); assertThat( manager.getAllRoles() ).isNotNull().isNotEmpty().hasSize( 3 ); @@ -727,8 +728,7 @@ public abstract class AbstractRbacManagerTestCase assignment.addRoleName( roleName ); manager.saveUserAssignment( assignment ); - assertThat( manager.getAllUserAssignments() ).isNotNull().isNotEmpty().hasSize( - incAssignements( 1 ) ); + assertThat( manager.getAllUserAssignments() ).isNotNull().isNotEmpty().hasSize( incAssignements( 1 ) ); assertThat( manager.getAllRoles() ).isNotNull().isNotEmpty().hasSize( 3 ); assertThat( manager.getAllPermissions() ).isNotNull().isNotEmpty().hasSize( 3 ); @@ -839,7 +839,9 @@ public abstract class AbstractRbacManagerTestCase public void testGetAssignedPermissionsDeep() throws RbacManagerException { + this.clearCache(); assertNotNull( rbacManager ); + rbacManager.eraseDatabase(); rbacDefaults.createDefaults(); // Setup User / Assignment with 1 role. @@ -850,8 +852,11 @@ public abstract class AbstractRbacManagerTestCase rbacManager.saveUserAssignment( assignment ); assertEquals( incAssignements( 1 ), rbacManager.getAllUserAssignments().size() ); - assertEquals( 6, rbacManager.getAllPermissions().size() ); - assertEquals( 4, rbacManager.getAllRoles().size() ); + List<Permission> permissions = rbacManager.getAllPermissions(); + Assertions.assertThat( permissions ).isNotNull().isNotEmpty().hasSize( 6 ); + + List<Role> roles = rbacManager.getAllRoles(); + Assertions.assertThat( roles ).isNotNull().isNotEmpty().hasSize( 4 ); afterSetup(); @@ -986,7 +991,8 @@ public abstract class AbstractRbacManagerTestCase } @Test - public void testInitialize() throws Exception + public void testInitialize() + throws Exception { rbacManager.initialize(); } @@ -998,4 +1004,12 @@ public abstract class AbstractRbacManagerTestCase { // do nothing } + + protected void clearCache() + { + for ( String cacheName : CacheManager.getInstance().getCacheNames() ) + { + CacheManager.getInstance().getCache( cacheName ).removeAll(); + } + } } http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/4f547460/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/RbacManagerEventTracker.java ---------------------------------------------------------------------- diff --git a/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/RbacManagerEventTracker.java b/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/RbacManagerEventTracker.java index 26c8f98..251ab13 100644 --- a/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/RbacManagerEventTracker.java +++ b/redback-rbac/redback-rbac-tests/src/main/java/org/apache/archiva/redback/tests/RbacManagerEventTracker.java @@ -19,8 +19,8 @@ package org.apache.archiva.redback.tests; * under the License. */ -import org.apache.archiva.redback.rbac.RBACManagerListener; import org.apache.archiva.redback.rbac.Permission; +import org.apache.archiva.redback.rbac.RBACManagerListener; import org.apache.archiva.redback.rbac.Role; import org.apache.archiva.redback.rbac.UserAssignment; import org.slf4j.Logger; @@ -33,7 +33,6 @@ import java.util.List; * RbacManagerEventTracker * * @author <a href="mailto:[email protected]">Joakim Erdfelt</a> - * */ public class RbacManagerEventTracker implements RBACManagerListener @@ -59,6 +58,17 @@ public class RbacManagerEventTracker lastDbFreshness = Boolean.valueOf( freshdb ); } + public void clear() + { + this.addedRoleNames = new ArrayList<String>(); + + this.removedRoleNames = new ArrayList<String>(); + + this.addedPermissionNames = new ArrayList<String>(); + + this.removedPermissionNames = new ArrayList<String>(); + } + public void rbacPermissionRemoved( Permission permission ) { log( "Permission Removed: " + permission.getName() );
