assertFalse(getTestSession().hasPermission(path, actions));
assertFalse(testAcMgr.hasPrivileges(path, privilegesFromName(Privilege.JCR_MODIFY_PROPERTIES)));
}
public void testInheritanceAndMixedUserGroupPermissions() throws RepositoryException, NotExecutableException {
Group testGroup = getTestGroup();
AccessControlManager testAcMgr = getTestACManager();
/*
precondition:
testuser must have READ-only permission on test-node and below
*/
checkReadOnly(path);
Privilege[] privileges = privilegesFromName(Privilege.JCR_MODIFY_PROPERTIES);
/* give MODIFY_PROPERTIES privilege for testGroup at 'path' */
givePrivileges(path, testGroup.getPrincipal(), privileges, getRestrictions(superuser, path));
/* withdraw MODIFY_PROPERTIES for the user at 'path' */
withdrawPrivileges(path, testUser.getPrincipal(), privileges, getRestrictions(superuser, path));
/*
since user-permissions overrule the group permissions, testuser must
not have set_property action / modify_properties privilege.
*/
assertFalse(testAcMgr.hasPrivileges(path, privilegesFromName(Privilege.JCR_MODIFY_PROPERTIES)));
/*
give MODIFY_PROPERTIES privilege for everyone at 'childNPath'
-> user-privileges still overrule group privileges
*/
givePrivileges(childNPath, testGroup.getPrincipal(), privileges, getRestrictions(superuser, path));
assertFalse(testAcMgr.hasPrivileges(childNPath, privilegesFromName(Privilege.JCR_MODIFY_PROPERTIES)));
}