use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class CompositeProviderScopeTest method testTreePermissionIsGrantedProperty.
@Test
public void testTreePermissionIsGrantedProperty() throws Exception {
TreePermission parentPermission = TreePermission.EMPTY;
for (String path : TP_PATHS) {
TreePermission tp = cppTestUser.getTreePermission(readOnlyRoot.getTree(path), parentPermission);
Long toTest = (defPermissions.containsKey(path)) ? defPermissions.get(path) : defPermissions.get(PathUtils.getAncestorPath(path, 1));
if (toTest != null) {
if (testProvider.isSupported(path)) {
assertTrue(tp.isGranted(Permissions.diff(toTest, Permissions.ADD_NODE | Permissions.ADD_PROPERTY), PROPERTY_STATE));
assertFalse(tp.isGranted(Permissions.ADD_PROPERTY, PROPERTY_STATE));
} else {
assertTrue(tp.isGranted(toTest, PROPERTY_STATE));
}
}
parentPermission = tp;
}
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class CompositeProviderScopeTest method testTreePermissionCanReadProperty.
@Test
public void testTreePermissionCanReadProperty() throws Exception {
Map<String, Boolean> readMap = ImmutableMap.<String, Boolean>builder().put(ROOT_PATH, false).put(TEST_PATH, true).put(TEST_A_PATH, true).put(TEST_A_B_PATH, true).put(TEST_A_B_C_PATH, true).put(TEST_A_B_C_PATH + "/nonexisting", true).build();
TreePermission parentPermission = TreePermission.EMPTY;
for (String nodePath : readMap.keySet()) {
Tree tree = readOnlyRoot.getTree(nodePath);
TreePermission tp = cppTestUser.getTreePermission(tree, parentPermission);
assertEquals(nodePath, readMap.get(nodePath), tp.canRead(PROPERTY_STATE));
parentPermission = tp;
}
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class CompositeProviderScopeTest method testTreePermissionCanReadAllAdmin.
@Test
public void testTreePermissionCanReadAllAdmin() {
TreePermission parentPermission = TreePermission.EMPTY;
for (String nodePath : TP_PATHS) {
Tree tree = readOnlyRoot.getTree(nodePath);
TreePermission tp = cppAdminUser.getTreePermission(tree, parentPermission);
assertFalse(nodePath, tp.canReadAll());
assertTrue(nodePath, tp.canReadProperties());
parentPermission = tp;
}
parentPermission = TreePermission.EMPTY;
for (String nodePath : PATH_OUTSIDE_SCOPE) {
Tree tree = readOnlyRoot.getTree(nodePath);
TreePermission tp = cppAdminUser.getTreePermission(tree, parentPermission);
assertFalse(nodePath, tp.canReadAll());
assertTrue(nodePath, tp.canReadProperties());
parentPermission = tp;
}
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class CompositeTreePermissionTest method testMultipleNoRecurse.
@Test
public void testMultipleNoRecurse() {
TreePermission rootTp = createRootTreePermission(new NoScopeProvider(root), new NoScopeProvider(root));
assertCompositeTreePermission(true, rootTp);
assertSame(TreePermission.EMPTY, rootTp.getChildPermission("test", rootTree.getChild("test").getNodeState()));
}
use of org.apache.jackrabbit.oak.spi.security.authorization.permission.TreePermission in project jackrabbit-oak by apache.
the class CompositeTreePermissionTest method testMultiple.
@Test
public void testMultiple() {
TreePermission rootTp = createRootTreePermission(fullScopeProvider, fullScopeProvider);
assertCompositeTreePermission(true, rootTp);
TreePermission testTp = rootTp.getChildPermission("test", rootTree.getChild("test").getNodeState());
assertCompositeTreePermission(true, testTp);
}
Aggregations