]> WPIA git - gigi.git/blobdiff - tests/club/wpia/gigi/testUtils/ConfiguredTest.java
upd: allow clean testcase setup and teardown
[gigi.git] / tests / club / wpia / gigi / testUtils / ConfiguredTest.java
index e4c41b671f53e833263797ffec800712faa62860..483f25e1d80a99deb37029e538ce4840ae7f61fc 100644 (file)
@@ -27,14 +27,14 @@ import org.junit.BeforeClass;
 
 import club.wpia.gigi.GigiApiException;
 import club.wpia.gigi.database.DatabaseConnection;
-import club.wpia.gigi.database.GigiPreparedStatement;
 import club.wpia.gigi.database.DatabaseConnection.Link;
+import club.wpia.gigi.database.GigiPreparedStatement;
 import club.wpia.gigi.database.SQLFileManager.ImportType;
+import club.wpia.gigi.dbObjects.CATS.CATSType;
 import club.wpia.gigi.dbObjects.CertificateProfile;
 import club.wpia.gigi.dbObjects.Domain;
 import club.wpia.gigi.dbObjects.DomainPingType;
 import club.wpia.gigi.dbObjects.User;
-import club.wpia.gigi.dbObjects.CATS.CATSType;
 import club.wpia.gigi.testUtils.TestEmailReceiver.TestMail;
 import club.wpia.gigi.util.DatabaseManager;
 import club.wpia.gigi.util.DomainAssessment;
@@ -78,6 +78,15 @@ public abstract class ConfiguredTest {
     public static Properties initEnvironment() throws IOException {
         TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
         if (envInited) {
+            try {
+                synchronized (ConfiguredTest.class) {
+                    if (l == null) {
+                        l = DatabaseConnection.newLink(false);
+                    }
+                }
+            } catch (InterruptedException e) {
+                throw new Error(e);
+            }
             return generateProps();
         }
         envInited = true;
@@ -93,7 +102,11 @@ public abstract class ConfiguredTest {
         if ( !DatabaseConnection.isInited()) {
             DatabaseConnection.init(testProps);
             try {
-                l = DatabaseConnection.newLink(false);
+                synchronized (ConfiguredTest.class) {
+                    if (l == null) {
+                        l = DatabaseConnection.newLink(false);
+                    }
+                }
             } catch (InterruptedException e) {
                 throw new Error(e);
             }
@@ -104,9 +117,11 @@ public abstract class ConfiguredTest {
 
     @AfterClass
     public static void closeDBLink() {
-        if (l != null) {
-            l.close();
-            l = null;
+        synchronized (ConfiguredTest.class) {
+            if (l != null) {
+                l.close();
+                l = null;
+            }
         }
     }
 
@@ -117,6 +132,9 @@ public abstract class ConfiguredTest {
         mainProps.setProperty("name.static", testProps.getProperty("name.static"));
         mainProps.setProperty("name.api", testProps.getProperty("name.api"));
 
+        mainProps.setProperty("appName", "SomeCA");
+        mainProps.setProperty("appIdentifier", "someca");
+
         mainProps.setProperty("https.port", testProps.getProperty("serverPort.https"));
         mainProps.setProperty("http.port", testProps.getProperty("serverPort.http"));