]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/pages/account/TestMailManagement.java
ADD: Test for faulty mail deletion
[gigi.git] / tests / org / cacert / gigi / pages / account / TestMailManagement.java
index d465a0fb9805751ad2f16a339e3297419d6c5863..053aa32f5c604714e4a7250fbbb4e8be188969d2 100644 (file)
@@ -12,7 +12,6 @@ import org.cacert.gigi.GigiApiException;
 import org.cacert.gigi.Language;
 import org.cacert.gigi.User;
 import org.cacert.gigi.testUtils.ManagedTest;
-import org.cacert.gigi.testUtils.TestEmailReciever.TestMail;
 import org.junit.Test;
 
 public class TestMailManagement extends ManagedTest {
@@ -28,19 +27,17 @@ public class TestMailManagement extends ManagedTest {
 
        @Test
        public void testMailAddInternal() throws InterruptedException, GigiApiException {
-               EmailAddress adrr = new EmailAddress("test@test.tld", u);
-               adrr.insert(Language.getInstance("en"));
-               TestMail testMail = getMailReciever().recieve();
-               assertTrue(adrr.getAddress().equals(testMail.getTo()));
-               String hash = testMail.extractLink().substring(testMail.extractLink().lastIndexOf('=') + 1);
-               adrr.verify(hash);
+               createVerifiedEmail(u);
+       }
+
+       @Test
+       public void testMailAddInternalFaulty() {
                try {
                        new EmailAddress("kurti ", u);
+                       fail();
                } catch (IllegalArgumentException e) {
                        // Intended.
-                       return;
                }
-               fail();
        }
 
        @Test
@@ -69,4 +66,74 @@ public class TestMailManagement extends ManagedTest {
                        }
                }
        }
+
+       @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());
+       }
+
+       @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();
+       }
+
+       @Test
+       public void testMailSetDefaultWebInvalidID() throws MalformedURLException, UnsupportedEncodingException,
+               IOException, InterruptedException, GigiApiException {
+               User u2 = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "uni@example.org", TEST_PASSWORD));
+               int id = -1;
+               EmailAddress[] emails = u2.getEmails();
+               for (int i = 0; i < emails.length; i++) {
+                       if (emails[i].getAddress().equals(u2.getEmail())) {
+                               id = emails[i].getId();
+                       }
+               }
+               assertNotEquals(id, -1);
+               assertNotNull(executeBasicWebInteraction(cookie, path, "makedefault&emailid=" + id));
+               assertNotEquals(User.getById(u.getId()).getEmail(), u2.getEmail());
+               getMailReciever().clearMails();
+       }
+
+       @Test
+       public void testMailDeleteWeb() throws InterruptedException, GigiApiException, MalformedURLException,
+               UnsupportedEncodingException, IOException {
+               EmailAddress addr = createVerifiedEmail(u);
+               assertNull(executeBasicWebInteraction(cookie, path, "delete&delid[]=" + addr.getId(), 0));
+               User u = User.getById(this.u.getId());
+               EmailAddress[] addresses = u.getEmails();
+               for (int i = 0; i < addresses.length; i++) {
+                       assertNotEquals(addresses[i].getAddress(), addr.getAddress());
+               }
+       }
+
+       @Test
+       public void testMailDeleteWebMulti() throws InterruptedException, GigiApiException, MalformedURLException,
+               UnsupportedEncodingException, IOException {
+               EmailAddress[] addr = new EmailAddress[] { createVerifiedEmail(u), createVerifiedEmail(u) };
+               assertNull(executeBasicWebInteraction(cookie, path,
+                       "delete&delid[]=" + addr[0].getId() + "&delid[]=" + addr[1].getId(), 0));
+               User u = User.getById(this.u.getId());
+               EmailAddress[] addresses = u.getEmails();
+               for (int i = 0; i < addresses.length; i++) {
+                       assertNotEquals(addresses[i].getAddress(), addr[0].getAddress());
+                       assertNotEquals(addresses[i].getAddress(), addr[1].getAddress());
+               }
+       }
+
+       @Test
+       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));
+               u2 = User.getById(u2.getId());
+               assertNotEquals(u2.getEmails().length, 0);
+       }
 }