You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@archiva.apache.org by ol...@apache.org on 2014/04/11 07:58:33 UTC

[1/2] git commit: correctly clear caches

Repository: archiva-redback-core
Updated Branches:
  refs/heads/master 18eecc9a9 -> 4f547460c


correctly clear caches


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/7039fb8e
Tree: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/tree/7039fb8e
Diff: http://git-wip-us.apache.org/repos/asf/archiva-redback-core/diff/7039fb8e

Branch: refs/heads/master
Commit: 7039fb8eb67075a517e3261ac84c36c039306312
Parents: 18eecc9
Author: Olivier Lamy <ol...@apache.org>
Authored: Fri Apr 11 11:13:26 2014 +1000
Committer: Olivier Lamy <ol...@apache.org>
Committed: Fri Apr 11 11:13:26 2014 +1000

----------------------------------------------------------------------
 .../redback/rbac/jdo/JdoRbacManagerTest.java    | 39 ++++++++++----------
 1 file changed, 20 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/archiva-redback-core/blob/7039fb8e/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 25ddd2c..73affe8 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
@@ -20,14 +20,15 @@ package org.apache.archiva.redback.rbac.jdo;
  */
 
 import net.sf.ehcache.CacheManager;
-import org.apache.archiva.redback.components.jdo.DefaultConfigurableJdoFactory;
-import org.apache.archiva.redback.rbac.RbacManagerException;
 import org.apache.archiva.redback.common.jdo.test.StoreManagerDebug;
+import org.apache.archiva.redback.components.jdo.DefaultConfigurableJdoFactory;
 import org.apache.archiva.redback.rbac.RBACManager;
+import org.apache.archiva.redback.rbac.RbacManagerException;
 import org.apache.archiva.redback.tests.AbstractRbacManagerTestCase;
 import org.jpox.AbstractPersistenceManagerFactory;
 import org.jpox.SchemaTool;
 import org.junit.Before;
+import org.springframework.test.annotation.DirtiesContext;
 
 import javax.inject.Inject;
 import javax.inject.Named;
@@ -37,33 +38,31 @@ import java.io.File;
 import java.net.URL;
 import java.util.Map;
 import java.util.Properties;
-import org.springframework.test.annotation.DirtiesContext;
 
 /**
  * JdoRbacManagerTest:
  *
  * @author Jesse McConnell <jm...@apache.org>
  * @author <a href="mailto:joakim@erdfelt.com">Joakim Erdfelt</a>
- *
  */
-@DirtiesContext( classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD )
+@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_EACH_TEST_METHOD)
 public class JdoRbacManagerTest
     extends AbstractRbacManagerTestCase
 {
     private StoreManagerDebug storeManager;
 
     @Inject
-    @Named( value = "jdoFactory#users" )
+    @Named(value = "jdoFactory#users")
     DefaultConfigurableJdoFactory jdoFactory;
 
     @Inject
-    @Named( value = "rbacManager#jdo" )
+    @Named(value = "rbacManager#jdo")
     RBACManager rbacManager;
 
     public static int EVENTCOUNT = 2;
-    
+
     @Override
-    public void assertEventCount() 
+    public void assertEventCount()
     {
         assertEquals( EVENTCOUNT, eventTracker.initCount );
     }
@@ -128,8 +127,6 @@ public class JdoRbacManagerTest
         URL[] jdoFileUrls =
             new URL[]{ getClass().getResource( "/org/apache/archiva/redback/rbac/jdo/package.jdo" ) }; //$NON-NLS-1$
 
-
-
         if ( ( jdoFileUrls == null ) || ( jdoFileUrls[0] == null ) )
         {
             fail( "Unable to process test " + getName() + " - missing package.jdo." );
@@ -177,6 +174,7 @@ public class JdoRbacManagerTest
     public void testGetAssignedPermissionsDeep()
         throws RbacManagerException
     {
+        this.clearCache();
         super.testGetAssignedPermissionsDeep();
         int counter = storeManager.counter();
         /* without Level 2 cache: 26 queries */
@@ -195,10 +193,7 @@ public class JdoRbacManagerTest
     public void testLargeApplicationInit()
         throws RbacManagerException
     {
-        for (String cacheName : CacheManager.getInstance().getCacheNames())
-        {
-            CacheManager.getInstance().getCache( cacheName ).removeAll();
-        }
+        this.clearCache();
         super.testLargeApplicationInit();
     }
 
@@ -206,10 +201,7 @@ public class JdoRbacManagerTest
     public void testGetRolesDeep()
         throws RbacManagerException
     {
-        for (String cacheName : CacheManager.getInstance().getCacheNames())
-        {
-            CacheManager.getInstance().getCache( cacheName ).removeAll();
-        }
+        this.clearCache();
         super.testGetRolesDeep();
     }
 
@@ -218,9 +210,18 @@ public class JdoRbacManagerTest
     public void testStoreInitialization()
         throws Exception
     {
+        this.clearCache();
         rbacManager.eraseDatabase();
         eventTracker.rbacInit( true );
         super.testStoreInitialization();
         assertEquals( EVENTCOUNT, eventTracker.initCount );
     }
+
+    protected void clearCache()
+    {
+        for ( String cacheName : CacheManager.getInstance().getCacheNames() )
+        {
+            CacheManager.getInstance().getCache( cacheName ).removeAll();
+        }
+    }
 }


[2/2] git commit: fix unit test

Posted by ol...@apache.org.
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 <ol...@apache.org>
Authored: Fri Apr 11 15:57:52 2014 +1000
Committer: Olivier Lamy <ol...@apache.org>
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:joakim@erdfelt.com">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:joakim@erdfelt.com">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() );