use of org.pentaho.platform.plugin.action.mondrian.mapper.MondrianUserSessionUserRoleListMapper in project pentaho-platform by pentaho.
the class UserRoleMapperIT method testMondrianUserSessionUserRoleListMapper.
@Test
public void testMondrianUserSessionUserRoleListMapper() throws Exception {
final MondrianUserSessionUserRoleListMapper mapper = new MondrianUserSessionUserRoleListMapper();
mapper.setSessionProperty("rolesAttribute");
try {
String[] roles = SecurityHelper.getInstance().runAsUser("admin", new Callable<String[]>() {
@Override
public String[] call() throws Exception {
IPentahoSession session = PentahoSessionHolder.getSession();
session.setAttribute("rolesAttribute", new Object[] { "mondrianRole1", "mondrianRole2", "mondrianRole3" });
return mapper.mapConnectionRoles(session, "SteelWheelsRoles");
}
});
Assert.assertNotNull(roles);
Assert.assertEquals(3, roles.length);
Assert.assertEquals("mondrianRole1", roles[0]);
Assert.assertEquals("mondrianRole2", roles[1]);
Assert.assertEquals("mondrianRole3", roles[2]);
} catch (PentahoAccessControlException e) {
Assert.fail(e.getMessage());
}
}
use of org.pentaho.platform.plugin.action.mondrian.mapper.MondrianUserSessionUserRoleListMapper in project pentaho-platform by pentaho.
the class UserRoleMapperIT method testNoMatchMondrianUserSessionUserRoleListMapper.
@Test
public void testNoMatchMondrianUserSessionUserRoleListMapper() throws Exception {
final MondrianUserSessionUserRoleListMapper mapper = new MondrianUserSessionUserRoleListMapper();
mapper.setSessionProperty("rolesAttribute");
try {
String[] roles = SecurityHelper.getInstance().runAsUser("admin", new Callable<String[]>() {
@Override
public String[] call() throws Exception {
return mapper.mapConnectionRoles(PentahoSessionHolder.getSession(), "SteelWheelsRoles");
}
});
Assert.assertNull(roles);
} catch (PentahoAccessControlException e) {
Assert.fail(e.getMessage());
}
}
Aggregations