keycloak-aplcache

Details

diff --git a/testsuite/integration-arquillian/servers/wildfly/pom.xml b/testsuite/integration-arquillian/servers/wildfly/pom.xml
index 3610737..634688b 100644
--- a/testsuite/integration-arquillian/servers/wildfly/pom.xml
+++ b/testsuite/integration-arquillian/servers/wildfly/pom.xml
@@ -209,31 +209,6 @@
                             </execution>
                         </executions>
                     </plugin>
-                    <plugin>
-                        <groupId>org.codehaus.mojo</groupId>
-                        <artifactId>xml-maven-plugin</artifactId>
-                        <executions>
-                            <execution>
-                                <id>configure-adapter-subsystem</id>
-                                <phase>process-resources</phase>
-                                <goals>
-                                    <goal>transform</goal>
-                                </goals>
-                                <configuration>
-                                    <transformationSets>
-                                        <transformationSet>
-                                            <dir>${keycloak.server.home}/standalone/configuration</dir>
-                                            <includes>
-                                                <include>standalone.xml</include>
-                                            </includes>
-                                            <stylesheet>src/main/xslt/standalone.xsl</stylesheet>
-                                            <outputDir>${keycloak.server.home}/standalone/configuration</outputDir>
-                                        </transformationSet>
-                                    </transformationSets>
-                                </configuration>
-                            </execution>
-                        </executions>
-                    </plugin>
                 </plugins>
             </build>
         </profile>
diff --git a/testsuite/integration-arquillian/tests/adapters/as7/pom.xml b/testsuite/integration-arquillian/tests/adapters/as7/pom.xml
index 135c1bf..b63ae88 100644
--- a/testsuite/integration-arquillian/tests/adapters/as7/pom.xml
+++ b/testsuite/integration-arquillian/tests/adapters/as7/pom.xml
@@ -40,6 +40,11 @@
             <artifactId>keycloak-as7-adapter-dist</artifactId>
             <type>zip</type>
         </dependency>
+        <dependency>
+            <groupId>org.keycloak</groupId>
+            <artifactId>keycloak-saml-as7-adapter-dist</artifactId>
+            <type>zip</type>
+        </dependency>
     </dependencies>
 
     <build>
@@ -77,6 +82,13 @@
                                     <type>zip</type>
                                     <outputDirectory>${adapter.libs.as7}</outputDirectory>
                                 </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.keycloak</groupId>
+                                    <artifactId>keycloak-saml-as7-adapter-dist</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>zip</type>
+                                    <outputDirectory>${adapter.libs.as7}</outputDirectory>
+                                </artifactItem>
                             </artifactItems>
                         </configuration>
                     </execution>
diff --git a/testsuite/integration-arquillian/tests/adapters/eap6/pom.xml b/testsuite/integration-arquillian/tests/adapters/eap6/pom.xml
index b9075cf..cc82d36 100644
--- a/testsuite/integration-arquillian/tests/adapters/eap6/pom.xml
+++ b/testsuite/integration-arquillian/tests/adapters/eap6/pom.xml
@@ -40,6 +40,11 @@
             <artifactId>keycloak-eap6-adapter-dist</artifactId>
             <type>zip</type>
         </dependency>
+        <dependency>
+            <groupId>org.keycloak</groupId>
+            <artifactId>keycloak-saml-eap6-adapter-dist</artifactId>
+            <type>zip</type>
+        </dependency>
     </dependencies>
 
     <build>
@@ -67,7 +72,7 @@
                 <artifactId>maven-dependency-plugin</artifactId>
                 <executions>
                     <execution>
-                        <id>unpack-eap6-with-adapter</id>
+                        <id>unpack-eap6-with-adapters</id>
                         <phase>generate-resources</phase>
                         <goals>
                             <goal>unpack</goal>
@@ -88,6 +93,13 @@
                                     <type>zip</type>
                                     <outputDirectory>${adapter.libs.eap6}</outputDirectory>
                                 </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.keycloak</groupId>
