diff --git a/model/api/src/test/java/org/keycloak/models/PasswordPolicyTest.java b/model/api/src/test/java/org/keycloak/models/PasswordPolicyTest.java index 34814988843..54ef76e29a1 100644 --- a/model/api/src/test/java/org/keycloak/models/PasswordPolicyTest.java +++ b/model/api/src/test/java/org/keycloak/models/PasswordPolicyTest.java @@ -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")); }