1 package org.cacert.gigi.util;
3 import static org.junit.Assert.*;
5 import org.cacert.gigi.dbObjects.Name;
6 import org.cacert.gigi.dbObjects.User;
9 public class TestPasswordStrengthChecker {
13 public TestPasswordStrengthChecker() {
15 u.setName(new Name("fname", "lname", "mname", "suffix"));
20 public void testPasswordLength() {
21 assertEquals(1, PasswordStrengthChecker.checkpw("01234", u));
22 assertEquals(2, PasswordStrengthChecker.checkpw("0123456789012345", u));
23 assertEquals(3, PasswordStrengthChecker.checkpw("012345678901234567890", u));
24 assertEquals(4, PasswordStrengthChecker.checkpw("01234567890123456789012345", u));
25 assertEquals(5, PasswordStrengthChecker.checkpw("0123456789012345678901234567890", u));
29 public void testPasswordNonASCII() {
30 assertEquals(2, PasswordStrengthChecker.checkpw("0ä", u));
31 assertEquals(3, PasswordStrengthChecker.checkpw("0aä", u));
32 assertEquals(3, PasswordStrengthChecker.checkpw("0azä", u));
33 assertEquals(3, PasswordStrengthChecker.checkpw("0az.ä", u));
37 public void testPasswordCharTypes() {
38 assertEquals(1, PasswordStrengthChecker.checkpw("0", u));
39 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
40 assertEquals(2, PasswordStrengthChecker.checkpw("0az", u));
41 assertEquals(3, PasswordStrengthChecker.checkpw("0azZ", u));
42 assertEquals(4, PasswordStrengthChecker.checkpw("0a zZ", u));
43 assertEquals(5, PasswordStrengthChecker.checkpw("0a. zZ", u));
45 assertEquals(1, PasswordStrengthChecker.checkpw(".", u));
46 assertEquals(1, PasswordStrengthChecker.checkpw(" ", u));
47 assertEquals(1, PasswordStrengthChecker.checkpw("b", u));
48 assertEquals(1, PasswordStrengthChecker.checkpw("Z", u));
50 assertEquals(2, PasswordStrengthChecker.checkpw("0.", u));
51 assertEquals(2, PasswordStrengthChecker.checkpw("0 ", u));
52 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
53 assertEquals(2, PasswordStrengthChecker.checkpw("0Z", u));
55 assertEquals(2, PasswordStrengthChecker.checkpw(" .", u));
56 assertEquals(2, PasswordStrengthChecker.checkpw(" a", u));
57 assertEquals(2, PasswordStrengthChecker.checkpw(" Z", u));
62 public void testPasswordContains() {
63 assertEquals( -1, PasswordStrengthChecker.checkpw("fnamea", u));
64 assertEquals( -5, PasswordStrengthChecker.checkpw("na", u));
65 assertEquals(0, PasswordStrengthChecker.checkpw("1lname", u));
66 assertEquals(0, PasswordStrengthChecker.checkpw("1email", u));
67 assertEquals( -1, PasswordStrengthChecker.checkpw("mai", u));
68 assertEquals( -1, PasswordStrengthChecker.checkpw("suff", u));
69 assertEquals(0, PasswordStrengthChecker.checkpw("1suffix", u));