You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by an...@apache.org on 2014/07/30 09:37:06 UTC

svn commit: r1614574 - in /jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization: ReadVersionContent.java ReadVersionContentTest.java

Author: angela
Date: Wed Jul 30 07:37:05 2014
New Revision: 1614574

URL: http://svn.apache.org/r1614574
Log:
OAK-1998: extend tests

Added:
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContentTest.java
      - copied, changed from r1614555, jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContent.java
Removed:
    jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContent.java

Copied: jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContentTest.java (from r1614555, jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContent.java)
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContentTest.java?p2=jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContentTest.java&p1=jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContent.java&r1=1614555&r2=1614574&rev=1614574&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContent.java (original)
+++ jackrabbit/oak/trunk/oak-jcr/src/test/java/org/apache/jackrabbit/oak/jcr/security/authorization/ReadVersionContentTest.java Wed Jul 30 07:37:05 2014
@@ -18,6 +18,7 @@
  */
 package org.apache.jackrabbit.oak.jcr.security.authorization;
 
+import javax.jcr.AccessDeniedException;
 import javax.jcr.ItemNotFoundException;
 import javax.jcr.Node;
 import javax.jcr.PathNotFoundException;
@@ -31,11 +32,12 @@ import org.apache.jackrabbit.api.securit
 import org.apache.jackrabbit.commons.jackrabbit.authorization.AccessControlUtils;
 import org.apache.jackrabbit.oak.plugins.version.VersionConstants;
 import org.apache.jackrabbit.test.NotExecutableException;
+import org.apache.jackrabbit.util.Text;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 
-public class ReadVersionContent extends AbstractEvaluationTest {
+public class ReadVersionContentTest extends AbstractEvaluationTest {
 
     private Version v;
     private Version v2;
@@ -179,15 +181,54 @@ public class ReadVersionContent extends 
      * @since oak
      */
     @Test
-    public void testVersionHistoryIsSame() throws Exception {
+    public void testVersionHistoryParent() throws Exception {
         // accessing the version history must be allowed if the versionable node
         // is readable to the editing test session.
         Node testNode = testSession.getNode(versionablePath);
 
         VersionHistory testVh = testNode.getVersionHistory();
-        Node vh2 = testNode.getSession().getNode(testVh.getPath());
+        try {
+            testVh.getParent();
+            fail("version storage intermediate node must not be accessible");
+        } catch (AccessDeniedException e) {
+            // success
+        }
+    }
+
+    /**
+     * @since oak
+     */
+    @Test
+    public void testGetVersionHistoryParentNode() throws Exception {
+        String vhParentPath = Text.getRelativeParent(vh.getPath(), 1);
+
+        assertFalse(testSession.nodeExists(vhParentPath));
+        try {
+            testSession.getNode(vhParentPath);
+            fail("version storage intermediate node must not be accessible");
+        } catch (PathNotFoundException e) {
+            // success
+        }
+    }
 
-        assertTrue(testVh.isSame(vh2));
+    /**
+     * @since oak
+     */
+    @Test
+    public void testGetVersion() throws Exception {
+        // accessing the version history must be allowed if the versionable node
+        // is readable to the editing test session.
+        Node testNode = testSession.getNode(versionablePath);
+
+        VersionHistory vh = testNode.getVersionHistory();
+
+        Version version = vh.getVersion(v.getName());
+        assertTrue(v.isSame(version));
+        assertTrue(vh.isSame(version.getContainingHistory()));
+
+        version = vh.getVersion(v2.getName());
+        assertTrue(v2.isSame(version));
+        assertTrue(vh.isSame(version.getContainingHistory()));
     }
 
     /**
@@ -201,7 +242,6 @@ public class ReadVersionContent extends 
 
         VersionHistory vh = testNode.getVersionHistory();
         VersionIterator versionIterator = vh.getAllVersions();
-        // TODO
     }
 
     /**
@@ -215,10 +255,10 @@ public class ReadVersionContent extends 
 
         VersionHistory vh = testNode.getVersionHistory();
         VersionIterator versionIterator = vh.getAllLinearVersions();
-        // TODO
     }
 
 
+
     /**
      * @since oak
      */