1 package org.cacert.gigi;
3 import static org.junit.Assert.*;
5 import java.io.IOException;
7 import org.cacert.gigi.dbObjects.User;
8 import org.cacert.gigi.testUtils.ClientTest;
9 import org.cacert.gigi.util.RandomToken;
10 import org.junit.Test;
12 public class TestPasswordReset extends ClientTest {
14 String pub = RandomToken.generateToken(32);
16 String priv = RandomToken.generateToken(32);
18 int id = u.generatePasswordResetTicket(u, pub, priv);
21 public void testInternal() throws IOException, GigiApiException {
22 User u2 = User.getResetWithToken(id, pub);
24 assertNotNull(login(u.getEmail(), TEST_PASSWORD));
25 u2.consumePasswordResetTicket(id, priv, TEST_PASSWORD + "'");
26 assertEquals("", login(u.getEmail(), TEST_PASSWORD));
27 assertNotNull(login(u.getEmail(), TEST_PASSWORD + "'"));
31 public void testInternalWrongTk() throws IOException, GigiApiException {
32 User u2 = User.getResetWithToken(id, pub + "'");
37 public void testInternalWrongId() throws IOException, GigiApiException {
38 User u2 = User.getResetWithToken(id + 1, pub);
42 @Test(expected = GigiApiException.class)
43 public void testInternalWeak() throws IOException, GigiApiException {
44 u.consumePasswordResetTicket(id, priv, "");
47 @Test(expected = GigiApiException.class)
48 public void testInternalWrongPriv() throws IOException, GigiApiException {
49 u.consumePasswordResetTicket(id, priv + "'", TEST_PASSWORD);
52 @Test(expected = GigiApiException.class)
53 public void testInternalWrongIdSetting() throws IOException, GigiApiException {
54 u.consumePasswordResetTicket(id + 1, priv, TEST_PASSWORD);