fix unit test

This commit is contained in:
Michael Gerber
2015-02-28 19:59:21 +01:00
parent 828516e764
commit a70a1c7a82

View File

@@ -11,55 +11,65 @@ public class PasswordPolicyTest {
@Test
public void testLength() {
PasswordPolicy policy = new PasswordPolicy("length");
Assert.assertEquals("Invalid password: minimum length 8", policy.validate("1234567"));
Assert.assertEquals("invalidPasswordMinLength", policy.validate("1234567").getMessage());
Assert.assertArrayEquals(new Object[]{8}, policy.validate("1234567").getParameters());
Assert.assertNull(policy.validate("12345678"));
policy = new PasswordPolicy("length(4)");
Assert.assertEquals("Invalid password: minimum length 4", policy.validate("123"));
Assert.assertEquals("invalidPasswordMinLength", policy.validate("123").getMessage());
Assert.assertArrayEquals(new Object[]{4}, policy.validate("123").getParameters());
Assert.assertNull(policy.validate("1234"));
}
@Test
public void testDigits() {
PasswordPolicy policy = new PasswordPolicy("digits");
Assert.assertEquals("Invalid password: must contain at least 1 numerical digits", policy.validate("abcd"));
Assert.assertEquals("invalidPasswordMinDigits", policy.validate("abcd").getMessage());
Assert.assertArrayEquals(new Object[]{1}, policy.validate("abcd").getParameters());
Assert.assertNull(policy.validate("abcd1"));
policy = new PasswordPolicy("digits(2)");
Assert.assertEquals("Invalid password: must contain at least 2 numerical digits", policy.validate("abcd1"));
Assert.assertEquals("invalidPasswordMinDigits", policy.validate("abcd1").getMessage());
Assert.assertArrayEquals(new Object[]{2}, policy.validate("abcd1").getParameters());
Assert.assertNull(policy.validate("abcd12"));
}
@Test
public void testLowerCase() {
PasswordPolicy policy = new PasswordPolicy("lowerCase");
Assert.assertEquals("Invalid password: must contain at least 1 lower case characters", policy.validate("ABCD1234"));
Assert.assertEquals("invalidPasswordMinLowerCaseChars", policy.validate("ABCD1234").getMessage());
Assert.assertArrayEquals(new Object[]{1}, policy.validate("ABCD1234").getParameters());
Assert.assertNull(policy.validate("ABcD1234"));
policy = new PasswordPolicy("lowerCase(2)");
Assert.assertEquals("Invalid password: must contain at least 2 lower case characters", policy.validate("ABcD1234"));
Assert.assertEquals("invalidPasswordMinLowerCaseChars", policy.validate("ABcD1234").getMessage());
Assert.assertArrayEquals(new Object[]{2}, policy.validate("ABcD1234").getParameters());
Assert.assertNull(policy.validate("aBcD1234"));
}
@Test
public void testUpperCase() {
PasswordPolicy policy = new PasswordPolicy("upperCase");
Assert.assertEquals("Invalid password: must contain at least 1 upper case characters", policy.validate("abcd1234"));
Assert.assertEquals("invalidPasswordMinUpperCaseChars", policy.validate("abcd1234").getMessage());
Assert.assertArrayEquals(new Object[]{1}, policy.validate("abcd1234").getParameters());
Assert.assertNull(policy.validate("abCd1234"));
policy = new PasswordPolicy("upperCase(2)");
Assert.assertEquals("Invalid password: must contain at least 2 upper case characters", policy.validate("abCd1234"));
Assert.assertEquals("invalidPasswordMinUpperCaseChars", policy.validate("abCd1234").getMessage());
Assert.assertArrayEquals(new Object[]{2}, policy.validate("abCd1234").getParameters());
Assert.assertNull(policy.validate("AbCd1234"));
}
@Test
public void testSpecialChars() {
PasswordPolicy policy = new PasswordPolicy("specialChars");
Assert.assertEquals("Invalid password: must contain at least 1 special characters", policy.validate("abcd1234"));
Assert.assertEquals("invalidPasswordMinSpecialChars", policy.validate("abcd1234").getMessage());
Assert.assertArrayEquals(new Object[]{1}, policy.validate("abcd1234").getParameters());
Assert.assertNull(policy.validate("ab&d1234"));
policy = new PasswordPolicy("specialChars(2)");
Assert.assertEquals("Invalid password: must contain at least 2 special characters", policy.validate("ab&d1234"));
Assert.assertEquals("invalidPasswordMinSpecialChars", policy.validate("ab&d1234").getMessage());
Assert.assertArrayEquals(new Object[]{2}, policy.validate("ab&d1234").getParameters());
Assert.assertNull(policy.validate("ab&d-234"));
}