KEYCLOAK-3459 Adapt testsuite according to server configuration inside standalone.xml instead of keycloak-server.json
This commit is contained in:
parent
014c8e068f
commit
099de9e6e3
4 changed files with 84 additions and 163 deletions
|
@ -1,52 +0,0 @@
|
||||||
<!--
|
|
||||||
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
|
|
||||||
~ and other contributors as indicated by the @author tags.
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<project name="inject-truststore" basedir="." default="inject-truststore">
|
|
||||||
|
|
||||||
<scriptdef name="inject-truststore" language="javascript" manager="bsf">
|
|
||||||
<attribute name="path"/>
|
|
||||||
<![CDATA[
|
|
||||||
importClass(Packages.java.io.File);
|
|
||||||
importClass(Packages.org.keycloak.util.JsonSerialization);
|
|
||||||
|
|
||||||
path = attributes.get("path");
|
|
||||||
file = new File(path + "/standalone/configuration/keycloak-server.json");
|
|
||||||
root = JsonSerialization.mapper.readTree(file);
|
|
||||||
|
|
||||||
jNode = JsonSerialization.mapper.createObjectNode();
|
|
||||||
//jNode.put("file","${auth.server.home:" + path + "}/standalone/configuration/keycloak.truststore");
|
|
||||||
jNode.put("file","${jboss.home.dir}/standalone/configuration/keycloak.truststore");
|
|
||||||
jNode.put("password","secret");
|
|
||||||
jNode.put("hostname-verification-policy","WILDCARD");
|
|
||||||
jNode.put("disabled","false");
|
|
||||||
|
|
||||||
fileNode = JsonSerialization.mapper.createObjectNode();
|
|
||||||
fileNode.set("file", jNode);
|
|
||||||
truststoreNode = JsonSerialization.mapper.createObjectNode();
|
|
||||||
truststoreNode.set("truststore", fileNode);
|
|
||||||
|
|
||||||
root.putAll(truststoreNode);
|
|
||||||
|
|
||||||
// save file
|
|
||||||
JsonSerialization.prettyMapper.writeValue(file, root);
|
|
||||||
]]>
|
|
||||||
</scriptdef>
|
|
||||||
|
|
||||||
<target name="inject-truststore">
|
|
||||||
<inject-truststore path="${auth.server.home}"/>
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -1,42 +0,0 @@
|
||||||
<!--
|
|
||||||
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
|
|
||||||
~ and other contributors as indicated by the @author tags.
|
|
||||||
~
|
|
||||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
~ you may not use this file except in compliance with the License.
|
|
||||||
~ You may obtain a copy of the License at
|
|
||||||
~
|
|
||||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
~
|
|
||||||
~ Unless required by applicable law or agreed to in writing, software
|
|
||||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
~ See the License for the specific language governing permissions and
|
|
||||||
~ limitations under the License.
|
|
||||||
-->
|
|
||||||
|
|
||||||
<project name="inject-provider" basedir="." default="inject-provider">
|
|
||||||
|
|
||||||
<scriptdef name="inject-provider" language="javascript" manager="bsf">
|
|
||||||
<attribute name="path"/>
|
|
||||||
<![CDATA[
|
|
||||||
importClass(Packages.java.io.File);
|
|
||||||
importClass(Packages.org.keycloak.util.JsonSerialization);
|
|
||||||
|
|
||||||
path = attributes.get("path");
|
|
||||||
file = new File(path);
|
|
||||||
root = JsonSerialization.mapper.readTree(file);
|
|
||||||
|
|
||||||
// inject provider
|
|
||||||
providers = root.withArray("providers");
|
|
||||||
providers.add("module:org.keycloak.testsuite.integration-arquillian-testsuite-providers");
|
|
||||||
|
|
||||||
// save file
|
|
||||||
JsonSerialization.prettyMapper.writeValue(file, root);
|
|
||||||
]]>
|
|
||||||
</scriptdef>
|
|
||||||
|
|
||||||
<target name="inject-provider">
|
|
||||||
<inject-provider path="${auth.server.home}/standalone/configuration/keycloak-server.json"/>
|
|
||||||
</target>
|
|
||||||
</project>
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
<!--
|
||||||
|
~ Copyright 2016 Red Hat, Inc. and/or its affiliates
|
||||||
|
~ and other contributors as indicated by the @author tags.
|
||||||
|
~
|
||||||
|
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
~ you may not use this file except in compliance with the License.
|
||||||
|
~ You may obtain a copy of the License at
|
||||||
|
~
|
||||||
|
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
~
|
||||||
|
~ Unless required by applicable law or agreed to in writing, software
|
||||||
|
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
~ See the License for the specific language governing permissions and
|
||||||
|
~ limitations under the License.
|
||||||
|
-->
|
||||||
|
|
||||||
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||||
|
xmlns:xalan="http://xml.apache.org/xalan"
|
||||||
|
version="2.0"
|
||||||
|
exclude-result-prefixes="xalan">
|
||||||
|
|
||||||
|
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="4" standalone="no"/>
|
||||||
|
<xsl:strip-space elements="*"/>
|
||||||
|
|
||||||
|
<xsl:variable name="nsKS" select="'urn:jboss:domain:keycloak-server'"/>
|
||||||
|
<xsl:variable name="truststoreDefinition">
|
||||||
|
<spi name="truststore">
|
||||||
|
<provider name="file" enabled="true">
|
||||||
|
<properties>
|
||||||
|
<property name="file" value="${{jboss.home.dir}}/standalone/configuration/keycloak.truststore"/>
|
||||||
|
<property name="password" value="secret"/>
|
||||||
|
<property name="hostname-verification-policy" value="WILDCARD"/>
|
||||||
|
<property name="disabled" value="false"/>
|
||||||
|
</properties>
|
||||||
|
</provider>
|
||||||
|
</spi>
|
||||||
|
</xsl:variable>
|
||||||
|
|
||||||
|
<!--inject provider-->
|
||||||
|
<xsl:template match="//*[local-name()='providers']/*[local-name()='provider']">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="@*|node()" />
|
||||||
|
</xsl:copy>
|
||||||
|
<provider>
|
||||||
|
<xsl:text>module:org.keycloak.testsuite.integration-arquillian-testsuite-providers</xsl:text>
|
||||||
|
</provider>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--inject truststore-->
|
||||||
|
<xsl:template match="//*[local-name()='subsystem' and starts-with(namespace-uri(), $nsKS)]">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="@*|node()" />
|
||||||
|
<xsl:copy-of select="$truststoreDefinition"/>
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
<!--copy everything else-->
|
||||||
|
<xsl:template match="@*|node()">
|
||||||
|
<xsl:copy>
|
||||||
|
<xsl:apply-templates select="@*|node()" />
|
||||||
|
</xsl:copy>
|
||||||
|
</xsl:template>
|
||||||
|
|
||||||
|
</xsl:stylesheet>
|
|
@ -142,74 +142,6 @@
|
||||||
</execution>
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
|
||||||
<groupId>org.apache.maven.plugins</groupId>
|
|
||||||
<artifactId>maven-antrun-plugin</artifactId>
|
|
||||||
<version>1.8</version>
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>inject-into-keycloak-server-json</id>
|
|
||||||
<phase>process-resources</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>run</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<target>
|
|
||||||
<ant antfile="../build.xml" inheritRefs="true">
|
|
||||||
<target name="inject-provider"/>
|
|
||||||
</ant>
|
|
||||||
</target>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
<execution>
|
|
||||||
<id>inject-truststore-into-keycloak-server-json</id>
|
|
||||||
<phase>process-resources</phase>
|
|
||||||
<goals>
|
|
||||||
<goal>run</goal>
|
|
||||||
</goals>
|
|
||||||
<configuration>
|
|
||||||
<target>
|
|
||||||
<ant antfile="../build-truststore.xml" inheritRefs="true">
|
|
||||||
<target name="inject-truststore"/>
|
|
||||||
</ant>
|
|
||||||
</target>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
<dependencies>
|
|
||||||
<dependency>
|
|
||||||
<groupId>ant-contrib</groupId>
|
|
||||||
<artifactId>ant-contrib</artifactId>
|
|
||||||
<version>1.0b3</version>
|
|
||||||
<exclusions>
|
|
||||||
<exclusion>
|
|
||||||
<groupId>ant</groupId>
|
|
||||||
<artifactId>ant</artifactId>
|
|
||||||
</exclusion>
|
|
||||||
</exclusions>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.ant</groupId>
|
|
||||||
<artifactId>ant-apache-bsf</artifactId>
|
|
||||||
<version>1.9.3</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.apache.bsf</groupId>
|
|
||||||
<artifactId>bsf-api</artifactId>
|
|
||||||
<version>3.1</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>rhino</groupId>
|
|
||||||
<artifactId>js</artifactId>
|
|
||||||
<version>1.7R2</version>
|
|
||||||
</dependency>
|
|
||||||
<dependency>
|
|
||||||
<groupId>org.keycloak</groupId>
|
|
||||||
<artifactId>keycloak-core</artifactId>
|
|
||||||
<version>${project.version}</version>
|
|
||||||
</dependency>
|
|
||||||
</dependencies>
|
|
||||||
</plugin>
|
|
||||||
<plugin>
|
<plugin>
|
||||||
<artifactId>maven-enforcer-plugin</artifactId>
|
<artifactId>maven-enforcer-plugin</artifactId>
|
||||||
</plugin>
|
</plugin>
|
||||||
|
@ -247,6 +179,25 @@
|
||||||
</transformationSets>
|
</transformationSets>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
|
<execution>
|
||||||
|
<id>inject-provider-and-truststore</id>
|
||||||
|
<phase>process-resources</phase>
|
||||||
|
<goals>
|
||||||
|
<goal>transform</goal>
|
||||||
|
</goals>
|
||||||
|
<configuration>
|
||||||
|
<transformationSets>
|
||||||
|
<transformationSet>
|
||||||
|
<dir>${auth.server.home}/standalone/configuration</dir>
|
||||||
|
<includes>
|
||||||
|
<include>standalone.xml</include>
|
||||||
|
</includes>
|
||||||
|
<stylesheet>${common.resources}/keycloak-server-subsystem.xsl</stylesheet>
|
||||||
|
<outputDir>${auth.server.home}/standalone/configuration</outputDir>
|
||||||
|
</transformationSet>
|
||||||
|
</transformationSets>
|
||||||
|
</configuration>
|
||||||
|
</execution>
|
||||||
</executions>
|
</executions>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
@ -318,7 +269,6 @@
|
||||||
</build>
|
</build>
|
||||||
</profile>
|
</profile>
|
||||||
|
|
||||||
|
|
||||||
<!-- OPT-IN -->
|
<!-- OPT-IN -->
|
||||||
<profile>
|
<profile>
|
||||||
<id>server-overlay</id>
|
<id>server-overlay</id>
|
||||||
|
|
Loading…
Reference in a new issue