]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/testUtils/ManagedTest.java
Merge remote-tracking branch 'origin/libs/scrypt/local'
[gigi.git] / tests / org / cacert / gigi / testUtils / ManagedTest.java
index 5c58e23429e02e22ac29f161e0e57fae4c7570c5..f5354eb9b8364552409f84f4655c9886632b67e5 100644 (file)
@@ -53,6 +53,7 @@ import org.cacert.gigi.util.ServerConstants;
 import org.cacert.gigi.util.SimpleSigner;
 import org.junit.After;
 import org.junit.AfterClass;
+import org.junit.Assert;
 import org.junit.BeforeClass;
 
 /**
@@ -140,6 +141,7 @@ public class ManagedTest extends ConfiguredTest {
                 throw new Error("Server startup failed");
             }
             ter = new TestEmailReciever(new InetSocketAddress("localhost", 8473));
+            ter.start();
             SimpleSigner.runSigner();
         } catch (IOException e) {
             throw new Error(e);
@@ -167,7 +169,7 @@ public class ManagedTest extends ConfiguredTest {
 
     public static void clearCaches() throws IOException {
         ObjectCache.clearAllCaches();
-        String type = testProps.getProperty("type");
+        // String type = testProps.getProperty("type");
         URL u = new URL("https://" + getServerName() + "/manage");
         u.openConnection().getHeaderField("Location");
     }
@@ -217,15 +219,19 @@ public class ManagedTest extends ConfiguredTest {
 
     @After
     public void clearAcceptLanguage() {
-        acceptLanguage = null;
+        ManagedTest.setAcceptLanguage(null);
     }
 
     public TestMail waitForMail() {
-        try {
-            return ter.recieve();
-        } catch (InterruptedException e) {
-            throw new Error(e);
+        TestMail mail = null;
+        while (null == mail) {
+            try {
+                mail = ter.recieve();
+            } catch (InterruptedException e) {
+                throw new Error(e);
+            }
         }
+        return mail;
     }
 
     public static TestEmailReciever getMailReciever() {
@@ -278,13 +284,18 @@ public class ManagedTest extends ConfiguredTest {
         registerUser(firstName, lastName, email, password);
         try {
             TestMail tm = ter.recieve();
+            Assert.assertNotNull(tm);
             tm.verify();
+
             GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id FROM users where email=?");
             ps.setString(1, email);
-            GigiResultSet rs = ps.executeQuery();
-            if (rs.next()) {
-                return rs.getInt(1);
+
+            try (GigiResultSet rs = ps.executeQuery()) {
+                if (rs.next()) {
+                    return rs.getInt(1);
+                }
             }
+
             throw new Error();
         } catch (InterruptedException e) {
             throw new Error(e);
@@ -316,14 +327,17 @@ public class ManagedTest extends ConfiguredTest {
      */
     public static int createAssuranceUser(String firstName, String lastName, String email, String password) {
         int uid = createVerifiedUser(firstName, lastName, email, password);
-        GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO `cats_passed` SET `user_id`=?, `variant_id`=?");
-        ps.setInt(1, uid);
-        ps.setInt(2, 0);
-        ps.execute();
-        ps = DatabaseConnection.getInstance().prepare("INSERT INTO `notary` SET `from`=?, `to`=?, points='100'");
-        ps.setInt(1, uid);
-        ps.setInt(2, uid);
-        ps.execute();
+
+        GigiPreparedStatement ps1 = DatabaseConnection.getInstance().prepare("INSERT INTO `cats_passed` SET `user_id`=?, `variant_id`=?");
+        ps1.setInt(1, uid);
+        ps1.setInt(2, 0);
+        ps1.execute();
+
+        GigiPreparedStatement ps2 = DatabaseConnection.getInstance().prepare("INSERT INTO `notary` SET `from`=?, `to`=?, points='100'");
+        ps2.setInt(1, uid);
+        ps2.setInt(2, uid);
+        ps2.execute();
+
         return uid;
     }
 
@@ -469,6 +483,7 @@ public class ManagedTest extends ConfiguredTest {
         EmailAddress adrr = new EmailAddress(u, createUniqueName() + "test@test.tld");
         adrr.insert(Language.getInstance(Locale.ENGLISH));
         TestMail testMail = getMailReciever().recieve();
+        Assert.assertNotNull(testMail);
         assertEquals(adrr.getAddress(), testMail.getTo());
         String hash = testMail.extractLink().substring(testMail.extractLink().lastIndexOf('=') + 1);
         adrr.verify(hash);