3097062365111722586fc401c94dbc8926ec7343
[gigi.git] / tests / org / cacert / gigi / LoginTest.java
1 package org.cacert.gigi;
2
3 import static org.hamcrest.CoreMatchers.*;
4 import static org.junit.Assert.*;
5
6 import java.io.IOException;
7 import java.net.URLConnection;
8
9 import org.cacert.gigi.testUtils.IOUtils;
10 import org.cacert.gigi.testUtils.ManagedTest;
11 import org.junit.Test;
12
13 public class LoginTest extends ManagedTest {
14
15     @Test
16     public void testLoginUnverified() throws IOException {
17         String email = createUniqueName() + "@testmail.org";
18         registerUser("an", "bn", email, TEST_PASSWORD);
19         getMailReceiver().receive();
20         assertFalse(isLoggedin(login(email, TEST_PASSWORD)));
21     }
22
23     @Test
24     public void testLoginVerified() throws IOException {
25         String email = createUniqueName() + "@testmail.org";
26         createVerifiedUser("an", "bn", email, TEST_PASSWORD);
27         assertTrue(isLoggedin(login(email, TEST_PASSWORD)));
28     }
29
30     @Test
31     public void testLoginWrongPassword() throws IOException {
32         String email = createUniqueName() + "@testmail.org";
33         createVerifiedUser("an", "bn", email, TEST_PASSWORD);
34         assertFalse(isLoggedin(login(email, TEST_PASSWORD + "b")));
35     }
36
37     @Test
38     public void testLogoutVerified() throws IOException {
39         String email = createUniqueName() + "@testmail.org";
40         createVerifiedUser("an", "bn", email, TEST_PASSWORD);
41         String cookie = login(email, TEST_PASSWORD);
42         assertTrue(isLoggedin(cookie));
43         logout(cookie);
44         assertFalse(isLoggedin(cookie));
45     }
46
47     private void logout(String cookie) throws IOException {
48         get(cookie, "/logout").getHeaderField("Location");
49     }
50
51     @Test
52     public void testLoginMethodDisplay() throws IOException {
53         String email = createUniqueName() + "@testmail.org";
54         createVerifiedUser("an", "bn", email, TEST_PASSWORD);
55         String l = login(email, TEST_PASSWORD);
56         URLConnection c = get(l, "");
57         String readURL = IOUtils.readURL(c);
58         assertThat(readURL, containsString("Password"));
59     }
60
61 }