X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FTestMailManagement.java;h=fd4d4d499cc610fb341e04670653571c24df305e;hb=0c82165b4b796bbe026eb79fbd7bb1f9ab22bf0d;hp=412e2d78a1e98da97839fbd081b659b3777d50a2;hpb=a8422ae5d5dc70c5a2776d3cead356c111e5b9d7;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/account/TestMailManagement.java b/tests/org/cacert/gigi/pages/account/TestMailManagement.java index 412e2d78..fd4d4d49 100644 --- a/tests/org/cacert/gigi/pages/account/TestMailManagement.java +++ b/tests/org/cacert/gigi/pages/account/TestMailManagement.java @@ -21,6 +21,7 @@ public class TestMailManagement extends ClientTest { private String path = MailOverview.DEFAULT_PATH; public TestMailManagement() throws IOException { + clearCaches(); // and reset rate limits cookie = login(u.getEmail(), TEST_PASSWORD); assertTrue(isLoggedin(cookie)); } @@ -43,32 +44,52 @@ public class TestMailManagement extends ClientTest { @Test public void testMailAddWeb() throws MalformedURLException, UnsupportedEncodingException, IOException { String newMail = createUniqueName() + "uni@example.org"; - assertNull(executeBasicWebInteraction(cookie, path, "addmail&newemail=" + URLEncoder.encode(newMail, "UTF-8"), 1)); - EmailAddress[] addrs = u.getEmails(); - for (int i = 0; i < addrs.length; i++) { - if (addrs[i].getAddress().equals(newMail)) { - return; - } - } - fail(); + assertNull(addMail(newMail)); + assertTrue(existsEmail(newMail)); } @Test public void testMailAddWebFaulty() throws MalformedURLException, UnsupportedEncodingException, IOException { String newMail = createUniqueName() + "uniexample.org"; - assertNotNull(executeBasicWebInteraction(cookie, path, "addmail&newemail=" + URLEncoder.encode(newMail, "UTF-8"), 1)); + assertNotNull(addMail(newMail)); + assertFalse(existsEmail(newMail)); + } + + @Test + public void testMailAddWebMultiple() throws MalformedURLException, UnsupportedEncodingException, IOException { + String u = createUniqueName(); + String newMail = u + "uni@eXample.org"; + assertNull(addMail(newMail)); + assertTrue(existsEmail(newMail.toLowerCase())); + + String newMail2 = u + "uni@eXamPlE.org"; + assertNotNull(addMail(newMail2)); + assertTrue(existsEmail(newMail2.toLowerCase())); + + String newMail3 = u + "-buni@eXamPlE.org"; + assertNull(addMail(newMail3)); + assertTrue(existsEmail(newMail.toLowerCase())); + assertTrue(existsEmail(newMail3.toLowerCase())); + } + + private String addMail(String newMail) throws IOException, MalformedURLException, UnsupportedEncodingException { + return executeBasicWebInteraction(cookie, path, "addmail&newemail=" + URLEncoder.encode(newMail, "UTF-8"), 1); + } + + private boolean existsEmail(String newMail) { EmailAddress[] addrs = u.getEmails(); for (int i = 0; i < addrs.length; i++) { if (addrs[i].getAddress().equals(newMail)) { - fail(); + return true; } } + return false; } @Test public void testMailSetDefaultWeb() throws MalformedURLException, UnsupportedEncodingException, IOException, InterruptedException, GigiApiException { EmailAddress addr = createVerifiedEmail(u); - assertNull(executeBasicWebInteraction(cookie, path, "default:" + addr.getId())); + assertNull(executeBasicWebInteraction(cookie, path, "default=" + addr.getId())); ObjectCache.clearAllCaches(); assertEquals(User.getById(u.getId()).getEmail(), addr.getAddress()); } @@ -76,9 +97,9 @@ public class TestMailManagement extends ClientTest { @Test public void testMailSetDefaultWebUnverified() throws MalformedURLException, UnsupportedEncodingException, IOException, InterruptedException, GigiApiException { EmailAddress addr = new EmailAddress(u, createUniqueName() + "test@test.tld", Locale.ENGLISH); - assertNotNull(executeBasicWebInteraction(cookie, path, "default:" + addr.getId())); + assertNotNull(executeBasicWebInteraction(cookie, path, "default=" + addr.getId())); assertNotEquals(User.getById(u.getId()).getEmail(), addr.getAddress()); - getMailReciever().clearMails(); + getMailReceiver().clearMails(); } @Test @@ -92,15 +113,15 @@ public class TestMailManagement extends ClientTest { } } assertNotEquals(id, -1); - assertNotNull(executeBasicWebInteraction(cookie, path, "default:" + id)); + assertNotNull(executeBasicWebInteraction(cookie, path, "default=" + id)); assertNotEquals(User.getById(u.getId()).getEmail(), u2.getEmail()); - getMailReciever().clearMails(); + getMailReceiver().clearMails(); } @Test public void testMailDeleteWeb() throws InterruptedException, GigiApiException, MalformedURLException, UnsupportedEncodingException, IOException { EmailAddress addr = createVerifiedEmail(u); - assertNull(executeBasicWebInteraction(cookie, path, "delete:" + addr.getId(), 0)); + assertNull(executeBasicWebInteraction(cookie, path, "delete=" + addr.getId(), 0)); User u = User.getById(this.u.getId()); EmailAddress[] addresses = u.getEmails(); for (int i = 0; i < addresses.length; i++) { @@ -113,7 +134,8 @@ public class TestMailManagement extends ClientTest { EmailAddress[] addr = new EmailAddress[] { createVerifiedEmail(u), createVerifiedEmail(u) }; - assertNull(executeBasicWebInteraction(cookie, path, "delete:" + addr[0].getId() + "&delete:" + addr[1].getId(), 0)); + assertNull(executeBasicWebInteraction(cookie, path, "delete=" + addr[0].getId(), 0)); + assertNull(executeBasicWebInteraction(cookie, path, "delete=" + addr[1].getId(), 0)); User u = User.getById(this.u.getId()); EmailAddress[] addresses = u.getEmails(); for (int i = 0; i < addresses.length; i++) { @@ -126,14 +148,14 @@ public class TestMailManagement extends ClientTest { public void testMailDeleteWebFaulty() throws MalformedURLException, UnsupportedEncodingException, IOException { User u2 = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "uni@test.tld", TEST_PASSWORD)); EmailAddress em = u2.getEmails()[0]; - assertNotNull(executeBasicWebInteraction(cookie, path, "delete:" + em.getId(), 0)); + assertNotNull(executeBasicWebInteraction(cookie, path, "delete=" + em.getId(), 0)); u2 = User.getById(u2.getId()); assertNotEquals(u2.getEmails().length, 0); } @Test public void testMailDeleteWebPrimary() throws MalformedURLException, UnsupportedEncodingException, IOException { - assertNotNull(executeBasicWebInteraction(cookie, path, "delete:" + u.getEmails()[0].getId(), 0)); + assertNotNull(executeBasicWebInteraction(cookie, path, "delete=" + u.getEmails()[0].getId(), 0)); assertNotEquals(u.getEmails().length, 0); } }