]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/ManagedTest.java
A try to speed up database resetting for testcases.
[gigi.git] / tests / org / cacert / gigi / testUtils / ManagedTest.java
index b0f3670a68f1be76e9077f337d392c6e3b9756a4..ed5f1eec2c831c4fbb5ac5511dcc3004ef33f0ef 100644 (file)
@@ -95,20 +95,17 @@ public class ManagedTest {
             if ( !DatabaseConnection.isInited()) {
                 DatabaseConnection.init(testProps);
             }
-            System.out.println("... purging Database");
-            DatabaseManager.run(new String[] {
-                    testProps.getProperty("sql.driver"), testProps.getProperty("sql.url"), testProps.getProperty("sql.user"), testProps.getProperty("sql.password")
-            });
+            purgeDatabase();
             String type = testProps.getProperty("type");
             Properties mainProps = generateMainProps();
             ServerConstants.init(mainProps);
             if (type.equals("local")) {
-                url = testProps.getProperty("name.www") + ":" + testProps.getProperty("serverPort");
+                url = testProps.getProperty("name.www") + ":" + testProps.getProperty("serverPort.https");
                 String[] parts = testProps.getProperty("mail").split(":", 2);
                 ter = new TestEmailReciever(new InetSocketAddress(parts[0], Integer.parseInt(parts[1])));
                 return;
             }
-            url = testProps.getProperty("name.www") + ":" + testProps.getProperty("serverPort");
+            url = testProps.getProperty("name.www") + ":" + testProps.getProperty("serverPort.https");
             gigi = Runtime.getRuntime().exec(testProps.getProperty("java"));
             DataOutputStream toGigi = new DataOutputStream(gigi.getOutputStream());
             System.out.println("... starting server");
@@ -144,8 +141,6 @@ public class ManagedTest {
             SimpleSigner.runSigner();
         } catch (IOException e) {
             throw new Error(e);
-        } catch (ClassNotFoundException e1) {
-            e1.printStackTrace();
         } catch (SQLException e1) {
             e1.printStackTrace();
         } catch (InterruptedException e) {
@@ -154,6 +149,19 @@ public class ManagedTest {
 
     }
 
+    public static void purgeDatabase() throws SQLException, IOException {
+        System.out.print("... resetting Database");
+        long ms = System.currentTimeMillis();
+        try {
+            DatabaseManager.run(new String[] {
+                    testProps.getProperty("sql.driver"), testProps.getProperty("sql.url"), testProps.getProperty("sql.user"), testProps.getProperty("sql.password")
+            }, true);
+        } catch (ClassNotFoundException e) {
+            e.printStackTrace();
+        }
+        System.out.println(" in " + (System.currentTimeMillis() - ms) + " ms");
+    }
+
     private static Properties generateMainProps() {
         Properties mainProps = new Properties();
         mainProps.setProperty("host", "127.0.0.1");
@@ -161,7 +169,8 @@ public class ManagedTest {
         mainProps.setProperty("name.www", testProps.getProperty("name.www"));
         mainProps.setProperty("name.static", testProps.getProperty("name.static"));
 
-        mainProps.setProperty("port", testProps.getProperty("serverPort"));
+        mainProps.setProperty("https.port", testProps.getProperty("serverPort.https"));
+        mainProps.setProperty("http.port", testProps.getProperty("serverPort.http"));
         mainProps.setProperty("emailProvider", "org.cacert.gigi.email.TestEmailProvider");
         mainProps.setProperty("emailProvider.port", "8473");
         mainProps.setProperty("sql.driver", testProps.getProperty("sql.driver"));