X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.core%2Fext%2Ftest%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifUserAdminTest.java;h=c8bc583ed322b96c34c80eab76744d3a6537dc4a;hb=9c56c4d696efefbf86eecb7aa10140fec3fe6a63;hp=52682bf03ba85ce71b63d1f027178c49ab6e5309;hpb=40c3800ea57d5de136137e3fb0ff07cf54f2df48;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 52682bf03..c8bc583ed 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; @@ -15,8 +18,19 @@ import org.osgi.service.useradmin.User; public class LdifUserAdminTest extends TestCase implements BasicTestConstants { public void testBasicUserAdmin() throws Exception { - LdifUserAdmin userAdmin = new LdifUserAdmin(getClass() + // 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); @@ -31,7 +45,7 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants { assertEquals(1, members.length); assertEquals(rootUser, members[0]); - Group editorGroup = (Group) userAdmin.getRole(EDITOR_GROUP_DN); + Group editorGroup = (Group) userAdmin.getRole(EDITORS_GROUP_DN); assertNotNull(editorGroup); members = editorGroup.getMembers(); assertEquals(2, members.length); @@ -43,7 +57,7 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants { assertEquals(3, rootRoles.size()); assertTrue(rootRoles.contains(ROOT_USER_DN)); assertTrue(rootRoles.contains(ADMIN_GROUP_DN)); - assertTrue(rootRoles.contains(EDITOR_GROUP_DN)); + assertTrue(rootRoles.contains(EDITORS_GROUP_DN)); // properties assertEquals("root@localhost", rootUser.getProperties().get("mail")); @@ -52,9 +66,11 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants { byte[] hashedPassword = ("{SHA}" + Base64 .encodeBase64String(DigestUtils.sha1("demo".getBytes()))) .getBytes(); - assertTrue(rootUser.hasCredential("userpassword", hashedPassword)); - assertTrue(demoUser.hasCredential("userpassword", hashedPassword)); - + assertTrue(rootUser.hasCredential(LdifName.userPassword.name(), + hashedPassword)); + assertTrue(demoUser.hasCredential(LdifName.userPassword.name(), + hashedPassword)); + // search Role[] search = userAdmin.getRoles(null); assertEquals(4, search.length);