X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=tests%2Forg%2Fcacert%2Fgigi%2Fpages%2Faccount%2FTestMailManagement.java;h=fd4d4d499cc610fb341e04670653571c24df305e;hb=53d9194f480a4351e6b80551fc2aa537e7d5b039;hp=09bd98cee5c838976468bfd508531d1cfa037bcb;hpb=480cb29387c76ccc19f8fa8fb0abe8ae1b069730;p=gigi.git diff --git a/tests/org/cacert/gigi/pages/account/TestMailManagement.java b/tests/org/cacert/gigi/pages/account/TestMailManagement.java index 09bd98ce..fd4d4d49 100644 --- a/tests/org/cacert/gigi/pages/account/TestMailManagement.java +++ b/tests/org/cacert/gigi/pages/account/TestMailManagement.java @@ -6,23 +6,22 @@ import java.io.IOException; import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URLEncoder; +import java.util.Locale; -import org.cacert.gigi.EmailAddress; import org.cacert.gigi.GigiApiException; -import org.cacert.gigi.User; -import org.cacert.gigi.localisation.Language; -import org.cacert.gigi.testUtils.ManagedTest; +import org.cacert.gigi.dbObjects.EmailAddress; +import org.cacert.gigi.dbObjects.ObjectCache; +import org.cacert.gigi.dbObjects.User; +import org.cacert.gigi.pages.account.mail.MailOverview; +import org.cacert.gigi.testUtils.ClientTest; import org.junit.Test; -public class TestMailManagement extends ManagedTest { - - private User u = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "uni@example.org", TEST_PASSWORD)); - - private String cookie; +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)); } @@ -33,9 +32,9 @@ public class TestMailManagement extends ManagedTest { } @Test - public void testMailAddInternalFaulty() { + public void testMailAddInternalFaulty() throws GigiApiException { try { - new EmailAddress("kurti ", u); + new EmailAddress(u, "kurti ", Locale.ENGLISH); fail(); } catch (IllegalArgumentException e) { // Intended. @@ -45,42 +44,62 @@ public class TestMailManagement extends ManagedTest { @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 adrr = createVerifiedEmail(u); - assertNull(executeBasicWebInteraction(cookie, path, "makedefault&emailid=" + adrr.getId())); - assertEquals(User.getById(u.getId()).getEmail(), adrr.getAddress()); + EmailAddress addr = createVerifiedEmail(u); + assertNull(executeBasicWebInteraction(cookie, path, "default=" + addr.getId())); + ObjectCache.clearAllCaches(); + assertEquals(User.getById(u.getId()).getEmail(), addr.getAddress()); } @Test public void testMailSetDefaultWebUnverified() throws MalformedURLException, UnsupportedEncodingException, IOException, InterruptedException, GigiApiException { - EmailAddress adrr = new EmailAddress(createUniqueName() + "test@test.tld", u); - adrr.insert(Language.getInstance("en")); - assertNotNull(executeBasicWebInteraction(cookie, path, "makedefault&emailid=" + adrr.getId())); - assertNotEquals(User.getById(u.getId()).getEmail(), adrr.getAddress()); - getMailReciever().clearMails(); + EmailAddress addr = new EmailAddress(u, createUniqueName() + "test@test.tld", Locale.ENGLISH); + assertNotNull(executeBasicWebInteraction(cookie, path, "default=" + addr.getId())); + assertNotEquals(User.getById(u.getId()).getEmail(), addr.getAddress()); + getMailReceiver().clearMails(); } @Test @@ -94,15 +113,15 @@ public class TestMailManagement extends ManagedTest { } } assertNotEquals(id, -1); - assertNotNull(executeBasicWebInteraction(cookie, path, "makedefault&emailid=" + 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&delid[]=" + 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++) { @@ -115,7 +134,8 @@ public class TestMailManagement extends ManagedTest { EmailAddress[] addr = new EmailAddress[] { createVerifiedEmail(u), createVerifiedEmail(u) }; - assertNull(executeBasicWebInteraction(cookie, path, "delete&delid[]=" + addr[0].getId() + "&delid[]=" + 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++) { @@ -128,8 +148,14 @@ public class TestMailManagement extends ManagedTest { 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&delid[]=" + 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)); + assertNotEquals(u.getEmails().length, 0); + } }