(no commit message)
[utils] / security / jpatest / src / test / java / org / wamblee / security / authentication / jpa / UserAdministrationTester.java
index 366ec6a981e134165eb0afada69a829c6ca65e90..c90afc8e94741afc89a65243f215087119590717 100644 (file)
@@ -19,45 +19,48 @@ import org.wamblee.cache.Cache;
 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
@@ -71,12 +74,15 @@ public class UserAdministrationTester {
             groupset, userValidator, groupValidator);
         userAdmin = factory.getProxy(userAdminImpl);
     }
-   
-    
+
+    public PersistenceUnitDescription getPersistenceUnit() {
+        return persistenceUnit;
+    }
+
     public JpaTester getJpaTester() {
         return jpaTester;
     }
-    
+
     public Cache<String, User> getUserCache() {
         return userCache;
     }
@@ -85,6 +91,10 @@ public class UserAdministrationTester {
         return userAdmin;
     }
 
+    public MessageDigester getPasswordEncoder() {
+        return passwordDigester;
+    }
+
     public void stop() throws Exception {
         jpaTester.stop();
     }