keycloak-developers

Merge pull request #1746 from mhajas/master KEYCLOAK-1865

10/16/2015 9:04:04 AM

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
index 3df1e67..818ff5d 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/console/page/authentication/PasswordPolicy.java
@@ -82,10 +82,10 @@ public class PasswordPolicy extends Authentication {
 
     public enum Type {
 
-        HASH_ITERATIONS("Hash Iterations"), LENGTH("Length"), DIGITS("Digits"), LOWER_CASE("Lower Case"),
-        UPPER_CASE("Upper Case"), SPECIAL_CHARS("Special Chars"), NOT_USERNAME("Not Username"),
-        REGEX_PATTERN("Regex Pattern"), PASSWORD_HISTORY("Password History"),
-        FORCE_EXPIRED_PASSWORD_CHANGE("Force Expired Password Change");
+        HASH_ITERATIONS("HashIterations"), LENGTH("Length"), DIGITS("Digits"), LOWER_CASE("LowerCase"),
+        UPPER_CASE("UpperCase"), SPECIAL_CHARS("SpecialChars"), NOT_USERNAME("NotUsername"),
+        REGEX_PATTERN("RegexPattern"), PASSWORD_HISTORY("PasswordHistory"),
+        FORCE_EXPIRED_PASSWORD_CHANGE("ForceExpiredPasswordChange");
 
         private String name;
 
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java
index bb578ff..b48cf84 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/authentication/PasswordPolicyTest.java
@@ -19,19 +19,19 @@ package org.keycloak.testsuite.console.authentication;
 
 import org.jboss.arquillian.graphene.page.Page;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
+import org.keycloak.representations.idm.RealmRepresentation;
 import org.keycloak.testsuite.console.AbstractConsoleTest;
 import org.keycloak.testsuite.console.page.authentication.PasswordPolicy;
 import org.keycloak.testsuite.console.page.users.UserCredentials;
 
-import static org.keycloak.testsuite.console.page.authentication.PasswordPolicy.Type.*;
+import static org.keycloak.testsuite.console.page.authentication.PasswordPolicy.Type.HASH_ITERATIONS;
+import static org.keycloak.testsuite.console.page.authentication.PasswordPolicy.Type.REGEX_PATTERN;
 
 /**
  * @author Petr Mensik
  * @author mhajas
  */
-@Ignore // FIXME still unstable
 public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Page
@@ -43,11 +43,11 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
     @Before
     public void beforePasswordPolicyTest() {
         testUserCredentialsPage.setId(testUser.getId());
-        passwordPolicyPage.navigateTo();
     }
 
     @Test
     public void testAddAndRemovePolicy() {
+        passwordPolicyPage.navigateTo();
         passwordPolicyPage.addPolicy(HASH_ITERATIONS, 5);
         passwordPolicyPage.removePolicy(HASH_ITERATIONS);
         assertFlashMessageSuccess();
@@ -55,17 +55,20 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testInvalidPolicyValues() {
+        passwordPolicyPage.navigateTo();
         passwordPolicyPage.addPolicy(HASH_ITERATIONS, "asd");
         assertFlashMessageDanger();
         passwordPolicyPage.removePolicy(HASH_ITERATIONS);
 
-        passwordPolicyPage.addPolicy(REGEX_PATTERN, "^[A-Z]{8,5}");
+        passwordPolicyPage.addPolicy(REGEX_PATTERN, "([");
         assertFlashMessageDanger();
     }
 
     @Test
     public void testLengthPolicy() {
-        passwordPolicyPage.addPolicy(LENGTH, 8);
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("length(8) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword("1234567");
@@ -77,7 +80,9 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testDigitsPolicy() {
-        passwordPolicyPage.addPolicy(DIGITS, 2);
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("digits(2) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword("invalidPassword1");
@@ -89,7 +94,9 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testLowerCasePolicy() {
-        passwordPolicyPage.addPolicy(LOWER_CASE, 2);
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("lowerCase(2) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword("iNVALIDPASSWORD");
@@ -101,7 +108,9 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testUpperCasePolicy() {
-        passwordPolicyPage.addPolicy(UPPER_CASE, 2);
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("upperCase(2) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword("Invalidpassword");
@@ -113,7 +122,9 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testSpecialCharsPolicy() {
-        passwordPolicyPage.addPolicy(SPECIAL_CHARS, 2);
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("specialChars(2) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword("invalidPassword*");
@@ -125,7 +136,9 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testNotUsernamePolicy() {
-        passwordPolicyPage.addPolicy(NOT_USERNAME);
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("notUsername(1) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword(testUser.getUsername());
@@ -137,7 +150,9 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testRegexPatternsPolicy() {
-        passwordPolicyPage.addPolicy(REGEX_PATTERN, "^[A-Z]+#[a-z]{8}$");
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("regexPattern(^[A-Z]+#[a-z]{8}$) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword("invalidPassword");
@@ -149,7 +164,9 @@ public class PasswordPolicyTest extends AbstractConsoleTest {
 
     @Test
     public void testPasswordHistoryPolicy() {
-        passwordPolicyPage.addPolicy(PASSWORD_HISTORY, 2);
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+        realm.setPasswordPolicy("passwordHistory(2) and ");
+        testRealmResource().update(realm);
 
         testUserCredentialsPage.navigateTo();
         testUserCredentialsPage.resetPassword("firstPassword");
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
index 5b22ca4..74418dd 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/AdminEventsTest.java
@@ -4,6 +4,7 @@ import org.jboss.arquillian.graphene.page.Page;
 import org.junit.Before;
 import org.junit.Test;
 import org.keycloak.representations.idm.ClientRepresentation;
+import org.keycloak.representations.idm.RealmRepresentation;
 import org.keycloak.testsuite.admin.ApiUtil;
 import org.keycloak.testsuite.console.AbstractConsoleTest;
 import org.keycloak.testsuite.console.clients.AbstractClientTest;
@@ -13,11 +14,11 @@ import org.keycloak.testsuite.console.page.events.Config;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 
-import static org.junit.Assert.assertEquals;
-
 import javax.ws.rs.core.Response;
 import java.util.List;
 
+import static org.junit.Assert.assertEquals;
+
 
 /**
  * @author mhajas
@@ -37,10 +38,12 @@ public class AdminEventsTest extends AbstractConsoleTest {
 
     @Before
     public void beforeAdminEventsTest() {
-        configPage.navigateTo();
-        configPage.form().setSaveAdminEvents(true);
-        configPage.form().setIncludeRepresentation(true);
-        configPage.form().save();
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+
+        realm.setAdminEventsEnabled(true);
+        realm.setAdminEventsDetailsEnabled(true);
+
+        testRealmResource().update(realm);
     }
 
     @Test
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java
index d8d1124..3b32274 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/console/events/LoginEventsTest.java
@@ -3,6 +3,7 @@ package org.keycloak.testsuite.console.events;
 import org.jboss.arquillian.graphene.page.Page;
 import org.junit.Before;
 import org.junit.Test;
+import org.keycloak.representations.idm.RealmRepresentation;
 import org.keycloak.testsuite.admin.Users;
 import org.keycloak.testsuite.console.AbstractConsoleTest;
 import org.keycloak.testsuite.console.page.events.Config;
@@ -10,6 +11,7 @@ import org.keycloak.testsuite.console.page.events.LoginEvents;
 import org.openqa.selenium.By;
 import org.openqa.selenium.WebElement;
 
+import java.util.Arrays;
 import java.util.List;
 
 import static org.junit.Assert.assertEquals;
@@ -21,18 +23,18 @@ import static org.keycloak.representations.idm.CredentialRepresentation.PASSWORD
 public class LoginEventsTest extends AbstractConsoleTest {
     @Page
     private LoginEvents loginEventsPage;
+
     @Page
     private Config configPage;
-    
+
     @Before
     public void beforeLoginEventsTest() {
-        configPage.navigateTo();
-        configPage.form().setSaveEvents(true);
-        configPage.form().waitForClearEventsButtonPresent();
-        configPage.form().addSaveType("LOGIN");
-        configPage.form().addSaveType("LOGIN_ERROR");
-        configPage.form().addSaveType("LOGOUT");
-        configPage.form().save();
+        RealmRepresentation realm = testRealmResource().toRepresentation();
+
+        realm.setEventsEnabled(true);
+        realm.setEnabledEventTypes(Arrays.asList("LOGIN", "LOGIN_ERROR", "LOGOUT"));
+
+        testRealmResource().update(realm);
     }
 
     @Test