]> WPIA git - gigi.git/blob - tests/org/cacert/gigi/util/TestPasswordStrengthChecker.java
[EMPTY] Formatting with configured formatter.
[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
10         public TestPasswordStrengthChecker() {
11                 u = new User();
12                 u.setFname("fname");
13                 u.setLname("lname");
14                 u.setMname("mname");
15                 u.setEmail("email");
16                 u.setSuffix("suffix");
17         }
18
19         @Test
20         public void testPasswordLength() {
21                 assertEquals(1, PasswordStrengthChecker.checkpw("01234", u));
22                 assertEquals(2, PasswordStrengthChecker.checkpw("0123456789012345", u));
23                 assertEquals(3, PasswordStrengthChecker.checkpw("012345678901234567890", u));
24                 assertEquals(4, PasswordStrengthChecker.checkpw("01234567890123456789012345", u));
25                 assertEquals(5, PasswordStrengthChecker.checkpw("0123456789012345678901234567890", u));
26         }
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
36         @Test
37         public void testPasswordCharTypes() {
38                 assertEquals(1, PasswordStrengthChecker.checkpw("0", u));
39                 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
40                 assertEquals(2, PasswordStrengthChecker.checkpw("0az", u));
41                 assertEquals(3, PasswordStrengthChecker.checkpw("0azZ", u));
42                 assertEquals(4, PasswordStrengthChecker.checkpw("0a zZ", u));
43                 assertEquals(5, PasswordStrengthChecker.checkpw("0a. zZ", u));
44
45                 assertEquals(1, PasswordStrengthChecker.checkpw(".", u));
46                 assertEquals(1, PasswordStrengthChecker.checkpw(" ", u));
47                 assertEquals(1, PasswordStrengthChecker.checkpw("b", u));
48                 assertEquals(1, PasswordStrengthChecker.checkpw("Z", u));
49
50                 assertEquals(2, PasswordStrengthChecker.checkpw("0.", u));
51                 assertEquals(2, PasswordStrengthChecker.checkpw("0 ", u));
52                 assertEquals(2, PasswordStrengthChecker.checkpw("0a", u));
53                 assertEquals(2, PasswordStrengthChecker.checkpw("0Z", u));
54
55                 assertEquals(2, PasswordStrengthChecker.checkpw(" .", u));
56                 assertEquals(2, PasswordStrengthChecker.checkpw(" a", u));
57                 assertEquals(2, PasswordStrengthChecker.checkpw(" Z", u));
58
59         }
60
61         @Test
62         public void testPasswordContains() {
63                 assertEquals(-1, PasswordStrengthChecker.checkpw("fnamea", u));
64                 assertEquals(-5, PasswordStrengthChecker.checkpw("na", u));
65                 assertEquals(0, PasswordStrengthChecker.checkpw("1lname", u));
66                 assertEquals(0, PasswordStrengthChecker.checkpw("1email", u));
67                 assertEquals(-1, PasswordStrengthChecker.checkpw("mai", u));
68                 assertEquals(-1, PasswordStrengthChecker.checkpw("suff", u));
69                 assertEquals(0, PasswordStrengthChecker.checkpw("1suffix", u));
70
71         }
72
73 }