1 package org.cacert.gigi.pages.account;
3 import static org.junit.Assert.*;
5 import java.io.IOException;
6 import java.net.URLEncoder;
8 import org.cacert.gigi.GigiApiException;
9 import org.cacert.gigi.testUtils.ClientTest;
10 import org.junit.Test;
12 public class TestChangePassword extends ClientTest {
14 String path = ChangePasswordPage.PATH;
16 public TestChangePassword() throws IOException {
17 cookie = login(u.getEmail(), TEST_PASSWORD);
18 assertTrue(isLoggedin(cookie));
22 public void testChangePasswordInternal() throws IOException, GigiApiException {
24 u.changePassword(TEST_PASSWORD + "wrong", TEST_PASSWORD + "v2");
25 fail("Password change must not succeed if old password is wrong.");
26 } catch (GigiApiException e) {
30 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
31 u.changePassword(TEST_PASSWORD, TEST_PASSWORD + "v2");
32 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
36 public void testChangePasswordWeb() throws IOException {
37 String error = executeBasicWebInteraction(cookie, path,
38 "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
39 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
40 + "&pword2=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
42 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
43 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
48 public void testChangePasswordWebOldWrong() throws IOException {
49 String error = executeBasicWebInteraction(cookie, path,
50 "oldpassword=a" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
51 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
52 + "&pword2=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
54 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
55 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
60 public void testChangePasswordWebNewWrong() throws IOException {
61 String error = executeBasicWebInteraction(cookie, path,
62 "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
63 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
64 + "&pword2=a" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
66 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
67 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
72 public void testChangePasswordWebNewEasy() throws IOException {
73 String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
74 + "&pword1=a&pword2=a");
76 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
77 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
82 public void testChangePasswordWebMissingFields() throws IOException {
83 String np = URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8");
84 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
85 String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
88 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
89 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
91 error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
94 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
95 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
97 error = executeBasicWebInteraction(cookie, path, "pword1=" + np + "&pword2=" + np);
99 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
100 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));