]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/util/TestPasswordStrengthChecker.java
Enlarge password test cases a bit.
[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 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));
34         }
35         @Test
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));
43
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));
48
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));
53
54                 assertEquals(2, PasswordStrengthChecker.checkpw(" .", u));
55                 assertEquals(2, PasswordStrengthChecker.checkpw(" a", u));
56                 assertEquals(2, PasswordStrengthChecker.checkpw(" Z", u));
57
58         }
59         @Test
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));
68
69         }
70
71 }