X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.core%2Fext%2Ftest%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifUserAdminTest.java;h=05167741781ef21b490ae5e3412ea8f40912a972;hb=f19ee9054ca17db3895441ff09a104e3ef321368;hp=d2a6c94c144d7663b735a5b9ed44df81652fa735;hpb=270c84f092b77b6f101a742cff565d29ee756011;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifUserAdminTest.java b/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifUserAdminTest.java index d2a6c94c1..051677417 100644 --- a/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifUserAdminTest.java +++ b/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifUserAdminTest.java @@ -1,5 +1,7 @@ package org.argeo.osgi.useradmin; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.util.Arrays; import java.util.List; @@ -7,6 +9,7 @@ import junit.framework.TestCase; import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.digest.DigestUtils; +import org.apache.commons.io.IOUtils; import org.osgi.service.useradmin.Authorization; import org.osgi.service.useradmin.Group; import org.osgi.service.useradmin.Role; @@ -14,9 +17,20 @@ import org.osgi.service.useradmin.User; public class LdifUserAdminTest extends TestCase implements BasicTestConstants { - public void testBasicUserAdmin() { - LdifUserAdmin userAdmin = new LdifUserAdmin(getClass() + public void testBasicUserAdmin() throws Exception { + // read + LdifUserAdmin initialUserAdmin = new LdifUserAdmin(getClass() .getResourceAsStream("basic.ldif")); + // write + ByteArrayOutputStream out = new ByteArrayOutputStream(); + initialUserAdmin.save(out); + byte[] arr = out.toByteArray(); + initialUserAdmin.destroy(); + IOUtils.closeQuietly(out); + String written = new String(arr); + System.out.print(written); + ByteArrayInputStream in = new ByteArrayInputStream(arr); + LdifUserAdmin userAdmin = new LdifUserAdmin(in); // users User rootUser = (User) userAdmin.getRole(ROOT_USER_DN); @@ -54,5 +68,15 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants { .getBytes(); assertTrue(rootUser.hasCredential("userpassword", hashedPassword)); assertTrue(demoUser.hasCredential("userpassword", hashedPassword)); + + // search + Role[] search = userAdmin.getRoles(null); + assertEquals(4, search.length); + search = userAdmin.getRoles("(objectClass=groupOfNames)"); + assertEquals(2, search.length); + search = userAdmin.getRoles("(objectclass=inetOrgPerson)"); + assertEquals(2, search.length); + search = userAdmin.getRoles("(&(objectclass=inetOrgPerson)(uid=demo))"); + assertEquals(1, search.length); } }