package org.pentaho.platform.engine.security.userrole.ws; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import java.util.List; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import org.pentaho.platform.api.engine.IUserDetailsRoleListService; import org.pentaho.test.platform.engine.core.MicroPlatform; @SuppressWarnings("nls") public class UserDetailsRoleListWebServiceTest { private MicroPlatform microPlatform; @Before public void init0() { microPlatform = new MicroPlatform(); microPlatform.define(IUserDetailsRoleListService.class, MockUserDetailsRoleListService.class); } public IUserDetailsRoleListWebService getUserDetailsRoleListWebService() { return new DefaultUserDetailsRoleListWebService(); } @Test public void testGetAllRoles() throws Exception { IUserDetailsRoleListWebService service = getUserDetailsRoleListWebService(); try { List<String> allRoles = service.getAllRoles(); assertNotNull(allRoles); assertEquals(allRoles.size(), 7); // Should have exactly 7 roles assertEquals(allRoles.get(0), "ROLE_DEV");//$NON-NLS-1$ assertEquals(allRoles.get(6), "ROLE_IS"); //$NON-NLS-1$ } catch (Exception e) { Assert.fail(); } } @Test public void testGetAllUsers() throws Exception { IUserDetailsRoleListWebService service = getUserDetailsRoleListWebService(); try { List<String> allUsers = service.getAllUsers(); assertNotNull(allUsers); assertEquals(allUsers.size(), 4); assertEquals(allUsers.get(0), "pat");//$NON-NLS-1$ assertEquals(allUsers.get(3), "suzy");//$NON-NLS-1$ } catch (Exception e) { Assert.fail(); } } @Test public void testGetAllUsersInRole() throws Exception { IUserDetailsRoleListWebService service = getUserDetailsRoleListWebService(); try { List<String> allUsersInRole = service.getAllUsersInRole("ROLE_DEV");//$NON-NLS-1$ assertNotNull(allUsersInRole); assertEquals(allUsersInRole.size(), 2); assertEquals(allUsersInRole.get(0), "pat");//$NON-NLS-1$ assertEquals(allUsersInRole.get(1), "tiffany");//$NON-NLS-1$ } catch (Exception e) { Assert.fail(); } } @Test public void testGetRolesForUser() throws Exception { IUserDetailsRoleListWebService service = getUserDetailsRoleListWebService(); try { List<String> rolesForUser = service.getRolesForUser("joe");//$NON-NLS-1$ assertNotNull(rolesForUser); assertEquals(rolesForUser.size(), 2); assertEquals(rolesForUser.get(0), "ROLE_ADMIN");//$NON-NLS-1$ assertEquals(rolesForUser.get(1), "ROLE_CEO");//$NON-NLS-1$ } catch (Exception e) { Assert.fail(); } } }