+                                    <artifactId>keycloak-saml-eap6-adapter-dist</artifactId>
+                                    <version>${version.adapter.dist}</version>
+                                    <type>zip</type>
+                                    <outputDirectory>${adapter.libs.eap6}</outputDirectory>
+                                </artifactItem>
                             </artifactItems>
                         </configuration>
                     </execution>
diff --git a/testsuite/integration-arquillian/tests/adapters/pom.xml b/testsuite/integration-arquillian/tests/adapters/pom.xml
index 5e215fb..c5f2f7b 100644
--- a/testsuite/integration-arquillian/tests/adapters/pom.xml
+++ b/testsuite/integration-arquillian/tests/adapters/pom.xml
@@ -23,6 +23,7 @@
         <exclude.adapters>-</exclude.adapters>
         
         <arquillian.xml.stylesheet>src/main/xslt/arquillian.xsl</arquillian.xml.stylesheet>
+        <skip.install.adapters>false</skip.install.adapters>
     </properties>
     
     <build>
@@ -50,6 +51,24 @@
                                 </artifactItems>
                             </configuration>
                         </execution>
+                        <execution>
+                            <id>unpack-add-user-json</id>
+                            <phase>generate-resources</phase>
+                            <goals>
+                                <goal>unpack</goal>
+                            </goals>
+                            <configuration>
+                                <artifactItems>
+                                    <artifactItem>
+                                        <groupId>org.keycloak.testsuite</groupId>
+                                        <artifactId>integration-arquillian-tests-base</artifactId>
+                                        <version>${project.version}</version>
+                                        <type>test-jar</type>
+                                        <includes>**/keycloak-add-user.json</includes>
+                                    </artifactItem>
+                                </artifactItems>
+                            </configuration>
+                        </execution>
                     </executions>
                 </plugin>            
                 <plugin>
@@ -108,6 +127,31 @@
                         </excludes>
                     </configuration>
                 </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-resources-plugin</artifactId>
+                    <executions>
+                        <execution>
+                            <id>copy-admin-user-json-file</id>
+                            <phase>process-test-resources</phase>
+                            <goals>
+                                <goal>copy-resources</goal>
+                            </goals>
+                            <configuration>
+                                <outputDirectory>${jboss.server.config.dir}</outputDirectory>
+                                <resources>
+                                    <resource>
+                                        <directory>${project.build.directory}/dependency</directory>
+                                        <includes>
+                                            <include>keycloak-add-user.json</include>
+                                        </includes>
+                                        <filtering>true</filtering>
+                                    </resource>
+                                </resources>
+                            </configuration>
+                        </execution>
+                    </executions>
+                </plugin>
             </plugins>
         </pluginManagement>        
     </build>
diff --git a/testsuite/integration-arquillian/tests/adapters/wildfly/pom.xml b/testsuite/integration-arquillian/tests/adapters/wildfly/pom.xml
index 4622489..7551f65 100644
--- a/testsuite/integration-arquillian/tests/adapters/wildfly/pom.xml
+++ b/testsuite/integration-arquillian/tests/adapters/wildfly/pom.xml
@@ -31,6 +31,11 @@
             <artifactId>keycloak-wildfly-adapter-dist</artifactId>
             <type>zip</type>
         </dependency>
+        <dependency>
+            <groupId>org.keycloak</groupId>
+            <artifactId>keycloak-saml-wildfly-adapter-dist</artifactId>
+            <type>zip</type>
+        </dependency>
     </dependencies>
 
     <build>
@@ -68,6 +73,13 @@
                                     <type>zip</type>
                                     <outputDirectory>${adapter.libs.wildfly}</outputDirectory>
                                 </artifactItem>
+                                <artifactItem>
+                                    <groupId>org.keycloak</groupId>
+                                    <artifactId>keycloak-saml-wildfly-adapter-dist</artifactId>
+                                    <version>${project.version}</version>
+                                    <type>zip</type>
+                                    <outputDirectory>${adapter.libs.wildfly}</outputDirectory>
+                                </artifactItem>
                             </artifactItems>
                         </configuration>
                     </execution>
