package org.argeo.osgi.useradmin; import java.util.SortedMap; import javax.naming.directory.Attributes; import javax.naming.ldap.LdapName; 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 { 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"); Attributes rootAttributes = res.get(rootDn); assertNotNull(rootAttributes); assertEquals("Superuser", rootAttributes.get("description").get()); byte[] rawPwEntry = (byte[]) rootAttributes.get("userpassword").get(); assertEquals("{SHA}ieSV55Qc+eQOaYDRSha/AjzNTJE=", new String(rawPwEntry)); byte[] hashedPassword = DigestUtils.sha1("demo".getBytes()); assertEquals("{SHA}" + Base64.encodeBase64String(hashedPassword), new String(rawPwEntry)); } }