[exo-jcr-commits] exo-jcr SVN: r811 - jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache.

do-not-reply at jboss.org do-not-reply at jboss.org
Mon Nov 23 09:43:39 EST 2009


Author: areshetnyak
Date: 2009-11-23 09:43:39 -0500 (Mon, 23 Nov 2009)
New Revision: 811

Modified:
   jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionLockTest.java
Log:
EXOJCR-203 : To JBossCacheStorageConnectionLockTest was added use case with cache restart.

Modified: jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionLockTest.java
===================================================================
--- jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionLockTest.java	2009-11-23 14:29:49 UTC (rev 810)
+++ jcr/branches/1.12.0-JBC/component/core/src/test/java/org/exoplatform/services/jcr/impl/storage/jbosscache/JBossCacheStorageConnectionLockTest.java	2009-11-23 14:43:39 UTC (rev 811)
@@ -18,7 +18,14 @@
  */
 package org.exoplatform.services.jcr.impl.storage.jbosscache;
 
+import org.exoplatform.services.jcr.access.AccessControlList;
+import org.exoplatform.services.jcr.datamodel.InternalQName;
+import org.exoplatform.services.jcr.datamodel.PropertyData;
+import org.exoplatform.services.jcr.datamodel.QPath;
+import org.exoplatform.services.jcr.impl.Constants;
 import org.exoplatform.services.jcr.impl.core.lock.LockData;
+import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
+import org.exoplatform.services.jcr.util.IdGenerator;
 
 import java.util.List;
 
@@ -99,4 +106,39 @@
       locks = conn.getLocksData();
       assertEquals(count, locks.size());
    }
+   
+   public void testCheckLockAfterRestart() throws Exception
+   {
+      // add root (/)
+      initJCRRoot();
+      
+      // add node (/node)
+      String node1id = IdGenerator.generate();
+      QPath node1path = QPath.parse("[]:1[]node:1");
+      conn.add(new TransientNodeData(node1path, node1id, 1, Constants.NT_UNSTRUCTURED, new InternalQName[0], 0,
+         Constants.ROOT_UUID, new AccessControlList()));
+      
+      PropertyData primaryType =
+         createProperty(node1path, node1id, Constants.JCR_PRIMARYTYPE, Constants.NT_UNSTRUCTURED, false);
+      conn.add(primaryType);
+      conn.commit();
+      
+      // add lock to node '/node' 
+      LockData lockData = new LockData(node1id, "token's hash", true, false, "owner", 10000);
+      conn.addLockData(lockData);
+      assertEquals(lockData.getTokenHash(), conn.getLockData(node1id).getTokenHash());
+      
+      // stop cache
+      cache.stop();
+      cache.destroy();
+      
+      // start cache
+      super.setUp();
+      
+      // check
+      // after restart the  lock should be removed.
+      //TODO should be removed fail after created locks persistent.
+      fail("This fail should be removed after created locks persistent.");
+      assertNull(conn.getLockData(node1id));
+   }
 }



More information about the exo-jcr-commits mailing list