You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2009/05/06 19:04:34 UTC

svn commit: r772362 - in /jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version: GetVersionableUUIDTest.java VersionHistoryTest.java

Author: reschke
Date: Wed May  6 17:04:33 2009
New Revision: 772362

URL: http://svn.apache.org/viewvc?rev=772362&view=rev
Log:
JCR-2058: add TCK tests for more new VersionHistory methods

Modified:
    jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetVersionableUUIDTest.java
    jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java

Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetVersionableUUIDTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetVersionableUUIDTest.java?rev=772362&r1=772361&r2=772362&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetVersionableUUIDTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/GetVersionableUUIDTest.java Wed May  6 17:04:33 2009
@@ -18,10 +18,12 @@
 
 import javax.jcr.RepositoryException;
 import javax.jcr.version.Version;
+import javax.jcr.version.VersionHistory;
+import javax.jcr.version.VersionManager;
 
 /**
  * <code>GetVersionableUUIDTest</code> provides test methods covering {@link
- * javax.jcr.version.VersionHistory#getVersionableUUID()}.
+ * VersionHistory#getVersionableUUID()} and {@link VersionHistory#getVersionableIdentifier()}.
  *
  * @test
  * @sources GetVersionableUUIDTest.java
@@ -43,4 +45,19 @@
                 version.getContainingHistory().getVersionableUUID(),
                 versionableNode.getUUID());
     }
+
+    /**
+     * Tests if VersionHistory.getVersionableIdentifier() returns the ID of the
+     * corresponding versionable node.
+     * @since JCR 2.9
+     */
+    public void testGetVersionableIdentifier() throws RepositoryException {
+
+        VersionManager vm = versionableNode.getSession().getWorkspace().getVersionManager();
+        vm.checkpoint(versionableNode.getPath());
+        
+        assertEquals("Method getVersionableIdentifier() must return the identifier of the corresponding Node.",
+                vm.getVersionHistory(versionableNode.getPath()).getVersionableIdentifier(),
+                versionableNode.getIdentifier());
+    }
 }
\ No newline at end of file

Modified: jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java?rev=772362&r1=772361&r2=772362&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java (original)
+++ jackrabbit/trunk/jackrabbit-jcr-tests/src/main/java/org/apache/jackrabbit/test/api/version/VersionHistoryTest.java Wed May  6 17:04:33 2009
@@ -16,28 +16,32 @@
  */
 package org.apache.jackrabbit.test.api.version;
 
-import javax.jcr.nodetype.NodeType;
-import javax.jcr.nodetype.ConstraintViolationException;
-import javax.jcr.nodetype.NoSuchNodeTypeException;
-import javax.jcr.version.Version;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.util.Calendar;
+import java.util.GregorianCalendar;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.jcr.ItemNotFoundException;
 import javax.jcr.ItemVisitor;
 import javax.jcr.Node;
-import javax.jcr.RepositoryException;
+import javax.jcr.NodeIterator;
 import javax.jcr.Property;
-import javax.jcr.UnsupportedRepositoryOperationException;
-import javax.jcr.ItemNotFoundException;
 import javax.jcr.PropertyIterator;
-import javax.jcr.Value;
 import javax.jcr.PropertyType;
+import javax.jcr.RepositoryException;
+import javax.jcr.UnsupportedRepositoryOperationException;
+import javax.jcr.Value;
 import javax.jcr.lock.LockException;
+import javax.jcr.nodetype.ConstraintViolationException;
+import javax.jcr.nodetype.NoSuchNodeTypeException;
+import javax.jcr.nodetype.NodeType;
+import javax.jcr.version.Version;
 import javax.jcr.version.VersionHistory;
 import javax.jcr.version.VersionIterator;
-
-import java.util.HashMap;
-import java.util.GregorianCalendar;
-import java.util.Calendar;
-import java.io.InputStream;
-import java.io.ByteArrayInputStream;
+import javax.jcr.version.VersionManager;
 
 
 /**
@@ -159,6 +163,42 @@
     }
 
     /**
+     * Test that {@link VersionHistory#getAllFrozenNodes()} returns an iterator
+     * containing the frozen nodes of all versions that have been created by
+     * {@link VersionManager#checkpoint(String)}.
+     *
+     * @see javax.jcr.version.VersionHistory#getAllFrozenNodes()
+     * @since JCR 2.0
+     */
+    public void testGetAllFrozenNodes() throws RepositoryException {
+
+        VersionManager vm = versionableNode.getSession().getWorkspace().getVersionManager();
+        
+        String path = versionableNode.getPath();
+        int cnt = 2;
+        
+        for (int i = 0; i < cnt; i++) {
+            vm.checkpoint(path);
+        }
+
+        Set frozenIds = new HashSet();
+        for (VersionIterator it = vm.getVersionHistory(path).getAllVersions(); it.hasNext(); ) {
+            Version v = it.nextVersion();
+            frozenIds.add(v.getFrozenNode().getIdentifier());
+        }
+        
+        Set test = new HashSet();
+        for (NodeIterator it = vHistory.getAllFrozenNodes(); it.hasNext(); ) {
+            Node n = it.nextNode();
+            assertTrue("Node " + n.getPath() + " must be of type frozen node",
+                 n.isNodeType("nt:frozenNode"));
+            test.add(n.getIdentifier());
+        }
+        
+        assertEquals("getAllFrozenNodes must return the IDs of all frozen nodes", frozenIds, test);
+    }
+
+    /**
      * Test if UnsupportedRepositoryOperationException is thrown when calling
      * Node.getVersionHistory() on a non-versionable node.
      */