import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
+import java.nio.charset.StandardCharsets;
import java.nio.file.FileVisitResult;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.SimpleFileVisitor;
import java.nio.file.attribute.BasicFileAttributes;
import java.util.Arrays;
-import java.util.Base64;
import java.util.Dictionary;
import java.util.Hashtable;
import java.util.List;
-import javax.transaction.TransactionManager;
-
import org.argeo.naming.LdapAttrs;
-import org.argeo.transaction.simple.SimpleTransactionManager;
+import org.argeo.osgi.transaction.SimpleTransactionManager;
import org.osgi.service.useradmin.Authorization;
import org.osgi.service.useradmin.Group;
import org.osgi.service.useradmin.Role;
public class LdifUserAdminTest extends TestCase implements BasicTestConstants {
// We have to keep using JUnit because of
// https://issues.apache.org/jira/browse/SUREFIRE-1669
-
+
final static int TM_SIMPLE = 0;
final static int TM_BITRONIX = 1;
private int tmType = TM_SIMPLE;
- private TransactionManager tm;
+ private SimpleTransactionManager tm;
private URI uri;
private AbstractUserDirectory userAdmin;
private Path tempDir;
assert "root@localhost".equals(rootUser.getProperties().get("mail"));
// credentials
- byte[] hashedPassword = ("{SHA}" + Base64.getEncoder().encodeToString(DigestUtils.sha1("demo".getBytes())))
- .getBytes();
- assert rootUser.hasCredential(LdapAttrs.userPassword.name(), hashedPassword);
- assert demoUser.hasCredential(LdapAttrs.userPassword.name(), hashedPassword);
+ // {SHA}
+ assert rootUser.hasCredential(LdapAttrs.userPassword.name(), "demo".getBytes(StandardCharsets.UTF_8));
+ // {PBKDF2_SHA256}
+ assert demoUser.hasCredential(LdapAttrs.userPassword.name(), "demo".getBytes(StandardCharsets.UTF_8));
// search
Role[] search = userAdmin.getRoles(null);
}
}
- private AbstractUserDirectory initUserAdmin(URI uri, TransactionManager tm) {
+ private AbstractUserDirectory initUserAdmin(URI uri, SimpleTransactionManager tm) {
Dictionary<String, Object> props = new Hashtable<>();
props.put(UserAdminConf.uri.name(), uri.toString());
props.put(UserAdminConf.baseDn.name(), BASE_DN);
// JTA
// if (TM_BITRONIX == tmType)
// EhCacheXAResourceProducer.registerXAResource(UserDirectory.class.getName(), userAdmin.getXaResource());
- userAdmin.setTransactionManager(tm);
+ userAdmin.setTransactionControl(tm);
return userAdmin;
}