]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/util/TestPasswordStrengthChecker.java
[EMPTY] Organize all imports
[gigi.git] / tests / org / cacert / gigi / util / TestPasswordStrengthChecker.java
1 package org.cacert.gigi.util;
2
3 import static org.junit.Assert.*;
4
5 import org.cacert.gigi.dbObjects.User;
6 import org.junit.Test;
7
8 public class TestPasswordStrengthChecker {
9
10     User u;
11
12     public TestPasswordStrengthChecker() {
13         u = new User();
14         u.setFname("fname");
15         u.setLname("lname");
16         u.setMname("mname");
17         u.setEmail("email");
18         u.setSuffix("suffix");
19     }
20
21     @Test
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));
28     }
29
30     @Test
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));
36     }
37
38     @Test
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));
46
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));
51
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));
56
57         assertEquals(2, PasswordStrengthChecker.checkpw(" .", u));
58         assertEquals(2, PasswordStrengthChecker.checkpw(" a", u));
59         assertEquals(2, PasswordStrengthChecker.checkpw(" Z", u));
60
61     }
62
63     @Test
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));
72
73     }
74
75 }