X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.security.core%2Fext%2Ftest%2Forg%2Fargeo%2Fosgi%2Fuseradmin%2FLdifParserTest.java;h=34ac98b1cb0e8f069945fd85d2233251aea5005f;hb=4f0362bc7817d05a7c3e2c8a33c7e9eb62989257;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..34ac98b1c 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,31 +1,49 @@ 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()); - byte[] rawPwEntry = (byte[]) rootAttributes.get("userpassword").get(); + assertEquals("Superuser", + rootAttributes.get(LdifName.description.name()).get()); + byte[] rawPwEntry = (byte[]) rootAttributes.get( + LdifName.userPassword.name()).get(); assertEquals("{SHA}ieSV55Qc+eQOaYDRSha/AjzNTJE=", new String(rawPwEntry)); byte[] hashedPassword = DigestUtils.sha1("demo".getBytes()); 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(LdifName.member.name()); + 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))); } }