X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.core%2Fext%2Ftest%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifParserTest.java;h=75a5c34b3442c4d39129b4c343349dcc2ead8ccc;hb=f19ee9054ca17db3895441ff09a104e3ef321368;hp=dd32dca171632641a5c15359e696dc7b028389d8;hpb=700f034e0772a4d3e33a31227b85ef6a8486e78d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifParserTest.java b/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifParserTest.java index dd32dca17..75a5c34b3 100644 --- a/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifParserTest.java +++ b/org.argeo.security.core/ext/test/org/argeo/osgi/useradmin/LdifParserTest.java @@ -1,22 +1,25 @@ package org.argeo.osgi.useradmin; +import java.util.ArrayList; +import java.util.List; import java.util.SortedMap; +import javax.naming.NamingEnumeration; +import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import javax.naming.ldap.LdapName; +import junit.framework.TestCase; + import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.digest.DigestUtils; -import junit.framework.TestCase; - -public class LdifParserTest extends TestCase { - public void testSimpleLdif() throws Exception { +public class LdifParserTest extends TestCase implements BasicTestConstants { + public void testBasicLdif() throws Exception { LdifParser ldifParser = new LdifParser(); SortedMap res = ldifParser.read(getClass() - .getResourceAsStream("test.ldif")); - LdapName rootDn = new LdapName( - "uid=root,ou=People,dc=demo,dc=example,dc=org"); + .getResourceAsStream("basic.ldif")); + LdapName rootDn = new LdapName(ROOT_USER_DN); Attributes rootAttributes = res.get(rootDn); assertNotNull(rootAttributes); assertEquals("Superuser", rootAttributes.get("description").get()); @@ -27,5 +30,19 @@ public class LdifParserTest extends TestCase { assertEquals("{SHA}" + Base64.encodeBase64String(hashedPassword), new String(rawPwEntry)); + LdapName adminDn = new LdapName( + ADMIN_GROUP_DN); + Attributes adminAttributes = res.get(adminDn); + assertNotNull(adminAttributes); + Attribute memberAttribute = adminAttributes.get("member"); + assertNotNull(memberAttribute); + NamingEnumeration members = memberAttribute.getAll(); + List users = new ArrayList(); + while (members.hasMore()) { + Object value = members.next(); + users.add(value.toString()); + } + assertEquals(1, users.size()); + assertEquals(rootDn, new LdapName(users.get(0))); } }