]> WPIA git - gigi.git/blobdiff - tests/club/wpia/gigi/util/TestPasswordStrengthChecker.java
upd: rename package name and all references to it
[gigi.git] / tests / club / wpia / gigi / util / TestPasswordStrengthChecker.java
diff --git a/tests/club/wpia/gigi/util/TestPasswordStrengthChecker.java b/tests/club/wpia/gigi/util/TestPasswordStrengthChecker.java
new file mode 100644 (file)
index 0000000..16e2cbb
--- /dev/null
@@ -0,0 +1,76 @@
+package club.wpia.gigi.util;
+
+import static org.junit.Assert.*;
+
+import org.junit.Test;
+
+import club.wpia.gigi.testUtils.ClientBusinessTest;
+import club.wpia.gigi.util.PasswordStrengthChecker;
+
+public class TestPasswordStrengthChecker extends ClientBusinessTest {
+
+    String e = "email";
+
+    public TestPasswordStrengthChecker() {}
+
+    private int check(String pw) {
+        return PasswordStrengthChecker.checkpw(pw, new String[] {
+                "fname", "lname", "mname", "suffix"
+        }, e);
+    }
+
+    @Test
+    public void testPasswordLength() {
+        assertEquals(1, check("01234"));
+        assertEquals(2, check("0123456789012345"));
+        assertEquals(3, check("012345678901234567890"));
+        assertEquals(4, check("01234567890123456789012345"));
+        assertEquals(5, check("0123456789012345678901234567890"));
+    }
+
+    @Test
+    public void testPasswordNonASCII() {
+        assertEquals(2, check("0ä"));
+        assertEquals(3, check("0aä"));
+        assertEquals(3, check("0azä"));
+        assertEquals(3, check("0az.ä"));
+    }
+
+    @Test
+    public void testPasswordCharTypes() {
+        assertEquals(1, check("0"));
+        assertEquals(2, check("0a"));
+        assertEquals(2, check("0az"));
+        assertEquals(3, check("0azZ"));
+        assertEquals(4, check("0a zZ"));
+        assertEquals(5, check("0a. zZ"));
+
+        assertEquals(1, check("."));
+        assertEquals(1, check(" "));
+        assertEquals(1, check("b"));
+        assertEquals(1, check("Z"));
+
+        assertEquals(2, check("0."));
+        assertEquals(2, check("0 "));
+        assertEquals(2, check("0a"));
+        assertEquals(2, check("0Z"));
+
+        assertEquals(2, check(" ."));
+        assertEquals(2, check(" a"));
+        assertEquals(2, check(" Z"));
+
+    }
+
+    @Test
+    public void testPasswordContains() {
+        assertEquals( -1, check("fnamea"));
+        assertEquals( -5, check("na"));
+        assertEquals(0, check("1lname"));
+        assertEquals(0, check("1email"));
+        assertEquals( -1, check("mai"));
+        assertEquals( -1, check("suff"));
+        assertEquals(0, check("1suffix"));
+
+    }
+
+}