use of org.apache.jackrabbit.oak.namepath.impl.LocalNameMapper in project jackrabbit-oak by apache.
the class AccessControlManagerImplTest method testGetSupportedPrivilegesIncludingPathConversion.
@Test
public void testGetSupportedPrivilegesIncludingPathConversion() throws Exception {
List<Privilege> allPrivileges = Arrays.asList(getPrivilegeManager(root).getRegisteredPrivileges());
List<String> testPaths = new ArrayList();
testPaths.add('/' + TEST_LOCAL_PREFIX + ":testRoot");
testPaths.add("/{" + TEST_URI + "}testRoot");
NameMapper remapped = new LocalNameMapper(root, singletonMap(TEST_LOCAL_PREFIX, TEST_URI));
AccessControlManager acMgr = createAccessControlManager(root, new NamePathMapperImpl(remapped));
for (String path : testPaths) {
Privilege[] supported = acMgr.getSupportedPrivileges(path);
assertNotNull(supported);
assertEquals(allPrivileges.size(), supported.length);
assertTrue(allPrivileges.containsAll(Arrays.asList(supported)));
}
}
use of org.apache.jackrabbit.oak.namepath.impl.LocalNameMapper in project jackrabbit-oak by apache.
the class PrivilegeManagerImplTest method testRegisterPrivilegeReservedRemappedNamespace.
@Test(expected = RepositoryException.class)
public void testRegisterPrivilegeReservedRemappedNamespace() throws Exception {
NamePathMapper mapper = new NamePathMapperImpl(new LocalNameMapper(root, ImmutableMap.of("prefix", NamespaceRegistry.NAMESPACE_JCR)));
PrivilegeManager pmgr = create(root, mapper);
pmgr.registerPrivilege("prefix:customPrivilege", true, new String[] { "prefix:read", "prefix:write" });
}
use of org.apache.jackrabbit.oak.namepath.impl.LocalNameMapper in project jackrabbit-oak by apache.
the class PrivilegeManagerImplTest method testRegisterPrivilegeRemappedNamespace.
@Test
public void testRegisterPrivilegeRemappedNamespace() throws Exception {
ReadWriteNamespaceRegistry nsRegistry = new ReadWriteNamespaceRegistry(root) {
@Override
protected Root getWriteRoot() {
return root;
}
};
nsRegistry.registerNamespace("ns", "http://jackrabbit.apache.org/oak/ns");
Map<String, String> localMapping = ImmutableMap.of("prefix", NamespaceRegistry.NAMESPACE_JCR, "prefix2", "http://jackrabbit.apache.org/oak/ns");
NamePathMapper mapper = new NamePathMapperImpl(new LocalNameMapper(root, localMapping));
PrivilegeManager pmgr = create(root, mapper);
Privilege p = pmgr.registerPrivilege("prefix2:customPrivilege", true, new String[] { "prefix:read", "prefix:write" });
assertEquals("prefix2:customPrivilege", p.getName());
assertEquals(2, p.getDeclaredAggregatePrivileges().length);
Tree privilegesTree = root.getTree(PrivilegeConstants.PRIVILEGES_PATH);
assertFalse(privilegesTree.hasChild("prefix2:customPrivilege"));
Tree privTree = privilegesTree.getChild("ns:customPrivilege");
assertTrue(privTree.exists());
assertTrue(TreeUtil.getBoolean(privTree, PrivilegeConstants.REP_IS_ABSTRACT));
Iterable<String> aggr = TreeUtil.getStrings(privTree, PrivilegeConstants.REP_AGGREGATES);
assertNotNull(aggr);
assertEquals(ImmutableSet.of("jcr:read", "jcr:write"), ImmutableSet.copyOf(aggr));
}
use of org.apache.jackrabbit.oak.namepath.impl.LocalNameMapper in project jackrabbit-oak by apache.
the class PrivilegeManagerImplTest method testGetPrivilegeInvalidRemappedNamespace.
@Test(expected = AccessControlException.class)
public void testGetPrivilegeInvalidRemappedNamespace() throws Exception {
NamePathMapper mapper = new NamePathMapperImpl(new LocalNameMapper(root, ImmutableMap.of("prefix", "unknownUri")));
create(root, mapper).getPrivilege("prefix:read");
}
use of org.apache.jackrabbit.oak.namepath.impl.LocalNameMapper in project jackrabbit-oak by apache.
the class CugPolicyImplTest method testGetPathWithRemapping.
@Test
public void testGetPathWithRemapping() {
String oakPath = "/oak:testPath";
NamePathMapper mapper = new NamePathMapperImpl(new LocalNameMapper(root, ImmutableMap.of("quercus", "http://jackrabbit.apache.org/oak/ns/1.0")));
CugPolicy empty = new CugPolicyImpl(oakPath, mapper, principalManager, ImportBehavior.ABORT);
assertEquals("/quercus:testPath", empty.getPath());
}
Aggregations