import org.wamblee.cache.EhCache;
import org.wamblee.io.ClassPathResource;
import org.wamblee.security.authentication.GroupSet;
+import org.wamblee.security.authentication.Md5HexMessageDigester;
+import org.wamblee.security.authentication.MessageDigester;
import org.wamblee.security.authentication.NameValidator;
import org.wamblee.security.authentication.RegexpNameValidator;
import org.wamblee.security.authentication.User;
import org.wamblee.security.authentication.UserAdministration;
import org.wamblee.security.authentication.UserAdministrationImpl;
import org.wamblee.security.authentication.UserSet;
-import org.wamblee.security.encryption.Md5HexMessageDigester;
-import org.wamblee.security.encryption.MessageDigester;
-import org.wamblee.support.persistence.JpaTester;
-import org.wamblee.support.persistence.TransactionProxyFactory;
+import org.wamblee.test.persistence.JpaTester;
+import org.wamblee.test.persistence.PersistenceUnitDescription;
+import org.wamblee.test.transactions.TransactionProxyFactory;
/**
- * Setup of a security repository for unit test. This provides all the necessary wiring
- * and JPA setup.
+ * Setup of a security repository for unit test. This provides all the necessary
+ * wiring and JPA setup.
*
* @author Erik Brakkee
*/
public class UserAdministrationTester {
+ private PersistenceUnitDescription persistenceUnit;
private JpaTester jpaTester;
private Cache<String, User> userCache;
- private UserAdministration userAdmin;
+ private UserAdministration userAdmin;
+ private MessageDigester passwordDigester;
public UserAdministrationTester() {
- jpaTester = new JpaTester(new SecurityPersistenceUnit());
+ persistenceUnit = new SecurityPersistenceUnit();
+ jpaTester = new JpaTester(persistenceUnit);
}
public void start() throws Exception {
jpaTester.start();
- userCache = new EhCache<String, User>(
- new ClassPathResource("properties/org.wamblee.security.ehcache.xml"),
- "users");
+ userCache = new EhCache<String, User>(new ClassPathResource(
+ "properties/org.wamblee.security.ehcache.xml"), "users");
TransactionProxyFactory<UserAdministration> factory = new TransactionProxyFactory<UserAdministration>(
jpaTester.getJpaBuilder(), UserAdministration.class);
NameValidator passwordValidator = new RegexpNameValidator(".{5,}",
"INVALID_PASSWORD", "Password must have at least 5 characters");
- MessageDigester passwordDigester = new Md5HexMessageDigester();
+ passwordDigester = new Md5HexMessageDigester();
UserSet userset = new JpaUserSet(userCache, passwordValidator,
passwordDigester, factory.getTransactionScopedEntityManager());
GroupSet groupset = new JpaGroupSet(factory
groupset, userValidator, groupValidator);
userAdmin = factory.getProxy(userAdminImpl);
}
-
-
+
+ public PersistenceUnitDescription getPersistenceUnit() {
+ return persistenceUnit;
+ }
+
public JpaTester getJpaTester() {
return jpaTester;
}
-
+
public Cache<String, User> getUserCache() {
return userCache;
}
return userAdmin;
}
+ public MessageDigester getPasswordEncoder() {
+ return passwordDigester;
+ }
+
public void stop() throws Exception {
jpaTester.stop();
}