]> WPIA git - gigi.git/blobdiff - tests/club/wpia/gigi/testUtils/BusinessTest.java
Merge "upd: remove 'browser install'"
[gigi.git] / tests / club / wpia / gigi / testUtils / BusinessTest.java
index 727310db225bc6b0e9b1cd7499e6ab087ddd994b..4566d0e1f34391f5e6b46533e041bd49381e46ca 100644 (file)
@@ -70,12 +70,12 @@ public abstract class BusinessTest extends ConfiguredTest {
         }
 
         @Override
-        public void clearMails() {
+        public void assertEmpty() {
             mails.clear();
         }
 
         @Override
-        public TestMail receive() {
+        public TestMail receive(String to) {
             TestMail poll;
             try {
                 poll = mails.poll(30, TimeUnit.SECONDS);
@@ -85,6 +85,9 @@ public abstract class BusinessTest extends ConfiguredTest {
             if (poll == null) {
                 throw new AssertionError("Mail receiving timed out");
             }
+            if (to != null) {
+                assertEquals(to, poll.getTo());
+            }
             return poll;
         }
 
@@ -99,7 +102,7 @@ public abstract class BusinessTest extends ConfiguredTest {
         }
 
         @Override
-        public TestMail poll() {
+        public TestMail poll(String to) {
             throw new Error("Currently unimplemented");
         }
 
@@ -180,4 +183,13 @@ public abstract class BusinessTest extends ConfiguredTest {
         supporter.refreshGroups();
         return supporter;
     }
+
+    public EmailAddress createVerifiedEmail(User u, String email) throws InterruptedException, GigiApiException {
+        EmailAddress addr = new EmailAddress(u, email, Locale.ENGLISH);
+        TestMail testMail = getMailReceiver().receive(addr.getAddress());
+        String hash = testMail.extractLink().substring(testMail.extractLink().lastIndexOf('=') + 1);
+        addr.verify(hash);
+        getMailReceiver().assertEmpty();
+        return addr;
+    }
 }