]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.enterprise/ext/test/org/argeo/osgi/useradmin/LdifUserAdminTest.java
Improve tokens management
[lgpl/argeo-commons.git] / org.argeo.enterprise / ext / test / org / argeo / osgi / useradmin / LdifUserAdminTest.java
index 4cfb58b77af0e52e811ce7f98d67735e7a5b1765..956bb2e23c24b7aa24e84b49df5653492e0c0b04 100644 (file)
@@ -20,6 +20,8 @@ import java.util.UUID;
 
 import javax.transaction.TransactionManager;
 
+import org.argeo.naming.LdapAttrs;
+import org.argeo.transaction.simple.SimpleTransactionManager;
 import org.osgi.service.useradmin.Authorization;
 import org.osgi.service.useradmin.Group;
 import org.osgi.service.useradmin.Role;
@@ -31,7 +33,11 @@ import bitronix.tm.resource.ehcache.EhCacheXAResourceProducer;
 import junit.framework.TestCase;
 
 public class LdifUserAdminTest extends TestCase implements BasicTestConstants {
-       private BitronixTransactionManager tm;
+       final static int TM_SIMPLE = 0;
+       final static int TM_BITRONIX = 1;
+
+       private int tmType = TM_SIMPLE;
+       private TransactionManager tm;
        private URI uri;
        private AbstractUserDirectory userAdmin;
        private Path tempDir;
@@ -100,8 +106,8 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants {
                // credentials
                byte[] hashedPassword = ("{SHA}" + Base64.getEncoder().encodeToString(DigestUtils.sha1("demo".getBytes())))
                                .getBytes();
-               assertTrue(rootUser.hasCredential(LdifName.userPassword.name(), hashedPassword));
-               assertTrue(demoUser.hasCredential(LdifName.userPassword.name(), hashedPassword));
+               assertTrue(rootUser.hasCredential(LdapAttrs.userPassword.name(), hashedPassword));
+               assertTrue(demoUser.hasCredential(LdapAttrs.userPassword.name(), hashedPassword));
 
                // search
                Role[] search = userAdmin.getRoles(null);
@@ -151,11 +157,16 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants {
                        uri = ldifPath.toUri();
                }
 
-               bitronix.tm.Configuration tmConf = TransactionManagerServices.getConfiguration();
-               tmConf.setServerId(UUID.randomUUID().toString());
-               tmConf.setLogPart1Filename(new File(tempDir.toFile(), "btm1.tlog").getAbsolutePath());
-               tmConf.setLogPart2Filename(new File(tempDir.toFile(), "btm2.tlog").getAbsolutePath());
-               tm = TransactionManagerServices.getTransactionManager();
+               // Init transaction manager
+               if (TM_SIMPLE == tmType) {
+                       tm = new SimpleTransactionManager();
+               } else if (TM_BITRONIX == tmType) {
+                       bitronix.tm.Configuration tmConf = TransactionManagerServices.getConfiguration();
+                       tmConf.setServerId(UUID.randomUUID().toString());
+                       tmConf.setLogPart1Filename(new File(tempDir.toFile(), "btm1.tlog").getAbsolutePath());
+                       tmConf.setLogPart2Filename(new File(tempDir.toFile(), "btm2.tlog").getAbsolutePath());
+                       tm = TransactionManagerServices.getTransactionManager();
+               }
 
                userAdmin = initUserAdmin(uri, tm);
        }
@@ -173,13 +184,15 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants {
                        userAdmin = new LdifUserAdmin(props);
                userAdmin.init();
                // JTA
-               EhCacheXAResourceProducer.registerXAResource(UserDirectory.class.getName(), userAdmin.getXaResource());
+               if (TM_BITRONIX == tmType)
+                       EhCacheXAResourceProducer.registerXAResource(UserDirectory.class.getName(), userAdmin.getXaResource());
                userAdmin.setTransactionManager(tm);
                return userAdmin;
        }
 
        private void persistAndRestart() {
-               EhCacheXAResourceProducer.unregisterXAResource(UserDirectory.class.getName(), userAdmin.getXaResource());
+               if (TM_BITRONIX == tmType)
+                       EhCacheXAResourceProducer.unregisterXAResource(UserDirectory.class.getName(), userAdmin.getXaResource());
                if (userAdmin instanceof LdifUserAdmin)
                        ((LdifUserAdmin) userAdmin).save();
                userAdmin.destroy();
@@ -188,8 +201,10 @@ public class LdifUserAdminTest extends TestCase implements BasicTestConstants {
 
        @Override
        protected void tearDown() throws Exception {
-               EhCacheXAResourceProducer.unregisterXAResource(UserDirectory.class.getName(), userAdmin.getXaResource());
-               tm.shutdown();
+               if (TM_BITRONIX == tmType) {
+                       EhCacheXAResourceProducer.unregisterXAResource(UserDirectory.class.getName(), userAdmin.getXaResource());
+                       ((BitronixTransactionManager) tm).shutdown();
+               }
                if (userAdmin != null)
                        userAdmin.destroy();
                if (tempDir != null)