]> WPIA git - gigi.git/commitdiff
Fix: consolidate TestEmailReveiver interface
authorFelix Dörre <felix@dogcraft.de>
Sat, 28 Feb 2015 23:43:56 +0000 (00:43 +0100)
committerFelix Dörre <felix@dogcraft.de>
Sun, 1 Mar 2015 00:35:56 +0000 (01:35 +0100)
when can null be returned, when can't null be returned.

tests/org/cacert/gigi/LoginTest.java
tests/org/cacert/gigi/pages/main/RegisterPageTest.java
tests/org/cacert/gigi/ping/TestDNS.java
tests/org/cacert/gigi/ping/TestHTTP.java
tests/org/cacert/gigi/ping/TestSSL.java
tests/org/cacert/gigi/testUtils/ManagedTest.java
tests/org/cacert/gigi/testUtils/TestEmailReciever.java

index d6c6fc4941910fc1828d29cbc17abd70e67147f9..f02f0ad04239a7fd66279c7a23b07f6396fe4ee0 100644 (file)
@@ -14,7 +14,7 @@ public class LoginTest extends ManagedTest {
     public void testLoginUnverified() throws IOException {
         String email = createUniqueName() + "@testmail.org";
         registerUser("an", "bn", email, TEST_PASSWORD);
     public void testLoginUnverified() throws IOException {
         String email = createUniqueName() + "@testmail.org";
         registerUser("an", "bn", email, TEST_PASSWORD);
-        waitForMail();
+        getMailReciever().receive();
         assertFalse(isLoggedin(login(email, TEST_PASSWORD)));
     }
 
         assertFalse(isLoggedin(login(email, TEST_PASSWORD)));
     }
 
index c6b2a67b4520c66da6c81ab1c99ee4c38fc42427..695598ae7d0225d03473570bb65acd3a1d58c034 100644 (file)
@@ -10,8 +10,6 @@ import java.util.regex.Pattern;
 
 import org.cacert.gigi.testUtils.InitTruststore;
 import org.cacert.gigi.testUtils.ManagedTest;
 
 import org.cacert.gigi.testUtils.InitTruststore;
 import org.cacert.gigi.testUtils.ManagedTest;
-import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
-import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 
 import org.junit.Before;
 import org.junit.Test;
 
@@ -44,14 +42,12 @@ public class RegisterPageTest extends ManagedTest {
         data = fetchStartErrorMessage(runRegister(query));
         assertNotNull(data);
 
         data = fetchStartErrorMessage(runRegister(query));
         assertNotNull(data);
 
-        assertNull(getMailReciever().recieve());
+        assertNull(getMailReciever().poll());
 
     }
 
     private void assertSuccessfullRegMail() {
 
     }
 
     private void assertSuccessfullRegMail() {
-        TestMail tm = waitForMail();
-        Assert.assertNotNull(tm);
-        String link = tm.extractLink();
+        String link = getMailReciever().receive().extractLink();
         assertTrue(link, link.startsWith("https://"));
     }
 
         assertTrue(link, link.startsWith("https://"));
     }
 
index 021012a196f25432106bbc34c663ba64760db8ee..829299e1f5c4f4bbf347f15f1c70eaf7a96a8ffb 100644 (file)
@@ -18,7 +18,6 @@ import org.cacert.gigi.testUtils.PingTest;
 import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
 import org.cacert.gigi.util.DNSUtil;
 import org.cacert.gigi.util.RandomToken;
 import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
 import org.cacert.gigi.util.DNSUtil;
 import org.cacert.gigi.util.RandomToken;
