]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/util/TestPasswordStrengthChecker.java
Fix minor bug in strength checker and add unit test.
[gigi.git] / tests / org / cacert / gigi / util / TestPasswordStrengthChecker.java
1 package org.cacert.gigi.util;
2
3 import org.cacert.gigi.User;
4 import org.junit.Test;
5 import static org.junit.Assert.*;
6
7 public class TestPasswordStrengthChecker {
8         User u;
9         public TestPasswordStrengthChecker() {
10                 u = new User();
11                 u.setFname("fname");
12                 u.setLname("lname");
13                 u.setMname("mname");
14                 u.setEmail("email");
15                 u.setSuffix("suffix");
16         }
17         @Test
18         public void testPasswordLength() {
19                 assertEquals(1, PasswordStrengthChecker.checkpw("01234", u));
20                 assertEquals(2, PasswordStrengthChecker.checkpw("0123456789012345", u));
21                 assertEquals(3,
22                                 PasswordStrengthChecker.checkpw("012345678901234567890", u));
23                 assertEquals(4, PasswordStrengthChecker.checkpw(
24                                 "01234567890123456789012345", u));
25                 assertEquals(5, PasswordStrengthChecker.checkpw(
26                                 "0123456789012345678901234567890", u));
27         }
28         @Test
29         public void testPasswordCharTypes() {
30                 assertEquals(1, PasswordStrengthChecker.checkpw("0", u));
31                 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
32                 assertEquals(2, PasswordStrengthChecker.checkpw("0az", u));
33                 assertEquals(3, PasswordStrengthChecker.checkpw("0azZ", u));
34                 assertEquals(4, PasswordStrengthChecker.checkpw("0a zZ", u));
35                 assertEquals(5, PasswordStrengthChecker.checkpw("0a. zZ", u));
36
37                 assertEquals(1, PasswordStrengthChecker.checkpw(".", u));
38                 assertEquals(1, PasswordStrengthChecker.checkpw(" ", u));
39                 assertEquals(1, PasswordStrengthChecker.checkpw("b", u));
40                 assertEquals(1, PasswordStrengthChecker.checkpw("Z", u));
41
42                 assertEquals(2, PasswordStrengthChecker.checkpw("0.", u));
43                 assertEquals(2, PasswordStrengthChecker.checkpw("0 ", u));
44                 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
45                 assertEquals(2, PasswordStrengthChecker.checkpw("0Z", u));
46
47                 assertEquals(2, PasswordStrengthChecker.checkpw(" .", u));
48                 assertEquals(2, PasswordStrengthChecker.checkpw(" a", u));
49                 assertEquals(2, PasswordStrengthChecker.checkpw(" Z", u));
50
51         }
52         @Test
53         public void testPasswordContains() {
54                 assertEquals(-1, PasswordStrengthChecker.checkpw("fnamea", u));
55                 assertEquals(-5, PasswordStrengthChecker.checkpw("na", u));
56                 assertEquals(0, PasswordStrengthChecker.checkpw("1lname", u));
57                 assertEquals(0, PasswordStrengthChecker.checkpw("1email", u));
58                 assertEquals(-1, PasswordStrengthChecker.checkpw("mai", u));
59                 assertEquals(-1, PasswordStrengthChecker.checkpw("suff", u));
60                 assertEquals(0, PasswordStrengthChecker.checkpw("1suffix", u));
61
62         }
63
64 }