[infinispan-commits] Infinispan SVN: r2193 - in trunk/tree/src/test/java/org/infinispan: loaders and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Wed Aug 11 07:47:03 EDT 2010


Author: manik.surtani at jboss.com
Date: 2010-08-11 07:47:02 -0400 (Wed, 11 Aug 2010)
New Revision: 2193

Added:
   trunk/tree/src/test/java/org/infinispan/loaders/
   trunk/tree/src/test/java/org/infinispan/loaders/TreeCacheWithLoaderTest.java
Log:
Added test to ensure tree nodes and data are being persisted

Added: trunk/tree/src/test/java/org/infinispan/loaders/TreeCacheWithLoaderTest.java
===================================================================
--- trunk/tree/src/test/java/org/infinispan/loaders/TreeCacheWithLoaderTest.java	                        (rev 0)
+++ trunk/tree/src/test/java/org/infinispan/loaders/TreeCacheWithLoaderTest.java	2010-08-11 11:47:02 UTC (rev 2193)
@@ -0,0 +1,65 @@
+package org.infinispan.loaders;
+
+import org.infinispan.config.CacheLoaderManagerConfig;
+import org.infinispan.config.Configuration;
+import org.infinispan.loaders.dummy.DummyInMemoryCacheStore;
+import org.infinispan.manager.EmbeddedCacheManager;
+import org.infinispan.test.SingleCacheManagerTest;
+import org.infinispan.test.TestingUtil;
+import org.infinispan.test.fwk.TestCacheManagerFactory;
+import org.infinispan.tree.Fqn;
+import org.infinispan.tree.NodeKey;
+import org.infinispan.tree.TreeCache;
+import org.infinispan.tree.TreeCacheImpl;
+import org.testng.annotations.Test;
+
+ at Test(groups = "functional", testName = "loaders.TreeCacheWithLoaderTest")
+public class TreeCacheWithLoaderTest extends SingleCacheManagerTest {
+
+   TreeCache<String, String> cache;
+   CacheStore store;
+
+   @Override
+   protected EmbeddedCacheManager createCacheManager() throws Exception {
+      // start a single cache instance
+      Configuration c = getDefaultStandaloneConfig(true);
+      c.setInvocationBatchingEnabled(true);
+      CacheLoaderManagerConfig clmc = new CacheLoaderManagerConfig();
+      clmc.addCacheLoaderConfig(new DummyInMemoryCacheStore.Cfg());
+      c.setCacheLoaderManagerConfig(clmc);
+      EmbeddedCacheManager cm = TestCacheManagerFactory.createCacheManager(c, true);
+      cache = new TreeCacheImpl<String, String>(cm.getCache());
+      CacheLoaderManager m = TestingUtil.extractComponent(cache.getCache(), CacheLoaderManager.class);
+      store = m.getCacheStore();
+      return cm;
+   }
+
+   public void testPersistence() throws CacheLoaderException {
+      cache.put("/a/b/c", "key", "value");
+      assert "value".equals(cache.get("/a/b/c", "key"));
+
+      assert store.containsKey(new NodeKey(Fqn.fromString("/a/b/c"), NodeKey.Type.DATA));
+      assert store.containsKey(new NodeKey(Fqn.fromString("/a/b/c"), NodeKey.Type.STRUCTURE));
+
+      cache.stop();
+      cache.start();
+      assert "value".equals(cache.get("/a/b/c", "key"));
+      assert store.containsKey(new NodeKey(Fqn.fromString("/a/b/c"), NodeKey.Type.DATA));
+      assert store.containsKey(new NodeKey(Fqn.fromString("/a/b/c"), NodeKey.Type.STRUCTURE));
+   }
+
+   public void testRootNodePersistence() throws CacheLoaderException {
+      cache.put(Fqn.ROOT, "key", "value");
+      assert "value".equals(cache.get(Fqn.ROOT, "key"));
+      assert store.containsKey(new NodeKey(Fqn.ROOT, NodeKey.Type.DATA));
+      assert store.containsKey(new NodeKey(Fqn.ROOT, NodeKey.Type.STRUCTURE));
+
+      cache.stop();
+      cache.start();
+      assert "value".equals(cache.get(Fqn.ROOT, "key"));
+
+      assert store.containsKey(new NodeKey(Fqn.ROOT, NodeKey.Type.DATA));
+      assert store.containsKey(new NodeKey(Fqn.ROOT, NodeKey.Type.STRUCTURE));
+   }
+
+}



More information about the infinispan-commits mailing list