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, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
38 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
39 + "&pword2=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
41 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
42 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
47 public void testChangePasswordWebOldWrong() throws IOException {
48 String error = executeBasicWebInteraction(cookie, path, "oldpassword=a" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
49 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
50 + "&pword2=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
52 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
53 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
58 public void testChangePasswordWebNewWrong() throws IOException {
59 String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
60 + "&pword1=" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8")//
61 + "&pword2=a" + URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8"));
63 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
64 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
69 public void testChangePasswordWebNewEasy() throws IOException {
70 String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
71 + "&pword1=a&pword2=a");
73 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
74 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
79 public void testChangePasswordWebMissingFields() throws IOException {
80 String np = URLEncoder.encode(TEST_PASSWORD + "v2", "UTF-8");
81 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
82 String error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
85 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
86 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
88 error = executeBasicWebInteraction(cookie, path, "oldpassword=" + URLEncoder.encode(TEST_PASSWORD, "UTF-8") //
91 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
92 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));
94 error = executeBasicWebInteraction(cookie, path, "pword1=" + np + "&pword2=" + np);
96 assertFalse(isLoggedin(login(u.getEmail(), TEST_PASSWORD + "v2")));
97 assertTrue(isLoggedin(login(u.getEmail(), TEST_PASSWORD)));