@@ -77,7 +89,6 @@
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.18.1</version>
                 <configuration>
                     <systemPropertyVariables>
                         <app.server.wildfly>true</app.server.wildfly>
@@ -145,20 +156,20 @@
                                     <goal>copy-resources</goal>
                                 </goals>
                                 <configuration>
-                                     <outputDirectory>${app.server.wildfly.home}/standalone/configuration</outputDirectory>
-                                     <resources>
-                                         <resource>
-                                              <directory>src/main/keystore</directory>
-                                              <includes>
-                                                  <include>adapter.jks</include>
-                                                  <include>keycloak.truststore</include>
-                                              </includes>
-                                         </resource>
-                                     </resources>
-                                     <nonFilteredFileExtensions>
+                                    <outputDirectory>${app.server.wildfly.home}/standalone/configuration</outputDirectory>
+                                    <resources>
+                                        <resource>
+                                            <directory>src/main/keystore</directory>
+                                            <includes>
+                                                <include>adapter.jks</include>
+                                                <include>keycloak.truststore</include>
+                                            </includes>
+                                        </resource>
+                                    </resources>
+                                    <nonFilteredFileExtensions>
                                         <nonFilteredFileExtension>jks</nonFilteredFileExtension>
                                         <nonFilteredFileExtension>truststore</nonFilteredFileExtension>
-                                     </nonFilteredFileExtensions>
+                                    </nonFilteredFileExtensions>
                                 </configuration>
                             </execution>
                         </executions>
diff --git a/testsuite/integration-arquillian/tests/base/pom.xml b/testsuite/integration-arquillian/tests/base/pom.xml
index c1e5e9c..c0ed48b 100644
--- a/testsuite/integration-arquillian/tests/base/pom.xml
+++ b/testsuite/integration-arquillian/tests/base/pom.xml
@@ -74,6 +74,13 @@
             </properties>
         </profile>
         <profile>
+            <id>no-client</id>
+            <properties>
+                <!-- Exclude all account management tests. -->
+                <exclude.account>**/client/**/*Test.java</exclude.account>
+            </properties>
+        </profile>
+        <profile>
             <id>adapters-only</id>
             <properties>
                 <exclude.console>**/console/**/*Test.java</exclude.console>           
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainersTestEnricher.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainersTestEnricher.java
index e6f3c15..2512d1c 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainersTestEnricher.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/ContainersTestEnricher.java
@@ -23,7 +23,6 @@ import org.jboss.arquillian.core.api.annotation.Observes;
 import org.jboss.arquillian.test.spi.annotation.ClassScoped;
 import org.jboss.arquillian.test.spi.annotation.SuiteScoped;
 import org.jboss.arquillian.container.spi.event.container.AfterStart;
-import org.jboss.arquillian.container.spi.event.container.BeforeStart;
 import org.jboss.arquillian.test.spi.event.suite.BeforeClass;
 import org.jboss.arquillian.test.spi.event.suite.BeforeSuite;
 import org.jboss.logging.Logger;
@@ -35,6 +34,7 @@ import org.keycloak.testsuite.util.OAuthClient;
 
 import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
 import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
