use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class VersionTreePermissionTest method testVersionableChildRemoved2.
@Test
public void testVersionableChildRemoved2() throws Exception {
root.getTree("/test/a/b").remove();
root.commit();
pp.refresh();
Tree versionHistory = checkNotNull(vMgr.getVersionHistory(testTree));
String frozenAPath = PathUtils.concat(versionHistory.getPath(), "1.0", JCR_FROZENNODE, "a");
TreePermission tp = getVersionPermission(root, pp, frozenAPath);
assertVersionPermission(tp, "/test/a", true);
Tree frozenB = root.getTree(frozenAPath).getChild("b");
tp = pp.getTreePermission(frozenB, tp);
assertVersionPermission(tp, "/test/a/b", true);
Tree frozenC = frozenB.getChild("c");
tp = pp.getTreePermission(frozenC, tp);
assertVersionPermission(tp, "/test/a/b/c", true);
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class RepoPolicyTreePermissionTest method testCanRead2.
@Test
public void testCanRead2() throws Exception {
TreePermission tp = getTreePermission(noAccessSession, REPO_POLICY_PATH);
assertFalse(tp.canRead());
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class RepoPolicyTreePermissionTest method testIsGranted2.
@Test
public void testIsGranted2() throws Exception {
TreePermission tp = getTreePermission(noAccessSession, REPO_POLICY_PATH);
assertFalse(tp.isGranted(Permissions.NAMESPACE_MANAGEMENT));
assertFalse(tp.isGranted(Permissions.WORKSPACE_MANAGEMENT));
assertFalse(tp.isGranted(Permissions.NAMESPACE_MANAGEMENT | Permissions.WORKSPACE_MANAGEMENT));
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class VersionTest method testTreePermissionVersionableUnsupportedPath.
@Test
public void testTreePermissionVersionableUnsupportedPath() throws Exception {
Tree versionable = root.getTree(UNSUPPORTED_PATH);
Tree vh = checkNotNull(versionManager.getVersionHistory(versionable));
CugPermissionProvider pp = createCugPermissionProvider(ImmutableSet.of(SUPPORTED_PATH, SUPPORTED_PATH2));
Tree t = root.getTree("/");
TreePermission tp = pp.getTreePermission(t, TreePermission.EMPTY);
for (String segm : PathUtils.elements(vh.getPath())) {
t = t.getChild(segm);
tp = pp.getTreePermission(t, tp);
if (JCR_SYSTEM.equals(segm) || ReadOnlyVersionManager.isVersionStoreTree(t)) {
assertTrue(t.getPath(), tp instanceof EmptyCugTreePermission);
} else {
assertSame(t.getPath(), TreePermission.NO_RECOURSE, tp);
}
}
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class EmptyCugTreePermissionTest method testJcrSystemPermissions.
@Test
public void testJcrSystemPermissions() throws Exception {
NodeState system = rootState.getChildNode(JcrConstants.JCR_SYSTEM);
TreePermission systemTp = tp.getChildPermission(JcrConstants.JCR_SYSTEM, system);
assertCugPermission(systemTp, false);
assertCugPermission(pp.getTreePermission(root.getTree("/jcr:system"), tp), false);
NodeState versionStore = system.getChildNode(VersionConstants.JCR_VERSIONSTORAGE);
TreePermission versionStoreTp = systemTp.getChildPermission(VersionConstants.JCR_VERSIONSTORAGE, versionStore);
assertCugPermission(versionStoreTp, false);
assertCugPermission(pp.getTreePermission(root.getTree(VersionConstants.VERSION_STORE_PATH), systemTp), false);
NodeState nodeTypes = system.getChildNode(NodeTypeConstants.JCR_NODE_TYPES);
TreePermission nodeTypesTp = systemTp.getChildPermission(NodeTypeConstants.JCR_NODE_TYPES, nodeTypes);
assertSame(TreePermission.NO_RECOURSE, nodeTypesTp);
}
Aggregations