keycloak-aplcache

Add support for some test constants in props file (cherry picked

2/25/2016 1:51:38 PM

Details

diff --git a/testsuite/integration-arquillian/tests/base/pom.xml b/testsuite/integration-arquillian/tests/base/pom.xml
index 0427d48..5529dd8 100644
--- a/testsuite/integration-arquillian/tests/base/pom.xml
+++ b/testsuite/integration-arquillian/tests/base/pom.xml
@@ -52,6 +52,11 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>commons-configuration</groupId>
+            <artifactId>commons-configuration</artifactId>
+            <version>1.10</version>
+        </dependency>
     </dependencies>
     
     <build>
diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
index bbab450..9a1225e 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/AbstractKeycloakTest.java
@@ -16,6 +16,8 @@
  */
 package org.keycloak.testsuite;
 
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
 import org.keycloak.testsuite.arquillian.TestContext;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -103,6 +105,8 @@ public abstract class AbstractKeycloakTest {
 
     protected UserRepresentation adminUser;
 
+    private PropertiesConfiguration constantsProperties;
+
     @Before
     public void beforeAbstractKeycloakTest() {
         adminClient = Keycloak.getInstance(AuthServerTestEnricher.getAuthServerContextRoot() + "/auth",
@@ -209,6 +213,18 @@ public abstract class AbstractKeycloakTest {
         return adminClient.realms();
     }
 
+    private void loadConstantsProperties() throws ConfigurationException {
+        constantsProperties = new PropertiesConfiguration("test-constants.properties");
+        constantsProperties.setThrowExceptionOnMissing(true);
+    }
+
+    protected PropertiesConfiguration getConstantsProperties() throws ConfigurationException {
+        if (constantsProperties == null) {
+            loadConstantsProperties();
+        }
+        return constantsProperties;
+    }
+
     public void createRealm(String realm) {
         try {
             RealmResource realmResource = adminClient.realms().realm(realm);
@@ -221,7 +237,7 @@ public abstract class AbstractKeycloakTest {
             realmRepresentation.setEnabled(true);
             realmRepresentation.setRegistrationAllowed(true);
             adminClient.realms().create(realmRepresentation);
-            
+
 //            List<RequiredActionProviderRepresentation> requiredActions = adminClient.realm(realm).flows().getRequiredActions();
 //            for (RequiredActionProviderRepresentation a : requiredActions) {
 //                a.setEnabled(false);
@@ -230,28 +246,28 @@ public abstract class AbstractKeycloakTest {
 //            }
         }
     }
-    
+
     public String createUser(String realm, String username, String password, String ... requiredActions) {
         List<String> requiredUserActions = Arrays.asList(requiredActions);
-        
+
         UserRepresentation homer = new UserRepresentation();
         homer.setEnabled(true);
         homer.setUsername(username);
         homer.setRequiredActions(requiredUserActions);
-        
+
         return ApiUtil.createUserAndResetPasswordWithAdminClient(adminClient.realm(realm), homer, password);
     }
-    
+
     public void setRequiredActionEnabled(String realm, String requiredAction, boolean enabled, boolean defaultAction) {
         AuthenticationManagementResource managementResource = adminClient.realm(realm).flows();
-        
+
         RequiredActionProviderRepresentation action = managementResource.getRequiredAction(requiredAction);
         action.setEnabled(enabled);
         action.setDefaultAction(defaultAction);
-      
+
         managementResource.updateRequiredAction(requiredAction, action);
     }
-    
+
     public void setRequiredActionEnabled(String realm, String userId, String requiredAction, boolean enabled) {
         UsersResource usersResource = adminClient.realm(realm).users();
 
@@ -264,8 +280,8 @@ public abstract class AbstractKeycloakTest {
         } else if (!enabled && requiredActions.contains(requiredAction)) {
             requiredActions.remove(requiredAction);
         }
-        
+
         userResource.update(userRepresentation);
     }
-    
+
 }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/test-constants.properties b/testsuite/integration-arquillian/tests/base/src/test/resources/test-constants.properties
new file mode 100644
index 0000000..6dbea51
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/base/src/test/resources/test-constants.properties
@@ -0,0 +1,2 @@
+# Some constants used in tests which may vary
+ldap-vendors = Active Directory,Red Hat Directory Server,Tivoli,Novell eDirectory,Other
\ No newline at end of file