]> WPIA git - gigi.git/blobdiff - tests/org/cacert/gigi/LoginTest.java
upd: refactor tests to use convenience get-stuff
[gigi.git] / tests / org / cacert / gigi / LoginTest.java
index e8353accdc2d724052c857ec4ae2385fb050d202..29456c7b2a24a8d20b3580ea0801ec91ae330c79 100644 (file)
@@ -1,27 +1,48 @@
 package org.cacert.gigi;
 
-import java.io.IOException;
 import static org.junit.Assert.*;
+
+import java.io.IOException;
+
 import org.cacert.gigi.testUtils.ManagedTest;
 import org.junit.Test;
 
 public class LoginTest extends ManagedTest {
 
-       @Test
-       public void testLoginUnverified() throws IOException {
-               long uniq = System.currentTimeMillis();
-               String email = "system" + uniq + "@testmail.org";
-               registerUser("an", "bn", email, TEST_PASSWORD);
-               waitForMail();
-               assertFalse(isLoggedin(login(email, TEST_PASSWORD)));
-       }
-
-       @Test
-       public void testLoginVerified() throws IOException {
-               long uniq = System.currentTimeMillis();
-               String email = "system2" + uniq + "@testmail.org";
-               createVerifiedUser("an", "bn", email, TEST_PASSWORD);
-               assertTrue(isLoggedin(login(email, TEST_PASSWORD)));
-       }
+    @Test
+    public void testLoginUnverified() throws IOException {
+        String email = createUniqueName() + "@testmail.org";
+        registerUser("an", "bn", email, TEST_PASSWORD);
+        getMailReciever().receive();
+        assertFalse(isLoggedin(login(email, TEST_PASSWORD)));
+    }
+
+    @Test
+    public void testLoginVerified() throws IOException {
+        String email = createUniqueName() + "@testmail.org";
+        createVerifiedUser("an", "bn", email, TEST_PASSWORD);
+        assertTrue(isLoggedin(login(email, TEST_PASSWORD)));
+    }
+
+    @Test
+    public void testLoginWrongPassword() throws IOException {
+        String email = createUniqueName() + "@testmail.org";
+        createVerifiedUser("an", "bn", email, TEST_PASSWORD);
+        assertFalse(isLoggedin(login(email, TEST_PASSWORD + "b")));
+    }
+
+    @Test
+    public void testLogoutVerified() throws IOException {
+        String email = createUniqueName() + "@testmail.org";
+        createVerifiedUser("an", "bn", email, TEST_PASSWORD);
+        String cookie = login(email, TEST_PASSWORD);
+        assertTrue(isLoggedin(cookie));
+        logout(cookie);
+        assertFalse(isLoggedin(cookie));
+    }
+
+    private void logout(String cookie) throws IOException {
+        get(cookie, "/logout").getHeaderField("Location");
+    }
 
 }