@Test public void testGetNamesAllPermission() { Set<String> names = Permissions.getNames(Permissions.ALL); assertEquals(1, names.size()); assertEquals(Permissions.PERMISSION_NAMES.get(Permissions.ALL), names.iterator().next()); }
@Test public void testGetNamesNoPermission() { Set<String> names = Permissions.getNames(Permissions.NO_PERMISSION); assertTrue(names.isEmpty()); }
@Test public void testGetNamesMultiple() { Map<Long, Set<Long>> test = ImmutableMap.<Long, Set<Long>>of( Permissions.ADD_NODE|Permissions.ADD_PROPERTY, ImmutableSet.of(Permissions.ADD_NODE, Permissions.ADD_PROPERTY), Permissions.LOCK_MANAGEMENT|Permissions.MODIFY_CHILD_NODE_COLLECTION, ImmutableSet.of(Permissions.LOCK_MANAGEMENT, Permissions.MODIFY_CHILD_NODE_COLLECTION), Permissions.READ_ACCESS_CONTROL|Permissions.MODIFY_ACCESS_CONTROL, ImmutableSet.of(Permissions.READ_ACCESS_CONTROL,Permissions.MODIFY_ACCESS_CONTROL), Permissions.NAMESPACE_MANAGEMENT|Permissions.WORKSPACE_MANAGEMENT|Permissions.NODE_TYPE_DEFINITION_MANAGEMENT|Permissions.PRIVILEGE_MANAGEMENT, ImmutableSet.of(Permissions.NAMESPACE_MANAGEMENT,Permissions.WORKSPACE_MANAGEMENT,Permissions.NODE_TYPE_DEFINITION_MANAGEMENT,Permissions.PRIVILEGE_MANAGEMENT) ); for (long permissions : test.keySet()) { Set<String> expected = new HashSet<>(); for (long p : test.get(permissions)) { expected.add(Permissions.PERMISSION_NAMES.get(p)); } assertEquals(expected, Permissions.getNames(permissions)); } }
@Test public void testGetNamesAggregates() { Map<Long, Set<Long>> test = ImmutableMap.<Long, Set<Long>>of( Permissions.READ|Permissions.READ_ACCESS_CONTROL, ImmutableSet.of(Permissions.READ, Permissions.READ_NODE, Permissions.READ_PROPERTY, Permissions.READ_ACCESS_CONTROL), Permissions.REMOVE|Permissions.SET_PROPERTY, ImmutableSet.of(Permissions.REMOVE_NODE, Permissions.ADD_PROPERTY, Permissions.MODIFY_PROPERTY, Permissions.REMOVE_PROPERTY, Permissions.SET_PROPERTY, Permissions.REMOVE), Permissions.WRITE|Permissions.SET_PROPERTY, ImmutableSet.of(Permissions.WRITE), Permissions.WRITE|Permissions.VERSION_MANAGEMENT, ImmutableSet.of(Permissions.WRITE, Permissions.VERSION_MANAGEMENT, Permissions.REMOVE_NODE, Permissions.ADD_PROPERTY, Permissions.MODIFY_PROPERTY, Permissions.ADD_NODE, Permissions.REMOVE_PROPERTY, Permissions.SET_PROPERTY, Permissions.REMOVE) ); for (long permissions : test.keySet()) { Set<String> expected = new HashSet<>(); for (long p : test.get(permissions)) { expected.add(Permissions.PERMISSION_NAMES.get(p)); } assertEquals(expected, Permissions.getNames(permissions)); } }
@Test public void testGetNamesSinglePermission() { for (long permission : Permissions.aggregates(Permissions.ALL)) { Set<String> names = Permissions.getNames(permission); assertEquals(1, names.size()); assertEquals(Permissions.PERMISSION_NAMES.get(permission), names.iterator().next()); } }
@Test public void testGetPermissionsFromPermissionNameActions() { TreeLocation tl = TreeLocation.create(existingTree); long permissions = Permissions.NODE_TYPE_MANAGEMENT|Permissions.LOCK_MANAGEMENT|Permissions.VERSION_MANAGEMENT; Set<String> names = Permissions.getNames(permissions); String jcrActions = Text.implode(names.toArray(new String[0]), ","); assertEquals(permissions, Permissions.getPermissions(jcrActions, tl, false)); }