]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/LoginTest.java
Test the logout functionality.
[gigi.git] / tests / org / cacert / gigi / LoginTest.java
1 package org.cacert.gigi;
2
3 import java.io.IOException;
4 import java.net.URL;
5
6 import static org.junit.Assert.*;
7
8 import org.cacert.gigi.testUtils.ManagedTest;
9 import org.junit.Test;
10
11 public class LoginTest extends ManagedTest {
12
13     @Test
14     public void testLoginUnverified() throws IOException {
15         String email = createUniqueName() + "@testmail.org";
16         registerUser("an", "bn", email, TEST_PASSWORD);
17         waitForMail();
18         assertFalse(isLoggedin(login(email, TEST_PASSWORD)));
19     }
20
21     @Test
22     public void testLoginVerified() throws IOException {
23         String email = createUniqueName() + "@testmail.org";
24         createVerifiedUser("an", "bn", email, TEST_PASSWORD);
25         assertTrue(isLoggedin(login(email, TEST_PASSWORD)));
26     }
27
28     @Test
29     public void testLogoutVerified() throws IOException {
30         String email = createUniqueName() + "@testmail.org";
31         createVerifiedUser("an", "bn", email, TEST_PASSWORD);
32         String cookie = login(email, TEST_PASSWORD);
33         assertTrue(isLoggedin(cookie));
34         logout(cookie);
35         assertFalse(isLoggedin(cookie));
36     }
37
38     private void logout(String cookie) throws IOException {
39         cookie(new URL("https://" + getServerName() + "/logout").openConnection(), cookie).getHeaderField("Location");
40     }
41
42 }