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