[infinispan-commits] Infinispan SVN: r1824 - in trunk/core/src/test/java/org/infinispan: test and 1 other directories.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Wed May 19 09:55:15 EDT 2010


Author: manik.surtani at jboss.com
Date: 2010-05-19 09:55:14 -0400 (Wed, 19 May 2010)
New Revision: 1824

Added:
   trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java
Modified:
   trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
   trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java
Log:
[ISPN-447] (Asking for a cache that does not exist on a remote node freezes infinispan) added test

Added: trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java	                        (rev 0)
+++ trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java	2010-05-19 13:55:14 UTC (rev 1824)
@@ -0,0 +1,62 @@
+package org.infinispan.distribution;
+
+import org.infinispan.Cache;
+import org.infinispan.config.Configuration;
+import org.infinispan.manager.CacheManager;
+import org.infinispan.test.AbstractCacheTest;
+import org.infinispan.test.AbstractInfinispanTest;
+import org.infinispan.test.MultipleCacheManagersTest;
+import org.infinispan.test.TestingUtil;
+import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.testng.annotations.AfterTest;
+import org.testng.annotations.BeforeTest;
+import org.testng.annotations.Test;
+
+import static org.infinispan.test.AbstractCacheTest.getDefaultClusteredConfig;
+import static org.infinispan.test.TestingUtil.killCacheManagers;
+import static org.infinispan.test.fwk.TestCacheManagerFactory.createCacheManager;
+
+ at Test(groups = "functional", testName = "distribution.UnknownCacheStartTest")
+public class UnknownCacheStartTest extends AbstractInfinispanTest {
+
+   Configuration configuration;
+   CacheManager cm1, cm2;
+
+   @BeforeTest
+   public void setUp() {
+      configuration = getDefaultClusteredConfig(Configuration.CacheMode.DIST_SYNC);
+   }
+
+   @AfterTest
+   public void tearDown() {
+      killCacheManagers(cm1, cm2);
+   }
+
+   @Test (timeOut = 5000)
+   public void testStartingUnknownCaches() throws Throwable {
+      cm1 = createCacheManager(configuration);
+
+      cm1.defineConfiguration("new_1", configuration);
+
+      Cache<String, String> c1 = cm1.getCache();
+      Cache<String, String> c1_new = cm1.getCache("new_1");
+
+      c1.put("k", "v");
+      c1_new.put("k", "v");
+
+      assert "v".equals(c1.get("k"));
+      assert "v".equals(c1_new.get("k"));
+
+      cm2 = createCacheManager(configuration);
+      cm2.defineConfiguration("new_2", configuration);
+
+      Cache<String, String> c2 = cm2.getCache();
+      Cache<String, String> c2_new = cm2.getCache("new_cache_2");
+
+      c2.put("k", "v");
+      c2_new.put("k", "v");
+
+      assert "v".equals(c2.get("k"));
+      assert "v".equals(c2_new.get("k"));
+   }
+}


Property changes on: trunk/core/src/test/java/org/infinispan/distribution/UnknownCacheStartTest.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF

Modified: trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java	2010-05-19 06:31:38 UTC (rev 1823)
+++ trunk/core/src/test/java/org/infinispan/test/MultipleCacheManagersTest.java	2010-05-19 13:55:14 UTC (rev 1824)
@@ -126,6 +126,19 @@
       return cm;
    }
 
+   /**
+    * Creates a new cache manager, starts it, and adds it to the list of known cache managers on the current thread.
+    * Uses a default clustered cache manager global config.
+    *
+    * @param defaultConfig default cfg to use
+    * @return the new CacheManager
+    */
+   protected CacheManager addClusterEnabledCacheManager(Configuration defaultConfig) {
+      CacheManager cm = TestCacheManagerFactory.createClusteredCacheManager(defaultConfig);
+      cacheManagers.add(cm);
+      return cm;
+   }
+
    protected void defineConfigurationOnAllManagers(String cacheName, Configuration c) {
       for (CacheManager cm : cacheManagers) {
          cm.defineConfiguration(cacheName, c);
@@ -144,6 +157,17 @@
       return caches;
    }
 
+   protected <K, V> List<Cache<K, V>> createClusteredCaches(int numMembersInCluster, Configuration defaultConfig) {
+      List<Cache<K, V>> caches = new ArrayList<Cache<K, V>>(numMembersInCluster);
+      for (int i = 0; i < numMembersInCluster; i++) {
+         CacheManager cm = addClusterEnabledCacheManager(defaultConfig);
+         Cache<K, V> cache = cm.getCache();
+         caches.add(cache);
+      }
+      TestingUtil.blockUntilViewsReceived(10000, caches);
+      return caches;
+   }
+
    public ReplListener replListener(Cache cache) {
       ReplListener listener = listeners.get(cache);
       if (listener == null) {

Modified: trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java	2010-05-19 06:31:38 UTC (rev 1823)
+++ trunk/core/src/test/java/org/infinispan/test/fwk/TestCacheManagerFactory.java	2010-05-19 13:55:14 UTC (rev 1824)
@@ -170,7 +170,11 @@
    }
 
    public static CacheManager createCacheManager(Configuration defaultCacheConfig, boolean transactional) {
-      GlobalConfiguration globalConfiguration = GlobalConfiguration.getNonClusteredDefault();
+      GlobalConfiguration globalConfiguration;
+      if (defaultCacheConfig.getCacheMode().isClustered())
+         globalConfiguration = GlobalConfiguration.getClusteredDefault();
+      else
+         globalConfiguration = GlobalConfiguration.getNonClusteredDefault();
       amendMarshaller(globalConfiguration);
       minimizeThreads(globalConfiguration);
       if (transactional) amendJTA(defaultCacheConfig);



More information about the infinispan-commits mailing list