1 package org.cacert.gigi.util;
3 import org.cacert.gigi.User;
5 import static org.junit.Assert.*;
7 public class TestPasswordStrengthChecker {
9 public TestPasswordStrengthChecker() {
15 u.setSuffix("suffix");
18 public void testPasswordLength() {
19 assertEquals(1, PasswordStrengthChecker.checkpw("01234", u));
20 assertEquals(2, PasswordStrengthChecker.checkpw("0123456789012345", u));
22 PasswordStrengthChecker.checkpw("012345678901234567890", u));
23 assertEquals(4, PasswordStrengthChecker.checkpw(
24 "01234567890123456789012345", u));
25 assertEquals(5, PasswordStrengthChecker.checkpw(
26 "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));
36 public void testPasswordCharTypes() {
37 assertEquals(1, PasswordStrengthChecker.checkpw("0", u));
38 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
39 assertEquals(2, PasswordStrengthChecker.checkpw("0az", u));
40 assertEquals(3, PasswordStrengthChecker.checkpw("0azZ", u));
41 assertEquals(4, PasswordStrengthChecker.checkpw("0a zZ", u));
42 assertEquals(5, PasswordStrengthChecker.checkpw("0a. zZ", u));
44 assertEquals(1, PasswordStrengthChecker.checkpw(".", u));
45 assertEquals(1, PasswordStrengthChecker.checkpw(" ", u));
46 assertEquals(1, PasswordStrengthChecker.checkpw("b", u));
47 assertEquals(1, PasswordStrengthChecker.checkpw("Z", u));
49 assertEquals(2, PasswordStrengthChecker.checkpw("0.", u));
50 assertEquals(2, PasswordStrengthChecker.checkpw("0 ", u));
51 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
52 assertEquals(2, PasswordStrengthChecker.checkpw("0Z", u));
54 assertEquals(2, PasswordStrengthChecker.checkpw(" .", u));
55 assertEquals(2, PasswordStrengthChecker.checkpw(" a", u));
56 assertEquals(2, PasswordStrengthChecker.checkpw(" Z", u));
60 public void testPasswordContains() {
61 assertEquals(-1, PasswordStrengthChecker.checkpw("fnamea", u));
62 assertEquals(-5, PasswordStrengthChecker.checkpw("na", u));
63 assertEquals(0, PasswordStrengthChecker.checkpw("1lname", u));
64 assertEquals(0, PasswordStrengthChecker.checkpw("1email", u));
65 assertEquals(-1, PasswordStrengthChecker.checkpw("mai", u));
66 assertEquals(-1, PasswordStrengthChecker.checkpw("suff", u));
67 assertEquals(0, PasswordStrengthChecker.checkpw("1suffix", u));