]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/pages/account/TestChangePassword.java
21be9c15113f343171ad17b457fc914b72d35ac9
[gigi.git] / tests / org / cacert / gigi / pages / account / TestChangePassword.java
1 package org.cacert.gigi.pages.account;
2
3 import static org.junit.Assert.*;
4
5 import java.io.IOException;
6 import java.net.URLEncoder;
7
8 import org.cacert.gigi.GigiApiException;
9 import org.cacert.gigi.dbObjects.User;
10 import org.cacert.gigi.testUtils.ManagedTest;
11 import org.junit.Test;
12
13 public class TestChangePassword extends ManagedTest {
14
15     User u = User.getById(createVerifiedUser("fn", "ln", createUniqueName() + "uni@example.org", TEST_PASSWORD));
16
17     String cookie;
18
19     String path = ChangePasswordPage.PATH;
20
21     public TestChangePassword() throws IOException {
22         cookie = login(u.getEmail(), TEST_PASSWORD);
23         assertTrue(isLoggedin(cookie));
24     }
25
26     @Test
27     public void testChangePasswordInternal() throws IOException, GigiApiException {
28         try {
29             u.changePassword(TEST_PASSWORD + "wrong", TEST_PASSWORD + "v2");
30             fail("Password change must not succeed if old password is wrong.");
31         } catch (GigiApiException e) {
32             // expected
33         }
34         ;
35         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
36         u.changePassword(TEST_PASSWORD, TEST_PASSWORD + "v2");
37         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
38     }
39
40     @Test
41     public void testChangePasswordWeb() throws IOException {
42         String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
43                 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
44                 + "&pword2=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
45         assertNull(error);
46         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
47         assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
48
49     }
50
51     @Test
52     public void testChangePasswordWebOldWrong() throws IOException {
53         String error = executeBasicWebInteraction(cookie, path, "oldpassword=a" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
54                 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
55                 + "&pword2=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
56         assertNotNull(error);
57         assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
58         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
59
60     }
61
62     @Test
63     public void testChangePasswordWebNewWrong() throws IOException {
64         String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
65                 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
66                 + "&pword2=a" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
67         assertNotNull(error);
68         assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
69         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
70
71     }
72
73     @Test
74     public void testChangePasswordWebNewEasy() throws IOException {
75         String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
76                 + "&pword1=a&pword2=a");
77         assertNotNull(error);
78         assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
79         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
80
81     }
82
83     @Test
84     public void testChangePasswordWebMissingFields() throws IOException {
85         String np = URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8");
86         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
87         String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
88                 + "&pword1=" + np);
89         assertNotNull(error);
90         assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
91         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
92
93         error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
94                 + "&pword2=" + np);
95         assertNotNull(error);
96         assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
97         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
98
99         error = executeBasicWebInteraction(cookie, path, "pword1=" + np + "&pword2=" + np);
100         assertNotNull(error);
101         assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
102         assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
103
104     }
105
106 }