package org.argeo.osgi.useradmin; import java.util.Arrays; import java.util.List; import junit.framework.TestCase; import org.osgi.service.useradmin.Authorization; import org.osgi.service.useradmin.Group; import org.osgi.service.useradmin.Role; import org.osgi.service.useradmin.User; public class LdifUserAdminTest extends TestCase implements BasicTestConstants { public void testBasicUserAdmin() { LdifUserAdmin userAdmin = new LdifUserAdmin(getClass() .getResourceAsStream("basic.ldif")); User rootUser = (User) userAdmin.getRole(ROOT_USER_DN); assertNotNull(rootUser); User demoUser = (User) userAdmin.getRole(DEMO_USER_DN); assertNotNull(demoUser); Group adminGroup = (Group) userAdmin.getRole(ADMIN_GROUP_DN); assertNotNull(adminGroup); Role[] members = adminGroup.getMembers(); assertEquals(1, members.length); assertEquals(rootUser, members[0]); Group editorGroup = (Group) userAdmin.getRole(EDITOR_GROUP_DN); assertNotNull(editorGroup); members = editorGroup.getMembers(); assertEquals(2, members.length); assertEquals(adminGroup, members[0]); assertEquals(demoUser, members[1]); Authorization rootAuth = userAdmin.getAuthorization(rootUser); List rootRoles = Arrays.asList(rootAuth.getRoles()); assertEquals(3, rootRoles.size()); assertTrue(rootRoles.contains(ROOT_USER_DN)); assertTrue(rootRoles.contains(ADMIN_GROUP_DN)); assertTrue(rootRoles.contains(EDITOR_GROUP_DN)); } }