-import org.junit.Assert;
 import org.junit.Test;
 
 public class TestDNS extends PingTest {
 import org.junit.Test;
 
 public class TestDNS extends PingTest {
@@ -77,9 +76,8 @@ public class TestDNS extends PingTest {
                 "&adddomain&csrf=" + csrf;
         URL u2 = sendDomainForm(u, content);
 
                 "&adddomain&csrf=" + csrf;
         URL u2 = sendDomainForm(u, content);
 
-        TestMail mail = getMailReciever().recieve();
+        TestMail mail = getMailReciever().receive();
         if (emailVariant == 0) {
         if (emailVariant == 0) {
-            Assert.assertNotNull(mail);
             mail.verify();
         }
 
             mail.verify();
         }
 
index 4daa0d7e9421e5a4b672c0b966e1a1fb534d0601..3618532e93b808184f3f29c923f098acb2311fdc 100644 (file)
@@ -23,7 +23,6 @@ import org.cacert.gigi.testUtils.IOUtils;
 import org.cacert.gigi.testUtils.PingTest;
 import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
 import org.cacert.gigi.util.RandomToken;
 import org.cacert.gigi.testUtils.PingTest;
 import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
 import org.cacert.gigi.util.RandomToken;
-import org.junit.Assert;
 import org.junit.Test;
 
 public class TestHTTP extends PingTest {
 import org.junit.Test;
 
 public class TestHTTP extends PingTest {
@@ -72,9 +71,8 @@ public class TestHTTP extends PingTest {
                 "&adddomain&csrf=" + csrf;
         URL u2 = sendDomainForm(u, content);
 
                 "&adddomain&csrf=" + csrf;
         URL u2 = sendDomainForm(u, content);
 
-        TestMail mail = getMailReciever().recieve();
+        TestMail mail = getMailReciever().receive();
         if (emailVariant == 0) {
         if (emailVariant == 0) {
-            Assert.assertNotNull(mail);
             mail.verify();
         }
         waitForPings(2);
             mail.verify();
         }
         waitForPings(2);
index a9aa73b1bb61e7fea945b94c579cc7fe90f5935b..52fca8e6dca715f4afd29e279acca6598394949b 100644 (file)
@@ -37,7 +37,6 @@ import org.cacert.gigi.pages.account.domain.DomainOverview;
 import org.cacert.gigi.testUtils.IOUtils;
 import org.cacert.gigi.testUtils.PingTest;
 import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
 import org.cacert.gigi.testUtils.IOUtils;
 import org.cacert.gigi.testUtils.PingTest;
 import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
-import org.junit.Assert;
 import org.junit.Test;
 
 public class TestSSL extends PingTest {
 import org.junit.Test;
 
 public class TestSSL extends PingTest {
@@ -120,9 +119,8 @@ public class TestSSL extends PingTest {
         boolean secondsSucceeds = sslVariant != 0;
         assertTrue(secondsSucceeds ^ acceptSSLServer(sss2));
 
         boolean secondsSucceeds = sslVariant != 0;
         assertTrue(secondsSucceeds ^ acceptSSLServer(sss2));
 
-        TestMail mail = getMailReciever().recieve();
+        TestMail mail = getMailReciever().receive();
         if (emailVariant == 0) {
         if (emailVariant == 0) {
-            Assert.assertNotNull(mail);
             mail.verify();
         }
         waitForPings(3);
             mail.verify();
         }
         waitForPings(3);
index f5354eb9b8364552409f84f4655c9886632b67e5..9ce1f8938c55c7acb8928f89b05c79122293490d 100644 (file)
@@ -53,7 +53,6 @@ import org.cacert.gigi.util.ServerConstants;
 import org.cacert.gigi.util.SimpleSigner;
 import org.junit.After;
 import org.junit.AfterClass;
 import org.cacert.gigi.util.SimpleSigner;
 import org.junit.After;
 import org.junit.AfterClass;
-import org.junit.Assert;
 import org.junit.BeforeClass;
 
 /**
 import org.junit.BeforeClass;
 
 /**
@@ -222,18 +221,6 @@ public class ManagedTest extends ConfiguredTest {
         ManagedTest.setAcceptLanguage(null);
     }
 
         ManagedTest.setAcceptLanguage(null);
     }
 
-    public TestMail waitForMail() {
-        TestMail mail = null;
-        while (null == mail) {
-            try {
-                mail = ter.recieve();
-            } catch (InterruptedException e) {
-                throw new Error(e);
-            }
-        }
-        return mail;
-    }
-
     public static TestEmailReciever getMailReciever() {
         return ter;
     }
     public static TestEmailReciever getMailReciever() {
         return ter;
     }
@@ -283,9 +270,7 @@ public class ManagedTest extends ConfiguredTest {
     public static int createVerifiedUser(String firstName, String lastName, String email, String password) {
         registerUser(firstName, lastName, email, password);
         try {
     public static int createVerifiedUser(String firstName, String lastName, String email, String password) {
         registerUser(firstName, lastName, email, password);
         try {
-            TestMail tm = ter.recieve();
-            Assert.assertNotNull(tm);
-            tm.verify();
+            ter.receive().verify();
 
             GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id FROM users where email=?");
             ps.setString(1, email);
 
             GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT id FROM users where email=?");
             ps.setString(1, email);
@@ -297,8 +282,6 @@ public class ManagedTest extends ConfiguredTest {
             }
 
             throw new Error();
             }
 
             throw new Error();
-        } catch (InterruptedException e) {
-            throw new Error(e);
         } catch (IOException e) {
             throw new Error(e);
         }
         } catch (IOException e) {
             throw new Error(e);
         }
@@ -482,8 +465,7 @@ public class ManagedTest extends ConfiguredTest {
     public static EmailAddress createVerifiedEmail(User u) throws InterruptedException, GigiApiException {
         EmailAddress adrr = new EmailAddress(u, createUniqueName() + "test@test.tld");
         adrr.insert(Language.getInstance(Locale.ENGLISH));
     public static EmailAddress createVerifiedEmail(User u) throws InterruptedException, GigiApiException {
         EmailAddress adrr = new EmailAddress(u, createUniqueName() + "test@test.tld");
         adrr.insert(Language.getInstance(Locale.ENGLISH));
-        TestMail testMail = getMailReciever().recieve();
-        Assert.assertNotNull(testMail);
+        TestMail testMail = getMailReciever().receive();
         assertEquals(adrr.getAddress(), testMail.getTo());
         String hash = testMail.extractLink().substring(testMail.extractLink().lastIndexOf('=') + 1);
         adrr.verify(hash);
         assertEquals(adrr.getAddress(), testMail.getTo());
         String hash = testMail.extractLink().substring(testMail.extractLink().lastIndexOf('=') + 1);
         adrr.verify(hash);
index dc90acde7ca02bd9f354e17c3fb333c334375732..099bbf1a09c7776e8d1760e46bb63023af023a59 100644 (file)
@@ -103,11 +103,46 @@ public final class TestEmailReciever extends EmailProvider implements Runnable {
 
     LinkedBlockingQueue<TestMail> mails = new LinkedBlockingQueue<TestEmailReciever.TestMail>();
 
 
     LinkedBlockingQueue<TestMail> mails = new LinkedBlockingQueue<TestEmailReciever.TestMail>();
 
-    public TestMail recieve() throws InterruptedException {
-        TestMail poll = mails.poll(5, TimeUnit.SECONDS);
+    /**
+     * Retrieves an outgoing mail from the system. The method will return a
+     * {@link TestMail} or fail.
+     * 
+     * @return The intercepted {@link TestMail}
+     * @see #poll()
+     */
+    public TestMail receive() {
+        TestMail poll;
+
+        try {
+            poll = mails.poll(60, TimeUnit.SECONDS);
+
+        } catch (InterruptedException e) {
+            throw new AssertionError("Interrupted while recieving mails");
+        }
+        if (poll == null) {
+            throw new AssertionError("Mail recieving timed out");
+        }
+
         return poll;
     }
 
         return poll;
     }
 
+    /**
+     * Retrieves an outgoing mail from the system or returns <code>null</code>
+     * if there was no mail sent in 30 seconds.
+     * 
+     * @return The intercepted {@link TestMail} or <code>null</code> if no mail
+     *         has been sent.
+     * @see #receive()
+     */
+    public TestMail poll() {
+        try {
+            return mails.poll(60, TimeUnit.SECONDS);
+
+        } catch (InterruptedException e) {
+            throw new AssertionError("Interrupted while recieving mails");
+        }
+    }
+
     @Override
     public void run() {
         try {
     @Override
     public void run() {
         try {