[jboss-cvs] Picketbox SVN: r182 - trunk/picketbox-infinispan/src/test/java/org/jboss/security/test/authentication.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Mar 31 10:41:47 EDT 2011


Author: mmoyses
Date: 2011-03-31 10:41:47 -0400 (Thu, 31 Mar 2011)
New Revision: 182

Modified:
   trunk/picketbox-infinispan/src/test/java/org/jboss/security/test/authentication/JBossCachedAuthenticationManagerUnitTestCase.java
Log:
SECURITY-577: tests for new AuthenticationManager

Modified: trunk/picketbox-infinispan/src/test/java/org/jboss/security/test/authentication/JBossCachedAuthenticationManagerUnitTestCase.java
===================================================================
--- trunk/picketbox-infinispan/src/test/java/org/jboss/security/test/authentication/JBossCachedAuthenticationManagerUnitTestCase.java	2011-03-31 14:13:13 UTC (rev 181)
+++ trunk/picketbox-infinispan/src/test/java/org/jboss/security/test/authentication/JBossCachedAuthenticationManagerUnitTestCase.java	2011-03-31 14:41:47 UTC (rev 182)
@@ -31,6 +31,7 @@
 import junit.framework.TestCase;
 
 import org.infinispan.Cache;
+import org.infinispan.eviction.EvictionStrategy;
 import org.infinispan.manager.DefaultCacheManager;
 import org.infinispan.manager.EmbeddedCacheManager;
 import org.jboss.security.AuthenticationManager;
@@ -85,9 +86,8 @@
       AuthenticationManager am = new JBossCachedAuthenticationManager("test", acbh);
       
       EmbeddedCacheManager cacheManager = new DefaultCacheManager();
-      org.infinispan.config.Configuration configuration = new org.infinispan.config.Configuration();
+      org.infinispan.config.Configuration configuration = cacheManager.getDefaultConfiguration();
       configuration.setExpirationMaxIdle(2000);
-      cacheManager.defineConfiguration("test", configuration);
       Cache<Principal, DomainInfo> cache = cacheManager.getCache("test");
       @SuppressWarnings("unchecked")
       CacheableManager<Cache<Principal, DomainInfo>, Principal> cm = (CacheableManager<Cache<Principal, DomainInfo>, Principal>) am;
@@ -106,9 +106,8 @@
       AuthenticationManager am = new JBossCachedAuthenticationManager("test", acbh);
       
       EmbeddedCacheManager cacheManager = new DefaultCacheManager();
-      org.infinispan.config.Configuration configuration = new org.infinispan.config.Configuration();
+      org.infinispan.config.Configuration configuration = cacheManager.getDefaultConfiguration();
       configuration.setExpirationMaxIdle(1000);
-      cacheManager.defineConfiguration("test", configuration);
       Cache<Principal, DomainInfo> cache = cacheManager.getCache("test");
       @SuppressWarnings("unchecked")
       CacheableManager<Cache<Principal, DomainInfo>, Principal> cm = (CacheableManager<Cache<Principal, DomainInfo>, Principal>) am;
@@ -127,9 +126,8 @@
       AuthenticationManager am = new JBossCachedAuthenticationManager("test", acbh);
       
       EmbeddedCacheManager cacheManager = new DefaultCacheManager();
-      org.infinispan.config.Configuration configuration = new org.infinispan.config.Configuration();
+      org.infinispan.config.Configuration configuration = cacheManager.getDefaultConfiguration();
       configuration.setExpirationMaxIdle(2000);
-      cacheManager.defineConfiguration("test", configuration);
       Cache<Principal, DomainInfo> cache = cacheManager.getCache("test");
       @SuppressWarnings("unchecked")
       CacheableManager<Cache<Principal, DomainInfo>, Principal> cm = (CacheableManager<Cache<Principal, DomainInfo>, Principal>) am;
@@ -154,10 +152,9 @@
       AuthenticationManager am = new JBossCachedAuthenticationManager("test", acbh);
       
       EmbeddedCacheManager cacheManager = new DefaultCacheManager();
-      org.infinispan.config.Configuration configuration = new org.infinispan.config.Configuration();
+      org.infinispan.config.Configuration configuration = cacheManager.getDefaultConfiguration();
       configuration.setExpirationMaxIdle(2000);
       configuration.setExpirationLifespan(3000);
-      cacheManager.defineConfiguration("test", configuration);
       Cache<Principal, DomainInfo> cache = cacheManager.getCache("test");
       @SuppressWarnings("unchecked")
       CacheableManager<Cache<Principal, DomainInfo>, Principal> cm = (CacheableManager<Cache<Principal, DomainInfo>, Principal>) am;
@@ -173,6 +170,39 @@
       assertFalse(cm.containsKey(p));
    }
    
+   public void testCacheMaxEntriesEviction() throws Exception
+   {
+      Principal p = new SimplePrincipal("jduke");
+      AppCallbackHandler acbh = new AppCallbackHandler("jduke", "theduke".toCharArray());
+      AuthenticationManager am = new JBossCachedAuthenticationManager("test", acbh);
+      
+      EmbeddedCacheManager cacheManager = new DefaultCacheManager();
+      org.infinispan.config.Configuration configuration = cacheManager.getDefaultConfiguration();
+      configuration.setExpirationMaxIdle(3000);
+      configuration.setEvictionMaxEntries(2);
+      configuration.setEvictionStrategy(EvictionStrategy.FIFO);
+      configuration.setEvictionWakeUpInterval(2000);
+      Cache<Principal, DomainInfo> cache = cacheManager.getCache("test");
+      @SuppressWarnings("unchecked")
+      CacheableManager<Cache<Principal, DomainInfo>, Principal> cm = (CacheableManager<Cache<Principal, DomainInfo>, Principal>) am;
+      cm.setCache(cache);
+      
+      assertTrue(am.isValid(p, "theduke"));
+      assertTrue(cm.containsKey(p));
+      Principal p2 = new SimplePrincipal("scott");
+      assertTrue(am.isValid(p2, "echoman"));
+      assertTrue(cm.containsKey(p));
+      // we store the caller principal in the cache
+      Principal p2_ = new SimplePrincipal("callerScott");
+      assertTrue(cm.containsKey(p2_));
+      Principal p3 = new SimplePrincipal("stark");
+      assertTrue(am.isValid(p3, "javaman"));
+      assertFalse(cm.containsKey(p));
+      Principal p3_ = new SimplePrincipal("callerStark");
+      assertTrue(cm.containsKey(p2_));
+      assertTrue(cm.containsKey(p3_));
+   }
+   
    private void establishSecurityConfiguration()
    {
       SecurityActions.setJAASConfiguration((Configuration) new TestConfig());



More information about the jboss-cvs-commits mailing list