use of org.pentaho.platform.web.http.api.resources.LogicalRoleAssignment in project pentaho-platform by pentaho.
the class UserRoleDaoServiceTest method testSetLogicalRoles.
@Test
public void testSetLogicalRoles() {
String roleName = "testRole";
ArrayList<String> roleList = new ArrayList<>();
roleList.add("org.pentaho.repository.read");
roleList.add("org.pentaho.repository.create");
LogicalRoleAssignment roleAssignment = mock(LogicalRoleAssignment.class);
when(roleAssignment.getRoleName()).thenReturn(roleName);
when(roleAssignment.getLogicalRoles()).thenReturn(roleList);
ArrayList<LogicalRoleAssignment> roles = new ArrayList<>();
roles.add(roleAssignment);
LogicalRoleAssignments roleAssignments = mock(LogicalRoleAssignments.class);
when(roleAssignments.getAssignments()).thenReturn(roles);
setupMockSessionUser(SESSION_USER_NAME, true);
IRoleAuthorizationPolicyRoleBindingDao roleBindingDao = mock(IRoleAuthorizationPolicyRoleBindingDao.class);
PentahoSystem.registerObject(roleBindingDao);
userRoleService.setLogicalRoles(roleAssignments);
verify(roleBindingDao).setRoleBindings(roleName, roleList);
}
use of org.pentaho.platform.web.http.api.resources.LogicalRoleAssignment in project pentaho-platform by pentaho.
the class UserRoleDaoService method getRoleBindingStruct.
public SystemRolesMap getRoleBindingStruct(String locale) throws SecurityException {
if (canAdminister()) {
RoleBindingStruct roleBindingStruct = getRoleBindingDao().getRoleBindingStruct(locale);
SystemRolesMap systemRolesMap = new SystemRolesMap();
for (Map.Entry<String, String> localalizeNameEntry : roleBindingStruct.logicalRoleNameMap.entrySet()) {
systemRolesMap.getLocalizedRoleNames().add(new LocalizedLogicalRoleName(localalizeNameEntry.getKey(), localalizeNameEntry.getValue()));
}
for (Map.Entry<String, List<String>> logicalRoleAssignments : roleBindingStruct.bindingMap.entrySet()) {
systemRolesMap.getAssignments().add(new LogicalRoleAssignment(logicalRoleAssignments.getKey(), logicalRoleAssignments.getValue(), roleBindingStruct.immutableRoles.contains(logicalRoleAssignments.getKey())));
}
return systemRolesMap;
} else {
throw new SecurityException();
}
}
Aggregations