X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Fclub%2Fwpia%2Fgigi%2FtestUtils%2FBusinessTest.java;h=4566d0e1f34391f5e6b46533e041bd49381e46ca;hb=7a5f2a2674900b80847ab77bb1ace1b53215f4b9;hp=31d3b09408caedb6cc9712db04580d39b0599715;hpb=08c941629aea14473e5c42ab6f5d590be4af4bf8;p=gigi.git diff --git a/tests/club/wpia/gigi/testUtils/BusinessTest.java b/tests/club/wpia/gigi/testUtils/BusinessTest.java index 31d3b094..4566d0e1 100644 --- a/tests/club/wpia/gigi/testUtils/BusinessTest.java +++ b/tests/club/wpia/gigi/testUtils/BusinessTest.java @@ -22,8 +22,8 @@ import club.wpia.gigi.dbObjects.Domain; import club.wpia.gigi.dbObjects.EmailAddress; import club.wpia.gigi.dbObjects.Group; import club.wpia.gigi.dbObjects.NamePart; -import club.wpia.gigi.dbObjects.User; import club.wpia.gigi.dbObjects.NamePart.NamePartType; +import club.wpia.gigi.dbObjects.User; import club.wpia.gigi.email.EmailProvider; import club.wpia.gigi.ping.PingerDaemon; import club.wpia.gigi.testUtils.TestEmailReceiver.TestMail; @@ -70,17 +70,25 @@ 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 { - return mails.poll(30, TimeUnit.SECONDS); + poll = mails.poll(30, TimeUnit.SECONDS); } catch (InterruptedException e) { throw new Error(e); } + if (poll == null) { + throw new AssertionError("Mail receiving timed out"); + } + if (to != null) { + assertEquals(to, poll.getTo()); + } + return poll; } @Override @@ -94,7 +102,7 @@ public abstract class BusinessTest extends ConfiguredTest { } @Override - public TestMail poll() { + public TestMail poll(String to) { throw new Error("Currently unimplemented"); } @@ -175,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; + } }