}
@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);
if (poll == null) {
throw new AssertionError("Mail receiving timed out");
}
+ if (to != null) {
+ assertEquals(to, poll.getTo());
+ }
return poll;
}
}
@Override
- public TestMail poll() {
+ public TestMail poll(String to) {
throw new Error("Currently unimplemented");
}
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;
+ }
}