use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class VersionTreePermissionTest method getVersionPermission.
private static TreePermission getVersionPermission(Root root, PermissionProvider pp, String path) {
Tree t = root.getTree("/");
TreePermission tp = pp.getTreePermission(t, TreePermission.EMPTY);
for (String name : PathUtils.elements(path)) {
t = t.getChild(name);
tp = pp.getTreePermission(t, tp);
}
return tp;
}
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);
}
}
}
Aggregations