1 package org.cacert.gigi.util;
3 import static org.junit.Assert.*;
5 import org.cacert.gigi.dbObjects.User;
8 public class TestPasswordStrengthChecker {
12 public TestPasswordStrengthChecker() {
18 u.setSuffix("suffix");
22 public void testPasswordLength() {
23 assertEquals(1, PasswordStrengthChecker.checkpw("01234", u));
24 assertEquals(2, PasswordStrengthChecker.checkpw("0123456789012345", u));
25 assertEquals(3, PasswordStrengthChecker.checkpw("012345678901234567890", u));
26 assertEquals(4, PasswordStrengthChecker.checkpw("01234567890123456789012345", u));
27 assertEquals(5, PasswordStrengthChecker.checkpw("0123456789012345678901234567890", u));
31 public void testPasswordNonASCII() {
32 assertEquals(2, PasswordStrengthChecker.checkpw("0ä", u));
33 assertEquals(3, PasswordStrengthChecker.checkpw("0aä", u));
34 assertEquals(3, PasswordStrengthChecker.checkpw("0azä", u));
35 assertEquals(3, PasswordStrengthChecker.checkpw("0az.ä", u));
39 public void testPasswordCharTypes() {
40 assertEquals(1, PasswordStrengthChecker.checkpw("0", u));
41 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
42 assertEquals(2, PasswordStrengthChecker.checkpw("0az", u));
43 assertEquals(3, PasswordStrengthChecker.checkpw("0azZ", u));
44 assertEquals(4, PasswordStrengthChecker.checkpw("0a zZ", u));
45 assertEquals(5, PasswordStrengthChecker.checkpw("0a. zZ", u));
47 assertEquals(1, PasswordStrengthChecker.checkpw(".", u));
48 assertEquals(1, PasswordStrengthChecker.checkpw(" ", u));
49 assertEquals(1, PasswordStrengthChecker.checkpw("b", u));
50 assertEquals(1, PasswordStrengthChecker.checkpw("Z", u));
52 assertEquals(2, PasswordStrengthChecker.checkpw("0.", u));
53 assertEquals(2, PasswordStrengthChecker.checkpw("0 ", u));
54 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
55 assertEquals(2, PasswordStrengthChecker.checkpw("0Z", u));
57 assertEquals(2, PasswordStrengthChecker.checkpw(" .", u));
58 assertEquals(2, PasswordStrengthChecker.checkpw(" a", u));
59 assertEquals(2, PasswordStrengthChecker.checkpw(" Z", u));
64 public void testPasswordContains() {
65 assertEquals( -1, PasswordStrengthChecker.checkpw("fnamea", u));
66 assertEquals( -5, PasswordStrengthChecker.checkpw("na", u));
67 assertEquals(0, PasswordStrengthChecker.checkpw("1lname", u));
68 assertEquals(0, PasswordStrengthChecker.checkpw("1email", u));
69 assertEquals( -1, PasswordStrengthChecker.checkpw("mai", u));
70 assertEquals( -1, PasswordStrengthChecker.checkpw("suff", u));
71 assertEquals(0, PasswordStrengthChecker.checkpw("1suffix", u));