Search in sources :

Example 26 with TreePermission

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.

the class RepoPolicyTreePermissionTest method testIsGranted.

@Test
public void testIsGranted() throws Exception {
    TreePermission tp = getTreePermission(accessSession, REPO_POLICY_PATH);
    assertTrue(tp.isGranted(Permissions.NAMESPACE_MANAGEMENT));
    assertFalse(tp.isGranted(Permissions.WORKSPACE_MANAGEMENT));
    assertFalse(tp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.WORKSPACE_MANAGEMENT));
}
Also used : TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 27 with TreePermission

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.

the class RepoPolicyTreePermissionTest method testCanReadAll.

@Test
public void testCanReadAll() throws Exception {
    TreePermission tp = getTreePermission(accessSession, REPO_POLICY_PATH);
    assertFalse(tp.canReadAll());
}
Also used : TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 28 with TreePermission

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.

the class VersionTreePermissionTest method testGetTreePermission.

@Test
public void testGetTreePermission() throws Exception {
    Tree versionHistory = checkNotNull(vMgr.getVersionHistory(testTree));
    String expectedPath = "/test";
    TreePermission tp = getVersionPermission(root, pp, versionHistory.getPath());
    assertVersionPermission(tp, expectedPath, true);
    Tree vTree = versionHistory.getChild("1.0");
    assertTrue(vTree.exists());
    tp = pp.getTreePermission(vTree, tp);
    assertVersionPermission(tp, expectedPath, true);
    Tree frozen = vTree.getChild(JCR_FROZENNODE);
    assertTrue(frozen.exists());
    tp = pp.getTreePermission(frozen, tp);
    assertVersionPermission(tp, expectedPath, true);
    Tree t = frozen;
    for (String name : new String[] { "a", "b", "c" }) {
        t = t.getChild(name);
        expectedPath = PathUtils.concat(expectedPath, name);
        tp = pp.getTreePermission(t, tp);
        assertVersionPermission(tp, expectedPath, true);
    }
}
Also used : Tree(org.apache.jackrabbit.oak.api.Tree) ImmutableTree(org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree) TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 29 with TreePermission

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.

the class RepoPolicyTreePermissionTest method testCanReadProperties.

@Test
public void testCanReadProperties() throws Exception {
    TreePermission tp = getTreePermission(accessSession, REPO_POLICY_PATH);
    assertTrue(tp.canReadProperties());
}
Also used : TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Example 30 with TreePermission

use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.

the class VersionTreePermissionTest method testVersionableRemoved.

@Test
public void testVersionableRemoved() throws Exception {
    Tree versionHistory = checkNotNull(vMgr.getVersionHistory(testTree));
    testTree.remove();
    root.commit();
    pp.refresh();
    TreePermission tp = getVersionPermission(root, pp, versionHistory.getPath());
    assertVersionPermission(tp, "/", false);
    Tree vTree = versionHistory.getChild("1.0");
    tp = pp.getTreePermission(vTree, tp);
    assertVersionPermission(tp, "/", false);
    Tree frozen = vTree.getChild(JCR_FROZENNODE);
    assertTrue(frozen.exists());
    tp = pp.getTreePermission(frozen, tp);
    assertVersionPermission(tp, "/", false);
    Tree t = frozen;
    String expectedPath = "/";
    for (String name : new String[] { "a", "b", "c" }) {
        t = t.getChild(name);
        expectedPath = PathUtils.concat(expectedPath, name);
        tp = pp.getTreePermission(t, tp);
        assertVersionPermission(tp, expectedPath, false);
    }
}
Also used : Tree(org.apache.jackrabbit.oak.api.Tree) ImmutableTree(org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree) TreePermission(org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission) AbstractSecurityTest(org.apache.jackrabbit.oak.AbstractSecurityTest) Test(org.junit.Test)

Aggregations

TreePermission (org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission)109 Test (org.junit.Test)94 Tree (org.apache.jackrabbit.oak.api.Tree)53 AbstractSecurityTest (org.apache.jackrabbit.oak.AbstractSecurityTest)41 ImmutableTree (org.apache.jackrabbit.oak.plugins.tree.impl.ImmutableTree)22 PermissionProvider (org.apache.jackrabbit.oak.spi.security.authorization.permission.PermissionProvider)11 NodeState (org.apache.jackrabbit.oak.spi.state.NodeState)10 AggregatedPermissionProvider (org.apache.jackrabbit.oak.spi.security.authorization.permission.AggregatedPermissionProvider)8 PropertyState (org.apache.jackrabbit.oak.api.PropertyState)6 Nonnull (javax.annotation.Nonnull)4 AccessControlManager (javax.jcr.security.AccessControlManager)4 Root (org.apache.jackrabbit.oak.api.Root)4 JackrabbitAccessControlList (org.apache.jackrabbit.api.security.JackrabbitAccessControlList)3 TreeType (org.apache.jackrabbit.oak.plugins.tree.TreeType)3 NodeUtil (org.apache.jackrabbit.oak.util.NodeUtil)3 Field (java.lang.reflect.Field)2 AuthorizationConfiguration (org.apache.jackrabbit.oak.spi.security.authorization.AuthorizationConfiguration)2 ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 CheckForNull (javax.annotation.CheckForNull)1