+import static org.keycloak.testsuite.util.WaitUtils.pause;
 
 /**
  *
@@ -78,7 +78,10 @@ public class ContainersTestEnricher {
     private ContainerController controller;
     private LinkedList<Container> containers;
 
+    private String jbossHomePath;
     private final boolean migrationTests = System.getProperty("migration", "false").equals("true");
+    private final boolean skipInstallAdapters = System.getProperty("skip.install.adapters", "false").equals("true");
+    private boolean alreadyInstalled = false;
     private boolean alreadyStopped = false;
     private boolean init = false;
 
@@ -110,16 +113,12 @@ public class ContainersTestEnricher {
      */
     public void afterStart(@Observes AfterStart event) throws IOException, InterruptedException {
         Container container = containers.pollFirst();
-        String jbossHomePath = null;
 
         if (isJBossBased(container)) {
             jbossHomePath = container.getContainerConfiguration().getContainerProperties().get("jbossHome");
             log.debug("jbossHome: " + jbossHomePath + "\n");
-
-            if (System.getProperty("check.server.log", "true").equals("true")) {
-                checkServerLog(jbossHomePath);
-            }
         }
+        checkServerLog(jbossHomePath);
 
         if (migrationTests && !alreadyStopped) {
             log.info("\n\n### Stopping keycloak " + System.getProperty("version", "- previous") + " ###\n");
@@ -127,44 +126,52 @@ public class ContainersTestEnricher {
             log.info("\n\n### Starting keycloak current version ###\n");
             alreadyStopped = true;
         }
-
-        if (isJBossBased(container) && container.getName().startsWith("app-server")) {
-            log.info("Installing adapter to app server via cli script");
+        
+        if (!alreadyInstalled && !skipInstallAdapters && isJBossBased(container)) {
             String jbossCliPath = jbossHomePath + "/bin/jboss-cli.sh";
-            String scriptPathArg = "--file=" + jbossHomePath + "/bin/adapter-install.cli";
+            String adapterScriptPathArg = "--file=" + jbossHomePath + "/bin/adapter-install.cli";
+            String samlAdapterScriptPathArg = "--file=" + jbossHomePath + "/bin/adapter-install-saml.cli";
             String managementPort = container.getContainerConfiguration().getContainerProperties().get("managementPort");
             String controllerArg = "--controller=localhost:" + managementPort;
 
-            execCommand(new String[]{"/bin/sh", jbossCliPath, "--connect", scriptPathArg, controllerArg});
-            log.debug("Restarting container");
+            log.info("Installing adapter to app server via cli script");
+            execCommand(new String[]{"/bin/sh", jbossCliPath, "--connect", adapterScriptPathArg, controllerArg});
+            log.info("Installing saml adapter to app server via cli script");
+            execCommand(new String[]{"/bin/sh", jbossCliPath, "--connect", samlAdapterScriptPathArg, controllerArg});
+            log.info("Restarting container");
             execCommand(new String[]{"/bin/sh", jbossCliPath, "--connect", "--command=:reload", controllerArg});
+            pause(5000);
+            log.info("Container restarted");
+            checkServerLog(jbossHomePath);
+            if (container.getName().startsWith("app-server")) {
+                alreadyInstalled = true;
+            }
         }
     }
 
     private void execCommand(String... command) throws IOException, InterruptedException {
         Process process = Runtime.getRuntime().exec(command);
 
-        printOutput(process.getInputStream());
-
         if (process.waitFor(10, TimeUnit.SECONDS)) {
             if (process.exitValue() != 0) {
-                log.error("Std Error:");
-                printOutput(process.getErrorStream());
-                throw new RuntimeException("Adapter installation failed.");
+                throw new RuntimeException("Adapter installation failed. Process exitValue: " 
+                        + process.exitValue() + "; <error output>\n" + getOutput(process.getErrorStream()) 
+                        + "</error output>");
             }
+            log.debug("process.isAlive(): " + process.isAlive());
         } else {
-            process.destroy();
+            process.destroyForcibly();
             throw new RuntimeException("Timeout after 10 seconds.");
         }
     }
 
-    private void printOutput(InputStream is) throws IOException {
+    private String getOutput(InputStream is) throws IOException {
         BufferedReader reader = new BufferedReader(new InputStreamReader(is));
         StringBuilder builder = new StringBuilder();
         while (reader.ready()) {
             builder.append(reader.readLine());
         }
-        log.info(builder);
+        return builder.toString();
     }
 
     private boolean isJBossBased(Container container) {
@@ -182,19 +189,22 @@ public class ContainersTestEnricher {
      * check server logs whether there are no ERRORs or SEVEREs
      */
     private void checkServerLog(String jbossHomePath) throws IOException {
-        File serverLog = new File(jbossHomePath + "/standalone/log/server.log");
-        String serverLogContent = FileUtils.readFileToString(serverLog);
-
-        boolean containsError
-                = serverLogContent.contains("ERROR")
-                || serverLogContent.contains("SEVERE")
-                || serverLogContent.contains("Exception ");
-        //There is expected string "Exception" in server log: Adding provider 
-        //singleton org.keycloak.services.resources.ModelExceptionMapper
-
-        if (containsError) {
-            throw new RuntimeException(serverLog.getPath() + " contains ERROR.");
-        }
+        if (jbossHomePath != null && System.getProperty("check.server.log", "true").equals("true")) {
+            File serverLog = new File(jbossHomePath + "/standalone/log/server.log");
+            String serverLogContent = FileUtils.readFileToString(serverLog);
+
+            boolean containsError
+                    = serverLogContent.contains("ERROR")
+                    || serverLogContent.contains("SEVERE")
+                    || serverLogContent.contains("Exception ");
+            //There is expected string "Exception" in server log: Adding provider 
+            //singleton org.keycloak.services.resources.ModelExceptionMapper
+
+            if (containsError) {
+                throw new RuntimeException(serverLog.getPath() + " contains ERROR.");
+            }
+            log.info(serverLog.getPath() + " doesn't contain Error");
+        } 
     }
 
     public void beforeSuite(@Observes BeforeSuite event) {
diff --git a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java
index 589c316..b99d6b3 100644
--- a/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java
+++ b/testsuite/integration-arquillian/tests/base/src/main/java/org/keycloak/testsuite/arquillian/SuiteContext.java
@@ -10,24 +10,14 @@ import static org.keycloak.testsuite.util.MailServerConfiguration.*;
  */
 public final class SuiteContext {
 
-    private boolean adminPasswordUpdated;
     private final Map<String, String> smtpServer = new HashMap<>();
     
     public SuiteContext() {
-        this.adminPasswordUpdated = false;
         smtpServer.put("from", FROM);
         smtpServer.put("host", HOST);
         smtpServer.put("port", PORT);
     }
 
-    public boolean isAdminPasswordUpdated() {
-        return adminPasswordUpdated;
-    }
-
-    public void setAdminPasswordUpdated(boolean adminPasswordUpdated) {
-        this.adminPasswordUpdated = adminPasswordUpdated;
-    }
-
     public Map<String, String> getSmtpServer() {
         return smtpServer;
     }
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 13ec96e..9400f77 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
@@ -25,7 +25,6 @@ import org.keycloak.testsuite.util.OAuthClient;
 import org.openqa.selenium.WebDriver;
 import org.keycloak.testsuite.auth.page.AuthServer;
 import org.keycloak.testsuite.auth.page.AuthServerContextRoot;
-import static org.keycloak.testsuite.util.URLAssert.*;
 import org.keycloak.testsuite.auth.page.AuthRealm;
 import static org.keycloak.testsuite.auth.page.AuthRealm.ADMIN;
 import static org.keycloak.testsuite.auth.page.AuthRealm.MASTER;
@@ -90,12 +89,6 @@ public abstract class AbstractKeycloakTest {
 
         driverSettings();
 
-        if (!suiteContext.isAdminPasswordUpdated()) {
-            log.debug("updating admin password");
-            updateMasterAdminPassword();
-            suiteContext.setAdminPasswordUpdated(true);
-        }
-
         importTestRealms();
     }
 
@@ -106,13 +99,6 @@ public abstract class AbstractKeycloakTest {
         Timer.printStats();
     }
 
-    private void updateMasterAdminPassword() {
-        welcomePage.navigateTo();
-        if (!welcomePage.isPasswordSet()) {
-            welcomePage.setPassword("admin", "admin");
-        }
-    }
-
     public void deleteAllCookiesForMasterRealm() {
         masterRealmPage.navigateTo();
         log.debug("deleting cookies in master realm");
diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/keycloak-add-user.json b/testsuite/integration-arquillian/tests/base/src/test/resources/keycloak-add-user.json
index 635f144..60c0f09 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/resources/keycloak-add-user.json
+++ b/testsuite/integration-arquillian/tests/base/src/test/resources/keycloak-add-user.json
@@ -5,12 +5,11 @@
     "enabled" : true,
     "credentials" : [ {
       "type" : "password",
-      "hashedSaltedValue" : "6K5rvcPu3dXndZOhpzLAVbFtcdlUhbGCrUyV0NNzeS61IdhMpjH8Mf4y/Ag/vHZkw4Ayvtvb9/1iMNOzxR0M6g==",
-      "salt" : "/6M1jTMUB0uR8EOkksFn/A==",
+      "hashedSaltedValue" : "dqalJHLkWhUJZO/q6+z1fvXOohTcGCXcvoU8xCEyvTxGN4wmLx7DtyhKuefggh6Bkx1I2eBTEX4tiWggwyXMDw==",
+      "salt" : "3fBAt5GAGGxFrV9fznpZHQ==",
       "hashIterations" : 100000,
       "algorithm" : "pbkdf2"
     } ],
     "realmRoles" : [ "admin" ]
-  } ],
-  "identityFederationEnabled" : false
+  } ]
 } ]
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/pom.xml b/testsuite/integration-arquillian/tests/pom.xml
index fbc4914..d40218b 100644
--- a/testsuite/integration-arquillian/tests/pom.xml
+++ b/testsuite/integration-arquillian/tests/pom.xml
@@ -41,6 +41,7 @@
         <version.shrinkwrap.resolvers>2.1.1</version.shrinkwrap.resolvers>
         <skip.unpack.server>true</skip.unpack.server>
         <skip.unpack.previous>true</skip.unpack.previous>
+        <skip.install.adapters>true</skip.install.adapters>
     </properties>
 
     <dependencyManagement>
@@ -95,6 +96,7 @@
                             <auth.server.ssl.required>${auth.server.ssl.required}</auth.server.ssl.required>
                             <startup.timeout.sec>${startup.timeout.sec}</startup.timeout.sec>
                             <jboss.server.config.dir>${project.build.directory}/undertow-configuration</jboss.server.config.dir>
+                            <skip.install.adapters>${skip.install.adapters}</skip.install.adapters>
                         </systemPropertyVariables>
                         <properties>
                             <property>
@@ -152,6 +154,7 @@
                     </executions>
                 </plugin>
                 <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
                     <artifactId>maven-resources-plugin</artifactId>
                     <executions>
                         <execution>
@@ -416,6 +419,7 @@
                 <startup.timeout.sec>300</startup.timeout.sec>
                 <adapter.test.props/>
                 <keycloak.home>${containers.home}/keycloak-${project.version}</keycloak.home>
+                <jboss.server.config.dir>${keycloak.home}/standalone/configuration</jboss.server.config.dir>
             </properties>
             <dependencies>
                 <dependency>
@@ -448,7 +452,7 @@
                                         <goal>copy-resources</goal>
                                     </goals>
                                     <configuration>
-                                        <outputDirectory>${keycloak.home}/standalone/configuration</outputDirectory>
+                                        <outputDirectory>${jboss.server.config.dir}</outputDirectory>
                                         <resources>
                                             <resource>
                                                 <directory>src/test/resources</directory>
@@ -512,6 +516,7 @@
                 <startup.timeout.sec>300</startup.timeout.sec>
                 <adapter.test.props/>
                 <keycloak.home>${containers.home}/keycloak-${version.eap6.server.dist}</keycloak.home>
+                <jboss.server.config.dir>${keycloak.home}/standalone/configuration</jboss.server.config.dir>
             </properties>
             <dependencies>
                 <dependency>
@@ -570,7 +575,7 @@
                                         <goal>copy-resources</goal>
                                     </goals>
                                     <configuration>
-                                        <outputDirectory>${keycloak.home}/standalone/configuration</outputDirectory>
+                                        <outputDirectory>${jboss.server.config.dir}</outputDirectory>
                                         <resources>
                                             <resource>
                                                 <directory>src/test/resources</directory>