]> WPIA git - gigi.git/blob - tests/club/wpia/gigi/util/TestPasswordStrengthChecker.java
fix: ResultSet.getDate is often wrong as it fetches day-precision times
[gigi.git] / tests / club / wpia / gigi / util / TestPasswordStrengthChecker.java
1 package club.wpia.gigi.util;
2
3 import static org.junit.Assert.*;
4
5 import org.junit.Test;
6
7 import club.wpia.gigi.testUtils.ClientBusinessTest;
8 import club.wpia.gigi.util.PasswordStrengthChecker;
9
10 public class TestPasswordStrengthChecker extends ClientBusinessTest {
11
12     String e = "email";
13
14     public TestPasswordStrengthChecker() {}
15
16     private int check(String pw) {
17         return PasswordStrengthChecker.checkpw(pw, new String[] {
18                 "fname", "lname", "mname", "suffix"
19         }, e);
20     }
21
22     @Test
23     public void testPasswordLength() {
24         assertEquals(1, check("01234"));
25         assertEquals(2, check("0123456789012345"));
26         assertEquals(3, check("012345678901234567890"));
27         assertEquals(4, check("01234567890123456789012345"));
28         assertEquals(5, check("0123456789012345678901234567890"));
29     }
30
31     @Test
32     public void testPasswordNonASCII() {
33         assertEquals(2, check("0ä"));
34         assertEquals(3, check("0aä"));
35         assertEquals(3, check("0azä"));
36         assertEquals(3, check("0az.ä"));
37     }
38
39     @Test
40     public void testPasswordCharTypes() {
41         assertEquals(1, check("0"));
42         assertEquals(2, check("0a"));
43         assertEquals(2, check("0az"));
44         assertEquals(3, check("0azZ"));
45         assertEquals(4, check("0a zZ"));
46         assertEquals(5, check("0a. zZ"));
47
48         assertEquals(1, check("."));
49         assertEquals(1, check(" "));
50         assertEquals(1, check("b"));
51         assertEquals(1, check("Z"));
52
53         assertEquals(2, check("0."));
54         assertEquals(2, check("0 "));
55         assertEquals(2, check("0a"));
56         assertEquals(2, check("0Z"));
57
58         assertEquals(2, check(" ."));
59         assertEquals(2, check(" a"));
60         assertEquals(2, check(" Z"));
61
62     }
63
64     @Test
65     public void testPasswordContains() {
66         assertEquals( -1, check("fnamea"));
67         assertEquals( -5, check("na"));
68         assertEquals(0, check("1lname"));
69         assertEquals(0, check("1email"));
70         assertEquals( -1, check("mai"));
71         assertEquals( -1, check("suff"));
72         assertEquals(0, check("1suffix"));
73
74     }
75
76 }