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 2013/04/22 14:07:56 UTC
svn commit: r1470469 -
/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImplTest.java
Author: angela
Date: Mon Apr 22 12:07:56 2013
New Revision: 1470469
URL: http://svn.apache.org/r1470469
Log:
OAK-51 : Access Control Management (mark test that shows OAK-787 as ignored)
Modified:
jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImplTest.java
Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImplTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImplTest.java?rev=1470469&r1=1470468&r2=1470469&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImplTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/security/authorization/AccessControlManagerImplTest.java Mon Apr 22 12:07:56 2013
@@ -37,6 +37,7 @@ import javax.jcr.security.AccessControlE
import javax.jcr.security.AccessControlManager;
import javax.jcr.security.AccessControlPolicy;
import javax.jcr.security.AccessControlPolicyIterator;
+import javax.jcr.security.NamedAccessControlPolicy;
import javax.jcr.security.Privilege;
import com.google.common.collect.ImmutableMap;
@@ -63,6 +64,7 @@ import org.apache.jackrabbit.oak.util.No
import org.apache.jackrabbit.oak.util.TreeUtil;
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import static org.junit.Assert.assertArrayEquals;
@@ -638,10 +640,7 @@ public class AccessControlManagerImplTes
}
- /**
- * // TODO review again
- * @since OAK 1.0 : access to privileges needs read access to the corresponding tree.
- */
+ @Ignore("OAK-787") // FIXME
@Test
public void testTestSessionGetPrivileges() throws Exception {
setupPolicy(testPath);
@@ -650,42 +649,14 @@ public class AccessControlManagerImplTes
AccessControlManagerImpl testAcMgr = getTestAccessControlManager();
Set<Principal> testPrincipals = getPrincipals(getTestRoot().getContentSession());
- // TODO: check again...
- try {
- testAcMgr.getPrivileges(testPath);
- fail("no read access to the privilege store.");
- } catch (AccessControlException e) {
- // success
- }
- try {
- getTestAccessControlManager().getPrivileges(testPath, testPrincipals);
- fail("no read access to the privilege store.");
- } catch (AccessControlException e) {
- // success
- }
-
- // ensure readability of the privileges
- try {
- setupPolicy("/jcr:system");
- root.commit();
+ assertArrayEquals(new Privilege[0], testAcMgr.getPrivileges(null));
+ assertArrayEquals(new Privilege[0], testAcMgr.getPrivileges(null, testPrincipals));
- getTestRoot().refresh();
+ Privilege[] privs = testAcMgr.getPrivileges(testPath);
+ assertEquals(ImmutableSet.copyOf(testPrivileges), ImmutableSet.copyOf(privs));
- assertArrayEquals(new Privilege[0], testAcMgr.getPrivileges(null));
- assertArrayEquals(new Privilege[0], testAcMgr.getPrivileges(null, testPrincipals));
-
- Privilege[] privs = testAcMgr.getPrivileges(testPath);
- assertEquals(ImmutableSet.copyOf(testPrivileges), ImmutableSet.copyOf(privs));
-
- privs = testAcMgr.getPrivileges(testPath, testPrincipals);
- assertEquals(ImmutableSet.copyOf(testPrivileges), ImmutableSet.copyOf(privs));
-
- } finally {
- for (AccessControlPolicy policy : acMgr.getPolicies("/jcr:system")) {
- acMgr.removePolicy("/jcr:system", policy);
- }
- root.commit();
- }
+ privs = testAcMgr.getPrivileges(testPath, testPrincipals);
+ assertEquals(ImmutableSet.copyOf(testPrivileges), ImmutableSet.copyOf(privs));
// but for 'admin' the test-session doesn't have sufficient privileges
try {
@@ -918,14 +889,14 @@ public class AccessControlManagerImplTes
AccessControlPolicy[] policies = acMgr.getPolicies(path);
assertNotNull(policies);
- assertEquals(0, policies.length);
+ assertEquals(1, policies.length);
acMgr.setPolicy(null, acMgr.getApplicablePolicies(path).nextAccessControlPolicy());
assertFalse(acMgr.getApplicablePolicies(path).hasNext());
policies = acMgr.getPolicies(path);
assertNotNull(policies);
- assertEquals(1, policies.length);
+ assertEquals(2, policies.length);
assertTrue(policies[0] instanceof ACL);
ACL acl = (ACL) policies[0];
@@ -934,8 +905,11 @@ public class AccessControlManagerImplTes
assertNull(acl.getOakPath());
assertFalse(acMgr.getApplicablePolicies(path).hasNext());
+ assertTrue(policies[1] instanceof NamedAccessControlPolicy);
+
acMgr.removePolicy(path, acl);
- assertEquals(0, acMgr.getPolicies(path).length);
+ assertEquals(1, acMgr.getPolicies(path).length);
+ assertTrue(acMgr.getPolicies(path)[0] instanceof NamedAccessControlPolicy);
assertTrue(acMgr.getApplicablePolicies(path).hasNext());
}
@@ -1063,7 +1037,7 @@ public class AccessControlManagerImplTes
Root root2 = adminSession.getLatestRoot();
AccessControlPolicy[] policies = getAccessControlManager(root2).getPolicies((String) null);
- assertEquals(1, policies.length);
+ assertEquals(2, policies.length);
assertArrayEquals(acl.getAccessControlEntries(), ((ACL) policies[0]).getAccessControlEntries());
}
@@ -1254,7 +1228,7 @@ public class AccessControlManagerImplTes
acMgr.removePolicy(null, acl);
- assertEquals(0, acMgr.getPolicies((String) null).length);
+ assertEquals(1, acMgr.getPolicies((String) null).length);
assertTrue(acMgr.getApplicablePolicies((String) null).hasNext());
}