]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/ManagedTest.java
fix: make errors real bootstrap-alerts
[gigi.git] / tests / org / cacert / gigi / testUtils / ManagedTest.java
index d620ff3518c92fa8894bc512d64309819401f874..f3c0044bfa4213901ac4dbd241a8331ed06c4a57 100644 (file)
@@ -38,7 +38,7 @@ import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.database.GigiPreparedStatement;
 import org.cacert.gigi.database.GigiResultSet;
 import org.cacert.gigi.database.SQLFileManager.ImportType;
-import org.cacert.gigi.dbObjects.CATS;
+import org.cacert.gigi.dbObjects.CATS.CATSType;
 import org.cacert.gigi.dbObjects.Domain;
 import org.cacert.gigi.dbObjects.DomainPingType;
 import org.cacert.gigi.dbObjects.EmailAddress;
@@ -53,6 +53,7 @@ import org.cacert.gigi.testUtils.TestEmailReceiver.TestMail;
 import org.cacert.gigi.util.DatabaseManager;
 import org.cacert.gigi.util.ServerConstants;
 import org.cacert.gigi.util.SimpleSigner;
+import org.hamcrest.CoreMatchers;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.BeforeClass;
@@ -96,13 +97,22 @@ public class ManagedTest extends ConfiguredTest {
     }
 
     @BeforeClass
-    public static void initEnvironment() {
-        try {
-            ConfiguredTest.initEnvironment();
+    public static void initEnvironmentHook() {
+        initEnvironment();
+    }
+
+    private static boolean inited = false;
 
+    public static Properties initEnvironment() {
+        try {
+            Properties mainProps = ConfiguredTest.initEnvironment();
+            if (inited) {
+                return mainProps;
+            }
+            inited = true;
             purgeDatabase();
             String type = testProps.getProperty("type");
-            Properties mainProps = generateMainProps();
+            generateMainProps(mainProps);
             ServerConstants.init(mainProps);
             if (type.equals("local")) {
                 url = testProps.getProperty("name.www") + ":" + testProps.getProperty("serverPort.https");
@@ -112,7 +122,7 @@ public class ManagedTest extends ConfiguredTest {
                 if (testProps.getProperty("withSigner", "false").equals("true")) {
                     SimpleSigner.runSigner();
                 }
-                return;
+                return mainProps;
             }
             url = testProps.getProperty("name.www") + ":" + testProps.getProperty("serverPort.https");
             gigi = Runtime.getRuntime().exec(testProps.getProperty("java"));
@@ -150,12 +160,13 @@ public class ManagedTest extends ConfiguredTest {
             ter = new TestEmailReceiver(new InetSocketAddress("localhost", 8473));
             ter.start();
             SimpleSigner.runSigner();
+            return mainProps;
         } catch (IOException e) {
             throw new Error(e);
         } catch (SQLException e1) {
-            e1.printStackTrace();
+            throw new Error(e1);
         } catch (InterruptedException e) {
-            e.printStackTrace();
+            throw new Error(e);
         }
 
     }
@@ -186,8 +197,7 @@ public class ManagedTest extends ConfiguredTest {
         u.openConnection().getHeaderField("Location");
     }
 
-    private static Properties generateMainProps() {
-        Properties mainProps = new Properties();
+    private static void generateMainProps(Properties mainProps) {
         mainProps.setProperty("testrunner", "true");
         mainProps.setProperty("host", "127.0.0.1");
         mainProps.setProperty("name.secure", testProps.getProperty("name.secure"));
@@ -204,7 +214,6 @@ public class ManagedTest extends ConfiguredTest {
         mainProps.setProperty("sql.user", testProps.getProperty("sql.user"));
         mainProps.setProperty("sql.password", testProps.getProperty("sql.password"));
         mainProps.setProperty("testing", "true");
-        return mainProps;
     }
 
     @AfterClass
@@ -258,13 +267,21 @@ public class ManagedTest extends ConfiguredTest {
         return d;
     }
 
+    public static org.hamcrest.Matcher<String> hasError() {
+        return CoreMatchers.containsString("<div class='alert alert-danger error-msgs'>");
+    }
+
+    public static org.hamcrest.Matcher<String> hasNoError() {
+        return CoreMatchers.not(hasError());
+    }
+
     public static String fetchStartErrorMessage(String d) throws IOException {
-        String formFail = "<div class='bg-danger error-msgs'>";
+        String formFail = "<div class='alert alert-danger error-msgs'>";
         int idx = d.indexOf(formFail);
         if (idx == -1) {
             return null;
         }
-        String startError = d.substring(idx + formFail.length(), idx + 100).trim();
+        String startError = d.substring(idx + formFail.length(), idx + formFail.length() + 150).trim();
         return startError;
     }
 
@@ -332,7 +349,7 @@ public class ManagedTest extends ConfiguredTest {
     public static void makeAssurer(int uid) {
         try (GigiPreparedStatement ps1 = new GigiPreparedStatement("INSERT INTO cats_passed SET user_id=?, variant_id=?, language='en_EN', version=1")) {
             ps1.setInt(1, uid);
-            ps1.setInt(2, CATS.ASSURER_CHALLENGE_ID);
+            ps1.setInt(2, CATSType.ASSURER_CHALLENGE.getId());
             ps1.execute();
         }