Remove old-WildFly, EAP 7.4 and 6.4 SAML adapters
Closes #28785 Signed-off-by: Douglas Palmer <dpalmer@redhat.com>
This commit is contained in:
parent
7bd48e9f9f
commit
051c0197db
46 changed files with 9 additions and 1680 deletions
|
@ -16,8 +16,6 @@ Submodules are enabled with profiles: `-Papp-server-MODULE`
|
|||
* __`wildfly9` Wildfly 9__
|
||||
* __`wildfly10` Wildfly 10__
|
||||
* __`wildfly` Wildfly 11__
|
||||
* __`eap6` EAP 6__ Requires access to EAP product repo, or setting `-Deap6.version` to public EAP 6 Alpha.
|
||||
* __`eap` EAP 7__ Requires access to EAP product repo.
|
||||
|
||||
### Adapter Configs Location
|
||||
|
||||
|
|
|
@ -1,82 +0,0 @@
|
|||
<?xml version="1.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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<parent>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
|
||||
<version>999.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>integration-arquillian-servers-app-server-eap</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>App Server - EAP</name>
|
||||
|
||||
<properties>
|
||||
<app.server.jboss>eap</app.server.jboss>
|
||||
|
||||
<app.server.jboss.groupId>org.jboss.eap</app.server.jboss.groupId>
|
||||
<app.server.jboss.artifactId>wildfly-ee-dist</app.server.jboss.artifactId>
|
||||
<app.server.jboss.version>${eap.version}</app.server.jboss.version>
|
||||
<app.server.jboss.unpacked.folder.name>jboss-eap-7.4</app.server.jboss.unpacked.folder.name>
|
||||
|
||||
<app.server.saml.adapter.artifactId>keycloak-saml-wildfly-adapter-dist</app.server.saml.adapter.artifactId>
|
||||
|
||||
<skip.elytron.adapter.installation>false</skip.elytron.adapter.installation>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-servers-app-server-spi</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-util</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>app-server-eap71</id>
|
||||
<properties>
|
||||
<app.server.jboss>eap71</app.server.jboss>
|
||||
<app.server.jboss.version>${eap71.version}</app.server.jboss.version>
|
||||
<app.server.jboss.unpacked.folder.name>jboss-eap-7.1</app.server.jboss.unpacked.folder.name>
|
||||
</properties>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>app-server-eap-java17</id>
|
||||
<activation>
|
||||
<jdk>[17,)</jdk>
|
||||
</activation>
|
||||
<properties>
|
||||
<skip.java17.enablement>false</skip.java17.enablement>
|
||||
</properties>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
|
@ -1,34 +0,0 @@
|
|||
/*
|
||||
* Copyright 2018 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.
|
||||
*/
|
||||
package org.keycloak.testsuite.arquillian.eap;
|
||||
|
||||
import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
|
||||
import org.jboss.arquillian.core.spi.LoadableExtension;
|
||||
import org.keycloak.testsuite.arquillian.eap.container.EAPDeploymentArchiveProcessor;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:vramik@redhat.com">Vlasta Ramik</a>
|
||||
*/
|
||||
public class EAPAppServerArquillianExtension implements LoadableExtension {
|
||||
|
||||
@Override
|
||||
public void register(ExtensionBuilder builder) {
|
||||
builder.service(ApplicationArchiveProcessor.class, EAPDeploymentArchiveProcessor.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,169 +0,0 @@
|
|||
/*
|
||||
* Copyright 2018 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.
|
||||
*/
|
||||
|
||||
package org.keycloak.testsuite.arquillian.eap.container;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.jboss.arquillian.core.spi.Validate;
|
||||
import org.jboss.as.arquillian.container.managed.ManagedDeployableContainer;
|
||||
import org.jboss.shrinkwrap.descriptor.spi.node.Node;
|
||||
import org.keycloak.testsuite.arquillian.container.AppServerContainerProvider;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:vramik@redhat.com">Vlasta Ramik</a>
|
||||
*/
|
||||
public class EAPAppServerProvider implements AppServerContainerProvider {
|
||||
|
||||
private Node configuration;
|
||||
|
||||
private final String containerName;
|
||||
private final String appServerHome;
|
||||
private final String appServerJavaHome;
|
||||
private final String appServerPortOffset;
|
||||
private final String managementProtocol;
|
||||
private final String managementPort;
|
||||
private final String startupTimeoutInSeconds;
|
||||
|
||||
public EAPAppServerProvider() {
|
||||
containerName = System.getProperty("app.server");
|
||||
appServerHome = System.getProperty("app.server.home");
|
||||
appServerJavaHome = System.getProperty("app.server.java.home");
|
||||
appServerPortOffset = System.getProperty("app.server.port.offset");
|
||||
managementProtocol = System.getProperty("app.server.management.protocol");
|
||||
managementPort = System.getProperty("app.server.management.port");
|
||||
startupTimeoutInSeconds = System.getProperty("app.server.startup.timeout");
|
||||
|
||||
Validate.notNullOrEmpty(containerName, "app.server is not set.");
|
||||
Validate.notNullOrEmpty(appServerHome, "app.server.home is not set.");
|
||||
Validate.notNullOrEmpty(appServerJavaHome, "app.server.java.home is not set.");
|
||||
Validate.notNullOrEmpty(appServerPortOffset, "app.server.port.offset is not set.");
|
||||
Validate.notNullOrEmpty(managementProtocol, "app.server.management.protocol is not set.");
|
||||
Validate.notNullOrEmpty(managementPort, "app.server.management.port is not set.");
|
||||
Validate.notNullOrEmpty(startupTimeoutInSeconds, "app.server.startup.timeout is not set.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return containerName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Node> getContainers() {
|
||||
List<Node> containers = new ArrayList<>();
|
||||
|
||||
containers.add(standaloneContainer());
|
||||
containers.add(clusterGroup());
|
||||
|
||||
return containers;
|
||||
}
|
||||
|
||||
private void createChild(String name, String text) {
|
||||
configuration.createChild("property").attribute("name", name).text(text);
|
||||
}
|
||||
|
||||
private Node standaloneContainer() {
|
||||
Node container = new Node("container");
|
||||
container.attribute("mode", "manual");
|
||||
container.attribute("qualifier", AppServerContainerProvider.APP_SERVER + "-" + containerName);
|
||||
|
||||
configuration = container.createChild("configuration");
|
||||
createChild("enabled", "true");
|
||||
createChild("adapterImplClass", ManagedDeployableContainer.class.getName());
|
||||
createChild("jbossHome", appServerHome);
|
||||
createChild("javaHome", appServerJavaHome);
|
||||
createChild("jbossArguments",
|
||||
"-Djboss.server.base.dir=" + appServerHome + "/standalone-test " +
|
||||
"-Djboss.server.config.dir=" + appServerHome + "/standalone-test/configuration " +
|
||||
"-Djboss.server.log.dir=" + appServerHome + "/standalone-test/log " +
|
||||
"-Djboss.socket.binding.port-offset=" + appServerPortOffset + " " +
|
||||
System.getProperty("adapter.test.props", " ") +
|
||||
System.getProperty("kie.maven.settings", " ")
|
||||
);
|
||||
createChild("javaVmArguments",
|
||||
System.getProperty("app.server.jboss.jvm.debug.args", "") + " " +
|
||||
System.getProperty("app.server.memory.settings", "") + " " +
|
||||
"-Djava.net.preferIPv4Stack=true" + " " +
|
||||
System.getProperty("app.server.jvm.args.extra")
|
||||
);
|
||||
createChild("managementProtocol", managementProtocol);
|
||||
createChild("managementPort", managementPort);
|
||||
createChild("startupTimeoutInSeconds", startupTimeoutInSeconds);
|
||||
|
||||
return container;
|
||||
}
|
||||
|
||||
private Node clusterGroup() {
|
||||
Node group = new Node("group");
|
||||
group.attribute("qualifier", "app-server-eap-clustered");
|
||||
addHaNodeContainer(group, 1);
|
||||
addHaNodeContainer(group, 2);
|
||||
return group;
|
||||
}
|
||||
|
||||
private void addHaNodeContainer(Node group, int number) {
|
||||
String portOffset = System.getProperty("app.server." + number + ".port.offset");
|
||||
String managementPort = System.getProperty("app.server." + number + ".management.port");
|
||||
|
||||
Validate.notNullOrEmpty(portOffset, "app.server." + number + ".port.offset is not set.");
|
||||
Validate.notNullOrEmpty(managementPort, "app.server." + number + ".management.port is not set.");
|
||||
|
||||
Node container = group.createChild("container");
|
||||
container.attribute("mode", "manual");
|
||||
container.attribute("qualifier", AppServerContainerProvider.APP_SERVER + "-" + containerName + "-ha-node-" + number);
|
||||
|
||||
configuration = container.createChild("configuration");
|
||||
createChild("enabled", "true");
|
||||
createChild("adapterImplClass", ManagedDeployableContainer.class.getName());
|
||||
createChild("jbossHome", appServerHome);
|
||||
createChild("javaHome", appServerJavaHome);
|
||||
//cleanServerBaseDir cannot be used until WFARQ-44 is fixed
|
||||
// createChild("cleanServerBaseDir", appServerHome + "/standalone-ha-node-" + number);
|
||||
createChild("serverConfig", "standalone-ha.xml");
|
||||
createChild("jbossArguments",
|
||||
"-Djboss.server.base.dir=" + appServerHome + "/standalone-ha-node-" + number + " " +
|
||||
"-Djboss.socket.binding.port-offset=" + portOffset + " " +
|
||||
"-Djboss.node.name=ha-node-" + number + " " +
|
||||
getCrossDCProperties(number, portOffset) +
|
||||
System.getProperty("adapter.test.props", " ") +
|
||||
System.getProperty("kie.maven.settings", " ")
|
||||
);
|
||||
createChild("javaVmArguments",
|
||||
System.getProperty("app.server." + number + ".jboss.jvm.debug.args") + " " +
|
||||
System.getProperty("app.server.memory.settings", "") + " " +
|
||||
"-Djava.net.preferIPv4Stack=true" + " " +
|
||||
System.getProperty("app.server.jvm.args.extra")
|
||||
);
|
||||
createChild("managementProtocol", managementProtocol);
|
||||
createChild("managementPort", managementPort);
|
||||
createChild("startupTimeoutInSeconds", startupTimeoutInSeconds);
|
||||
}
|
||||
|
||||
private String getCrossDCProperties(int number, String portOffset) {
|
||||
if (System.getProperty("cache.server") == null || System.getProperty("cache.server").equals("undefined")) {
|
||||
return "";
|
||||
}
|
||||
String cacheHotrodPortString = System.getProperty("cache.server." + number + ".port.offset");
|
||||
Validate.notNullOrEmpty(cacheHotrodPortString, "cache.server." + number + ".port.offset is not set.");
|
||||
|
||||
int tcppingPort = 7600 + Integer.parseInt(portOffset);
|
||||
int cacheHotrodPort = 11222 + Integer.parseInt(cacheHotrodPortString);
|
||||
|
||||
//properties used in servers/app-server/jboss/common/cli/configure-crossdc-config.cli
|
||||
return "-Dtcpping.port=" + tcppingPort + " -Dcache.hotrod.port=" + cacheHotrodPort + " ";
|
||||
}
|
||||
}
|
|
@ -1,59 +0,0 @@
|
|||
/*
|
||||
* Copyright 2018 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.
|
||||
*/
|
||||
package org.keycloak.testsuite.arquillian.eap.container;
|
||||
|
||||
import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
|
||||
import org.jboss.arquillian.test.spi.TestClass;
|
||||
import org.jboss.logging.Logger;
|
||||
import org.jboss.shrinkwrap.api.Archive;
|
||||
import org.keycloak.testsuite.utils.arquillian.DeploymentArchiveProcessorUtils;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:vramik@redhat.com">Vlasta Ramik</a>
|
||||
*/
|
||||
public class EAPDeploymentArchiveProcessor implements ApplicationArchiveProcessor {
|
||||
|
||||
private final Logger log = Logger.getLogger(EAPDeploymentArchiveProcessor.class);
|
||||
|
||||
@Override
|
||||
public void process(Archive<?> archive, TestClass testClass) {
|
||||
if (DeploymentArchiveProcessorUtils.checkRunOnServerDeployment(archive)) return;
|
||||
|
||||
modifyOIDCAdapterConfig(archive, DeploymentArchiveProcessorUtils.ADAPTER_CONFIG_PATH);
|
||||
modifyOIDCAdapterConfig(archive, DeploymentArchiveProcessorUtils.ADAPTER_CONFIG_PATH_JS);
|
||||
|
||||
modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH);
|
||||
modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH_TENANT1);
|
||||
modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH_TENANT2);
|
||||
}
|
||||
|
||||
private void modifyOIDCAdapterConfig(Archive<?> archive, String adapterConfigPath) {
|
||||
if (!archive.contains(adapterConfigPath)) return;
|
||||
|
||||
log.debug("Modifying adapter config " + adapterConfigPath + " in " + archive.getName());
|
||||
|
||||
DeploymentArchiveProcessorUtils.modifyOIDCAdapterConfig(archive, adapterConfigPath);
|
||||
}
|
||||
|
||||
private void modifySAMLAdapterConfig(Archive<?> archive, String adapterConfigPath) {
|
||||
if (!archive.contains(adapterConfigPath)) return;
|
||||
|
||||
log.debug("Modifying adapter config " + adapterConfigPath + " in " + archive.getName());
|
||||
DeploymentArchiveProcessorUtils.modifySAMLAdapterConfig(archive, adapterConfigPath);
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
org.keycloak.testsuite.arquillian.eap.EAPAppServerArquillianExtension
|
|
@ -1 +0,0 @@
|
|||
org.keycloak.testsuite.arquillian.eap.container.EAPAppServerProvider
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -1,301 +0,0 @@
|
|||
<?xml version="1.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 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<parent>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-servers-app-server-jboss</artifactId>
|
||||
<version>999.0.0-SNAPSHOT</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>integration-arquillian-servers-app-server-eap6</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>App Server - EAP 6</name>
|
||||
|
||||
<properties>
|
||||
<app.server.jboss>eap6</app.server.jboss>
|
||||
|
||||
<app.server.jboss.groupId>org.jboss.as</app.server.jboss.groupId>
|
||||
<app.server.jboss.artifactId>jboss-as-dist</app.server.jboss.artifactId>
|
||||
<app.server.jboss.version>${eap6.version}</app.server.jboss.version>
|
||||
<app.server.jboss.unpacked.folder.name>jboss-eap-6.4</app.server.jboss.unpacked.folder.name>
|
||||
|
||||
<fuse.installer.groupId>com.redhat.fuse.eap</fuse.installer.groupId>
|
||||
<fuse.installer.artifactId>fuse-eap-installer</fuse.installer.artifactId>
|
||||
<fuse.installer.version>${fuse63.version}</fuse.installer.version>
|
||||
|
||||
<app.server.saml.adapter.artifactId>keycloak-saml-eap6-adapter-dist</app.server.saml.adapter.artifactId>
|
||||
<skip.apply.offline.cli>true</skip.apply.offline.cli>
|
||||
<skip.configure.clustered.scenario>true</skip.configure.clustered.scenario>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-servers-app-server-spi</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.wildfly.arquillian</groupId>
|
||||
<artifactId>wildfly-arquillian-container-managed</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-util</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>install-adapters-online-standalone</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${basedir}/src/main/resources/config/install-adapters-online.${script.suffix}</executable>
|
||||
<workingDirectory>${app.server.jboss.home}/bin</workingDirectory>
|
||||
<environmentVariables>
|
||||
<JAVA_HOME>${app.server.java.home}</JAVA_HOME>
|
||||
<JBOSS_HOME>${app.server.jboss.home}</JBOSS_HOME>
|
||||
<SAML_SUPPORTED>${app.server.saml.adapter.supported}</SAML_SUPPORTED>
|
||||
<CLI_PATH>${basedir}/src/main/resources/config/cli/</CLI_PATH>
|
||||
</environmentVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>install-adapters-online-standalone-ha</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${basedir}/src/main/resources/config/install-adapters-online-ha.${script.suffix}</executable>
|
||||
<workingDirectory>${app.server.jboss.home}/bin</workingDirectory>
|
||||
<environmentVariables>
|
||||
<JAVA_HOME>${app.server.java.home}</JAVA_HOME>
|
||||
<JBOSS_HOME>${app.server.jboss.home}</JBOSS_HOME>
|
||||
<CLI_PATH>${basedir}/src/main/resources/config/cli/</CLI_PATH>
|
||||
</environmentVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>add-secured-deployments-eap6</id>
|
||||
<phase>generate-test-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${basedir}/src/main/resources/config/add-secured-deployments.${script.suffix}</executable>
|
||||
<workingDirectory>${app.server.jboss.home}/bin</workingDirectory>
|
||||
<environmentVariables>
|
||||
<JAVA_HOME>${app.server.java.home}</JAVA_HOME>
|
||||
<JBOSS_HOME>${app.server.jboss.home}</JBOSS_HOME>
|
||||
<CLI_PATH>${basedir}/src/main/resources/config/cli/</CLI_PATH>
|
||||
</environmentVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
|
||||
<profiles>
|
||||
<profile>
|
||||
<id>fuse-installer</id>
|
||||
<activation>
|
||||
<os>
|
||||
<family>unix</family>
|
||||
</os>
|
||||
</activation>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-enforcer-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>enforce-fuse63-version</id>
|
||||
<goals>
|
||||
<goal>enforce</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<rules>
|
||||
<requireProperty>
|
||||
<property>fuse63.version</property>
|
||||
</requireProperty>
|
||||
</rules>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>backup-configs-fuse</id>
|
||||
<phase>generate-test-sources</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${app.server.jboss.home}/standalone-default</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${app.server.jboss.home}/standalone</directory>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-hawtio-jsons</id>
|
||||
<phase>generate-test-resources</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${app.server.jboss.home}/standalone-fuse/configuration</outputDirectory>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>${basedir}/src/main/resources/config/fuse</directory>
|
||||
<includes>
|
||||
<include>keycloak-hawtio.json</include>
|
||||
<include>keycloak-hawtio-client.json</include>
|
||||
</includes>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-dependency-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>unpack-fuse-installer</id>
|
||||
<phase>process-resources</phase>
|
||||
<goals>
|
||||
<goal>copy</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<artifactItems>
|
||||
<artifactItem>
|
||||
<groupId>${fuse.installer.groupId}</groupId>
|
||||
<artifactId>${fuse.installer.artifactId}</artifactId>
|
||||
<version>${fuse.installer.version}</version>
|
||||
<type>jar</type>
|
||||
<outputDirectory>${app.server.jboss.home}</outputDirectory>
|
||||
</artifactItem>
|
||||
</artifactItems>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>exec-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>install-fuse</id>
|
||||
<phase>generate-test-sources</phase>
|
||||
<goals>
|
||||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<executable>${basedir}/src/main/resources/config/fuse/install-fuse.${script.suffix}</executable>
|
||||
<workingDirectory>${app.server.jboss.home}/standalone-fuse</workingDirectory>
|
||||
<environmentVariables>
|
||||
<JAVA_HOME>${app.server.java.home}</JAVA_HOME>
|
||||
<JBOSS_HOME>${app.server.jboss.home}</JBOSS_HOME>
|
||||
<FUSE_INSTALLER_NAME>${fuse.installer.artifactId}-${fuse.installer.version}.jar</FUSE_INSTALLER_NAME>
|
||||
</environmentVariables>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>xml-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>add-hawtio-to-standalone-fuse</id>
|
||||
<phase>process-test-resources</phase>
|
||||
<goals>
|
||||
<goal>transform</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<transformationSets>
|
||||
<transformationSet>
|
||||
<dir>${app.server.jboss.home}/standalone-fuse/configuration</dir>
|
||||
<includes>
|
||||
<include>standalone.xml</include>
|
||||
</includes>
|
||||
<stylesheet>${basedir}/src/main/resources/config/fuse/add-hawtio.xsl</stylesheet>
|
||||
<outputDir>${app.server.jboss.home}/standalone-fuse/configuration</outputDir>
|
||||
</transformationSet>
|
||||
</transformationSets>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>move-configs-fuse</id>
|
||||
<phase>process-test-sources</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<target>
|
||||
<echo message="Rename ./standalone to ./standalone-fuse" />
|
||||
<move file="${app.server.jboss.home}/standalone"
|
||||
tofile="${app.server.jboss.home}/standalone-fuse" />
|
||||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>restore-configs-after-fuse-installation</id>
|
||||
<phase>process-test-sources</phase>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<target>
|
||||
<echo message="Rename ./standalone-default to ./standalone" />
|
||||
<move file="${app.server.jboss.home}/standalone-default"
|
||||
tofile="${app.server.jboss.home}/standalone" />
|
||||
</target>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
</project>
|
|
@ -1,34 +0,0 @@
|
|||
/*
|
||||
* Copyright 2018 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.
|
||||
*/
|
||||
package org.keycloak.testsuite.arquillian.eap;
|
||||
|
||||
import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
|
||||
import org.jboss.arquillian.core.spi.LoadableExtension;
|
||||
import org.keycloak.testsuite.arquillian.eap.container.EAP6DeploymentArchiveProcessor;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:vramik@redhat.com">Vlasta Ramik</a>
|
||||
*/
|
||||
public class EAP6AppServerArquillianExtension implements LoadableExtension {
|
||||
|
||||
@Override
|
||||
public void register(ExtensionBuilder builder) {
|
||||
builder.service(ApplicationArchiveProcessor.class, EAP6DeploymentArchiveProcessor.class);
|
||||
}
|
||||
|
||||
}
|
|
@ -1,151 +0,0 @@
|
|||
/*
|
||||
* Copyright 2018 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.
|
||||
*/
|
||||
|
||||
package org.keycloak.testsuite.arquillian.eap.container;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import org.jboss.arquillian.core.spi.Validate;
|
||||
import org.jboss.as.arquillian.container.managed.ManagedDeployableContainer;
|
||||
import org.jboss.shrinkwrap.descriptor.spi.node.Node;
|
||||
import org.keycloak.testsuite.arquillian.container.AppServerContainerProvider;
|
||||
|
||||
/**
|
||||
* @author <a href="mailto:vramik@redhat.com">Vlasta Ramik</a>
|
||||
*/
|
||||
public class EAP6AppServerProvider implements AppServerContainerProvider {
|
||||
|
||||
private Node configuration;
|
||||
private static final String containerName = "eap6";
|
||||
|
||||
private final String appServerHome;
|
||||
private final String appServerJavaHome;
|
||||
private final String appServerPortOffset;
|
||||
private final String managementProtocol;
|
||||
private final String managementPort;
|
||||
private final String startupTimeoutInSeconds;
|
||||
|
||||
public EAP6AppServerProvider() {
|
||||
appServerHome = System.getProperty("app.server.home");
|
||||
appServerJavaHome = System.getProperty("app.server.java.home");
|
||||
appServerPortOffset = System.getProperty("app.server.port.offset");
|
||||
managementProtocol = System.getProperty("app.server.management.protocol");
|
||||
managementPort = System.getProperty("app.server.management.port");
|
||||
startupTimeoutInSeconds = System.getProperty("app.server.startup.timeout");
|
||||
|
||||
Validate.notNullOrEmpty(appServerHome, "app.server.home is not set.");
|
||||
Validate.notNullOrEmpty(appServerJavaHome, "app.server.java.home is not set.");
|
||||
Validate.notNullOrEmpty(appServerPortOffset, "app.server.port.offset is not set.");
|
||||
Validate.notNullOrEmpty(managementProtocol, "app.server.management.protocol is not set.");
|
||||
Validate.notNullOrEmpty(managementPort, "app.server.management.port is not set.");
|
||||
Validate.notNullOrEmpty(startupTimeoutInSeconds, "app.server.startup.timeout is not set.");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return containerName;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Node> getContainers() {
|
||||
List<Node> containers = new ArrayList<>();
|
||||
|
||||
containers.add(standaloneContainer());
|
||||
containers.add(clusterGroup());
|
||||
|
||||
return containers;
|
||||
}
|
||||
|
||||
private void createChild(String name, String text) {
|
||||
configuration.createChild("property").attribute("name", name).text(text);
|
||||
}
|
||||
|
||||
private Node standaloneContainer() {
|
||||
Node container = new Node("container");
|
||||
container.attribute("mode", "manual");
|
||||
container.attribute("qualifier", AppServerContainerProvider.APP_SERVER + "-" + containerName);
|
||||
|
||||
configuration = container.createChild("configuration");
|
||||
createChild("enabled", "true");
|
||||
createChild("adapterImplClass", ManagedDeployableContainer.class.getName());
|
||||
createChild("jbossHome", appServerHome);
|
||||
createChild("javaHome", appServerJavaHome);
|
||||
createChild("jbossArguments",
|
||||
"-Djboss.server.base.dir=" + appServerHome + "/standalone-test " +
|
||||
"-Djboss.server.config.dir=" + appServerHome + "/standalone-test/configuration " +
|
||||
"-Djboss.server.log.dir=" + appServerHome + "/standalone-test/log " +
|
||||
"-Djboss.socket.binding.port-offset=" + appServerPortOffset + " " +
|
||||
System.getProperty("adapter.test.props", " ") +
|
||||
System.getProperty("kie.maven.settings", " ")
|
||||
);
|
||||
createChild("javaVmArguments",
|
||||
System.getProperty("app.server.jboss.jvm.debug.args", "") + " " +
|
||||
System.getProperty("app.server.memory.settings", "") + " " +
|
||||
"-Djava.net.preferIPv4Stack=true"
|
||||
);
|
||||
createChild("managementProtocol", managementProtocol);
|
||||
createChild("managementPort", managementPort);
|
||||
createChild("startupTimeoutInSeconds", startupTimeoutInSeconds);
|
||||
|
||||
return container;
|
||||
}
|
||||
|
||||
private Node clusterGroup() {
|
||||
Node group = new Node("group");
|
||||
group.attribute("qualifier", "app-server-eap-clustered");
|
||||
addHaNodeContainer(group, 1);
|
||||
addHaNodeContainer(group, 2);
|
||||
return group;
|
||||
}
|
||||
|
||||
private void addHaNodeContainer(Node group, int number) {
|
||||
String portOffset = System.getProperty("app.server." + number + ".port.offset");
|
||||
String managementPort = System.getProperty("app.server." + number + ".management.port");
|
||||
|
||||
Validate.notNullOrEmpty(portOffset, "app.server." + number + ".port.offset is not set.");
|
||||
Validate.notNullOrEmpty(managementPort, "app.server." + number + ".management.port is not set.");
|
||||
|
||||
Node container = group.createChild("container");
|
||||
container.attribute("mode", "manual");
|
||||
container.attribute("qualifier", AppServerContainerProvider.APP_SERVER + "-" + containerName + "-ha-node-" + number);
|
||||
|
||||
configuration = container.createChild("configuration");
|
||||
createChild("enabled", "true");
|
||||
createChild("adapterImplClass", ManagedDeployableContainer.class.getName());
|
||||
createChild("jbossHome", appServerHome);
|
||||
createChild("javaHome", appServerJavaHome);
|
||||
//cleanServerBaseDir cannot be used until WFARQ-44 is fixed
|
||||
// createChild("cleanServerBaseDir", appServerHome + "/standalone-ha-node-" + number);
|
||||
createChild("serverConfig", "standalone-ha.xml");
|
||||
createChild("jbossArguments",
|
||||
"-Djboss.server.base.dir=" + appServerHome + "/standalone-ha-node-" + number + " " +
|
||||
"-Djboss.server.config.dir=" + appServerHome + "/standalone-ha-node-" + number + "/configuration " +
|
||||
"-Djboss.socket.binding.port-offset=" + portOffset + " " +
|
||||
"-Djboss.node.name=ha-node-" + number + " " +
|
||||
System.getProperty("adapter.test.props", " ") + " " +
|
||||
System.getProperty("kie.maven.settings", " ")
|
||||
);
|
||||
createChild("javaVmArguments",
|
||||
System.getProperty("app.server." + number + ".jboss.jvm.debug.args") + " " +
|
||||
System.getProperty("app.server.memory.settings", "") + " " +
|
||||
"-Djava.net.preferIPv4Stack=true"
|
||||
);
|
||||
createChild("managementProtocol", managementProtocol);
|
||||
createChild("managementPort", managementPort);
|
||||
createChild("startupTimeoutInSeconds", startupTimeoutInSeconds);
|
||||
}
|
||||
}
|
|
@ -1,87 +0,0 @@
|
|||
/*
|
||||
* Copyright 2018 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.
|
||||
*/
|
||||
package org.keycloak.testsuite.arquillian.eap.container;
|
||||
|
||||
import org.jboss.arquillian.container.test.spi.client.deployment.ApplicationArchiveProcessor;
|
||||
import org.jboss.arquillian.test.spi.TestClass;
|
||||
import org.jboss.logging.Logger;
|
||||
import org.jboss.shrinkwrap.api.Archive;
|
||||
import org.jboss.shrinkwrap.api.asset.StringAsset;
|
||||
import org.keycloak.testsuite.utils.annotation.UseServletFilter;
|
||||
import org.keycloak.testsuite.utils.arquillian.DeploymentArchiveProcessorUtils;
|
||||
import static org.keycloak.testsuite.utils.arquillian.DeploymentArchiveProcessorUtils.WEBXML_PATH;
|
||||
import org.keycloak.testsuite.utils.io.IOUtil;
|
||||
import org.w3c.dom.Document;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author <a href="mailto:vramik@redhat.com">Vlasta Ramik</a>
|
||||
*/
|
||||
public class EAP6DeploymentArchiveProcessor implements ApplicationArchiveProcessor {
|
||||
|
||||
private final Logger log = Logger.getLogger(EAP6DeploymentArchiveProcessor.class);
|
||||
|
||||
@Override
|
||||
public void process(Archive<?> archive, TestClass testClass) {
|
||||
if (DeploymentArchiveProcessorUtils.checkRunOnServerDeployment(archive)) return;
|
||||
|
||||
modifyWebXML(archive, testClass);
|
||||
|
||||
modifyOIDCAdapterConfig(archive, DeploymentArchiveProcessorUtils.ADAPTER_CONFIG_PATH);
|
||||
modifyOIDCAdapterConfig(archive, DeploymentArchiveProcessorUtils.ADAPTER_CONFIG_PATH_JS);
|
||||
|
||||
modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH);
|
||||
modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH_TENANT1);
|
||||
modifySAMLAdapterConfig(archive, DeploymentArchiveProcessorUtils.SAML_ADAPTER_CONFIG_PATH_TENANT2);
|
||||
}
|
||||
|
||||
private void modifyWebXML(Archive<?> archive, TestClass testClass) {
|
||||
if (!archive.contains(DeploymentArchiveProcessorUtils.WEBXML_PATH)) return;
|
||||
if (testClass.getJavaClass().isAnnotationPresent(UseServletFilter.class) &&
|
||||
archive.contains(DeploymentArchiveProcessorUtils.JBOSS_DEPLOYMENT_XML_PATH)) {
|
||||
log.debug("Modifying WEB.XML in " + archive.getName() + " for Servlet Filter.");
|
||||
DeploymentArchiveProcessorUtils.modifyWebXMLForServletFilter(archive, testClass);
|
||||
DeploymentArchiveProcessorUtils.addFilterDependencies(archive, testClass);
|
||||
}
|
||||
|
||||
try {
|
||||
Document webXmlDoc = IOUtil.loadXML(archive.get(DeploymentArchiveProcessorUtils.WEBXML_PATH).getAsset().openStream());
|
||||
|
||||
IOUtil.modifyDocElementValue(webXmlDoc, "param-value", ".*infinispan\\.InfinispanSessionCacheIdMapperUpdater",
|
||||
"org.keycloak.adapters.saml.jbossweb.infinispan.InfinispanSessionCacheIdMapperUpdater");
|
||||
|
||||
archive.add(new StringAsset((IOUtil.documentToString(webXmlDoc))), WEBXML_PATH);
|
||||
} catch (IllegalArgumentException ex) {
|
||||
throw new RuntimeException("Error when processing " + archive.getName(), ex);
|
||||
}
|
||||
}
|
||||
|
||||
private void modifyOIDCAdapterConfig(Archive<?> archive, String adapterConfigPath) {
|
||||
if (!archive.contains(adapterConfigPath)) return;
|
||||
|
||||
log.debug("Modifying adapter config " + adapterConfigPath + " in " + archive.getName());
|
||||
|
||||
DeploymentArchiveProcessorUtils.modifyOIDCAdapterConfig(archive, adapterConfigPath);
|
||||
}
|
||||
|
||||
private void modifySAMLAdapterConfig(Archive<?> archive, String adapterConfigPath) {
|
||||
if (!archive.contains(adapterConfigPath)) return;
|
||||
|
||||
log.debug("Modifying adapter config " + adapterConfigPath + " in " + archive.getName());
|
||||
DeploymentArchiveProcessorUtils.modifySAMLAdapterConfig(archive, adapterConfigPath);
|
||||
}
|
||||
}
|
|
@ -1 +0,0 @@
|
|||
org.keycloak.testsuite.arquillian.eap.EAP6AppServerArquillianExtension
|
|
@ -1 +0,0 @@
|
|||
org.keycloak.testsuite.arquillian.eap.container.EAP6AppServerProvider
|
|
@ -1,35 +0,0 @@
|
|||
set NOPAUSE=true
|
||||
|
||||
start "JBoss Server" /b cmd /c %JBOSS_HOME%\bin\standalone.bat -Djboss.server.config.dir=%JBOSS_HOME%\standalone-secured-deployments\configuration
|
||||
|
||||
set ERROR=0
|
||||
set TIMEOUT=10
|
||||
set I=0
|
||||
|
||||
ping 127.0.0.1 -n 3 > nul
|
||||
|
||||
|
||||
:wait_for_jboss
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":read-attribute(name=server-state)" | findstr "running"
|
||||
if %ERRORLEVEL% equ 0 goto add_secured_deployments
|
||||
ping 127.0.0.1 -n 1 > nul
|
||||
set /a I=%I%+1
|
||||
if %I% gtr %TIMEOUT% (
|
||||
set ERROR=1
|
||||
goto shutdown_jboss
|
||||
)
|
||||
goto wait_for_jboss
|
||||
|
||||
|
||||
:add_secured_deployments
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%CLI_PATH%\add-secured-deployments.cli"
|
||||
set ERROR=%ERRORLEVEL%
|
||||
echo Error code: "%ERROR%"
|
||||
if %ERROR% neq 0 (
|
||||
goto shutdown_jboss
|
||||
)
|
||||
|
||||
:shutdown_jboss
|
||||
echo Shutting down with error code: "%ERROR%"
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":shutdown"
|
||||
exit /b %ERROR%
|
|
@ -1,41 +0,0 @@
|
|||
#!/bin/bash
|
||||
echo "JBOSS_HOME=$JBOSS_HOME"
|
||||
|
||||
if [ ! -d "$JBOSS_HOME/bin" ] ; then
|
||||
>&2 echo "JBOSS_HOME/bin doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $JBOSS_HOME/bin
|
||||
|
||||
./standalone.sh -Djboss.server.config.dir=$JBOSS_HOME/standalone-secured-deployments/configuration &
|
||||
sleep 3
|
||||
|
||||
TIMEOUT=10
|
||||
DELAY=1
|
||||
T=0
|
||||
|
||||
RESULT=0
|
||||
|
||||
until [ $T -gt $TIMEOUT ]
|
||||
do
|
||||
if ./jboss-cli.sh -c --command=":read-attribute(name=server-state)" | grep -q "running" ; then
|
||||
echo "Server is running. Adding secured deployments"
|
||||
|
||||
./jboss-cli.sh -c --file="$CLI_PATH/add-secured-deployments.cli"
|
||||
RESULT=$?
|
||||
echo "Return code:"${RESULT}
|
||||
|
||||
./jboss-cli.sh -c --command=":shutdown"
|
||||
rm -rf $JBOSS_HOME/standalone/data
|
||||
rm -rf $JBOSS_HOME/standalone/log
|
||||
|
||||
echo "Exiting with return code: "$RESULT
|
||||
exit $RESULT
|
||||
fi
|
||||
echo "Server is not running."
|
||||
sleep $DELAY
|
||||
let T=$T+$DELAY
|
||||
done
|
||||
|
||||
exit 1
|
|
@ -1,2 +0,0 @@
|
|||
/subsystem=logging/logger=org.keycloak.adapters:add(level=DEBUG)
|
||||
/subsystem=logging/console-handler=CONSOLE:change-log-level(level=DEBUG)
|
|
@ -1,19 +0,0 @@
|
|||
/subsystem=keycloak/secure-deployment=customer-portal-subsystem.war/:add( \
|
||||
realm=demo, \
|
||||
resource=customer-portal-subsystem, \
|
||||
auth-server-url=${auth.server.actual.protocol:https}://${auth.server.host:localhost}:${auth.server.actual.http.port:8543}/auth, \
|
||||
ssl-required=EXTERNAL, \
|
||||
disable-trust-manager=true, \
|
||||
realm-public-key=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB \
|
||||
)
|
||||
/subsystem=keycloak/secure-deployment=customer-portal-subsystem.war/credential=secret/:add(value=password)
|
||||
|
||||
/subsystem=keycloak/secure-deployment=product-portal-subsystem.war/:add( \
|
||||
realm=demo, \
|
||||
resource=product-portal-subsystem, \
|
||||
auth-server-url=${auth.server.actual.protocol:https}://${auth.server.host:localhost}:${auth.server.actual.https.port:8543}/auth, \
|
||||
ssl-required=EXTERNAL, \
|
||||
disable-trust-manager=true, \
|
||||
realm-public-key=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCrVrCuTtArbgaZzL1hvh0xtL5mc7o0NqPVnYXkLvgcwiC3BjLGw1tGEGoJaXDuSaRllobm53JBhjx33UNv+5z/UMG4kytBWxheNVKnL6GgqlNabMaFfPLPCF8kAgKnsi79NMo+n6KnSY8YeUmec/p2vjO2NjsSAVcWEQMVhJ31LwIDAQAB \
|
||||
)
|
||||
/subsystem=keycloak/secure-deployment=product-portal-subsystem.war/credential=secret/:add(value=password)
|
|
@ -1,21 +0,0 @@
|
|||
batch
|
||||
/subsystem=jgroups/stack=tcpping:add
|
||||
/subsystem=jgroups/stack=tcpping/transport=TRANSPORT:add(type=TCP,socket-binding=jgroups-tcp)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=TCPPING)
|
||||
/subsystem=jgroups/stack=tcpping/protocol=TCPPING/property=initial_hosts/:add(value=${initial.hosts:localhost[7900],localhost[8000]})
|
||||
/subsystem=jgroups/stack=tcpping/protocol=TCPPING/property=port_range:add(value=0)
|
||||
/subsystem=jgroups/stack=tcpping/protocol=TCPPING/property=num_initial_members:add(value=2)
|
||||
/subsystem=jgroups/stack=tcpping/protocol=TCPPING/property=timeout:add(value=3000)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=MERGE2)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=FD_SOCK,socket-binding=jgroups-udp-fd)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=FD)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=VERIFY_SUSPECT)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=pbcast.NAKACK)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=UNICAST2)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=pbcast.STABLE)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=pbcast.GMS)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=UFC)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=MFC)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=FRAG2)
|
||||
/subsystem=jgroups/stack=tcpping:add-protocol(type=RSVP)
|
||||
run-batch
|
|
@ -1,30 +0,0 @@
|
|||
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
|
||||
|
||||
<xsl:variable name="keycloakNamespace" select="'urn:jboss:domain:keycloak:'"/>
|
||||
|
||||
<xsl:template match="@* | node()">
|
||||
<xsl:copy>
|
||||
<xsl:apply-templates select="@* | node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="//*[local-name()='system-properties']">
|
||||
<!--namespaces can be hadcoded here as no other releases of eap6 are planned-->
|
||||
<system-properties xmlns="urn:jboss:domain:1.8">
|
||||
<property name="hawtio.authenticationEnabled" value="true" />
|
||||
<property name="hawtio.realm" value="hawtio" />
|
||||
<property name="hawtio.roles" value="admin,viewer" />
|
||||
<property name="hawtio.keycloakEnabled" value="true" />
|
||||
<property name="hawtio.keycloakClientConfig" value="${{jboss.server.config.dir}}/keycloak-hawtio-client.json" />
|
||||
<property name="hawtio.keycloakServerConfig" value="${{jboss.server.config.dir}}/keycloak-hawtio.json" />
|
||||
</system-properties>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="//*[local-name()='subsystem' and starts-with(namespace-uri(), $keycloakNamespace)]">
|
||||
<xsl:copy>
|
||||
<secure-deployment name="hawtio.war" xmlns="urn:jboss:domain:keycloak:1.2"/>
|
||||
</xsl:copy>
|
||||
</xsl:template>
|
||||
|
||||
|
||||
</xsl:stylesheet>
|
|
@ -1,14 +0,0 @@
|
|||
#!/bin/bash
|
||||
echo "FUSE_INSTALLER=$JBOSS_HOME/$FUSE_INSTALLER_NAME"
|
||||
if [ ! -f "$JBOSS_HOME/$FUSE_INSTALLER_NAME" ] ; then
|
||||
>&2 echo "JBOSS_HOME/$FUSE_INSTALLER_NAME doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $JBOSS_HOME
|
||||
java -jar $FUSE_INSTALLER_NAME
|
||||
rm $FUSE_INSTALLER_NAME
|
||||
|
||||
mv standalone/deployments/hawtio*.war standalone/deployments/hawtio.war
|
||||
|
||||
exit 0
|
|
@ -1,9 +0,0 @@
|
|||
{
|
||||
"realm" : "demo",
|
||||
"resource" : "hawtio-client",
|
||||
"auth-server-url" : "https://localhost:8543/auth",
|
||||
"ssl-required" : "external",
|
||||
"public-client" : true,
|
||||
"truststore" : "${jboss.home.dir}/standalone/configuration/keycloak.truststore",
|
||||
"truststore-password" : "secret"
|
||||
}
|
|
@ -1,11 +0,0 @@
|
|||
{
|
||||
"realm" : "demo",
|
||||
"resource" : "jaas",
|
||||
"bearer-only" : true,
|
||||
"auth-server-url" : "https://localhost:8543/auth",
|
||||
"ssl-required" : "external",
|
||||
"use-resource-role-mappings": false,
|
||||
"principal-attribute": "preferred_username",
|
||||
"truststore" : "${jboss.home.dir}/standalone/configuration/keycloak.truststore",
|
||||
"truststore-password" : "secret"
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
set NOPAUSE=true
|
||||
|
||||
start "JBoss Server" /b cmd /c %JBOSS_HOME%\bin\standalone.bat --server-config=standalone-ha.xml
|
||||
|
||||
set ERROR=0
|
||||
set TIMEOUT=10
|
||||
set I=0
|
||||
|
||||
ping 127.0.0.1 -n 3 > nul
|
||||
|
||||
|
||||
:wait_for_jboss
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":read-attribute(name=server-state)" | findstr "running"
|
||||
if %ERRORLEVEL% equ 0 goto install_adapters
|
||||
ping 127.0.0.1 -n 1 > nul
|
||||
set /a I=%I%+1
|
||||
if %I% gtr %TIMEOUT% (
|
||||
set ERROR=1
|
||||
goto shutdown_jboss
|
||||
)
|
||||
goto wait_for_jboss
|
||||
|
||||
|
||||
:install_adapters
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%JBOSS_HOME%\bin\adapter-install.cli"
|
||||
set ERROR=%ERRORLEVEL%
|
||||
echo Installation of OIDC adapter ended with error code: "%ERROR%"
|
||||
if %ERROR% neq 0 (
|
||||
goto shutdown_jboss
|
||||
)
|
||||
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%JBOSS_HOME%\bin\adapter-install-saml.cli"
|
||||
set ERROR=%ERRORLEVEL%
|
||||
echo Installation of SAML adapter ended with error code: "%ERROR%"
|
||||
if %ERROR% neq 0 (
|
||||
goto shutdown_jboss
|
||||
)
|
||||
|
||||
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%CLI_PATH%\add-adapter-log-level.cli"
|
||||
set ERROR=%ERRORLEVEL%
|
||||
echo Adding log level for adapters ended with error code: "%ERROR%"
|
||||
if %ERROR% neq 0 (
|
||||
goto shutdown_jboss
|
||||
)
|
||||
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%CLI_PATH%\configure-cluster-config.cli"
|
||||
set ERROR=%ERRORLEVEL%
|
||||
echo Configuring cluster config ended with error code: "%ERROR%"
|
||||
if %ERROR% neq 0 (
|
||||
goto shutdown_jboss
|
||||
)
|
||||
|
||||
:shutdown_jboss
|
||||
echo Shutting down with error code: "%ERROR%"
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":shutdown"
|
||||
exit /b %ERROR%
|
|
@ -1,50 +0,0 @@
|
|||
#!/bin/bash
|
||||
echo "JBOSS_HOME=$JBOSS_HOME"
|
||||
|
||||
if [ ! -d "$JBOSS_HOME/bin" ] ; then
|
||||
>&2 echo "JBOSS_HOME/bin doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $JBOSS_HOME/bin
|
||||
|
||||
./standalone.sh --server-config=standalone-ha.xml &
|
||||
sleep 3
|
||||
|
||||
TIMEOUT=10
|
||||
DELAY=1
|
||||
T=0
|
||||
|
||||
RESULT=0
|
||||
|
||||
until [ $T -gt $TIMEOUT ]
|
||||
do
|
||||
if ./jboss-cli.sh -c --command=":read-attribute(name=server-state)" | grep -q "running" ; then
|
||||
echo "Server is running. Installing adapter."
|
||||
|
||||
./jboss-cli.sh -c --file="adapter-install.cli"
|
||||
RESULT=$?
|
||||
echo "Return code of adapter-install:"${RESULT}
|
||||
|
||||
./jboss-cli.sh -c --file="adapter-install-saml.cli"
|
||||
RESULT=$?
|
||||
echo "Return code of saml adapter-install:"$RESULT
|
||||
|
||||
./jboss-cli.sh -c --file="$CLI_PATH/add-adapter-log-level.cli"
|
||||
./jboss-cli.sh -c --file="$CLI_PATH/configure-cluster-config.cli"
|
||||
RESULT=$?
|
||||
echo "Return code:"${RESULT}
|
||||
|
||||
./jboss-cli.sh -c --command=":shutdown"
|
||||
rm -rf $JBOSS_HOME/standalone/data
|
||||
rm -rf $JBOSS_HOME/standalone/log
|
||||
|
||||
echo "Exiting with return code: "$RESULT
|
||||
exit $RESULT
|
||||
fi
|
||||
echo "Server is not running."
|
||||
sleep $DELAY
|
||||
let T=$T+$DELAY
|
||||
done
|
||||
|
||||
exit 1
|
|
@ -1,46 +0,0 @@
|
|||
set NOPAUSE=true
|
||||
|
||||
start "JBoss Server" /b cmd /c %JBOSS_HOME%\bin\standalone.bat
|
||||
|
||||
set ERROR=0
|
||||
set TIMEOUT=10
|
||||
set I=0
|
||||
|
||||
ping 127.0.0.1 -n 3 > nul
|
||||
|
||||
|
||||
:wait_for_jboss
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":read-attribute(name=server-state)" | findstr "running"
|
||||
if %ERRORLEVEL% equ 0 goto install_adapters
|
||||
ping 127.0.0.1 -n 1 > nul
|
||||
set /a I=%I%+1
|
||||
if %I% gtr %TIMEOUT% (
|
||||
set ERROR=1
|
||||
goto shutdown_jboss
|
||||
)
|
||||
goto wait_for_jboss
|
||||
|
||||
|
||||
:install_adapters
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%JBOSS_HOME%\bin\adapter-install.cli"
|
||||
set ERROR=%ERRORLEVEL%
|
||||
echo Installation of OIDC adapter ended with error code: "%ERROR%"
|
||||
if %ERROR% neq 0 (
|
||||
goto shutdown_jboss
|
||||
)
|
||||
|
||||
if "%SAML_SUPPORTED%" == "true" (
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%JBOSS_HOME%\bin\adapter-install-saml.cli"
|
||||
set ERROR=%ERRORLEVEL%
|
||||
echo Installation of SAML adapter ended with error code: "%ERROR%"
|
||||
if %ERROR% neq 0 (
|
||||
goto shutdown_jboss
|
||||
)
|
||||
)
|
||||
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --file="%CLI_PATH%\add-adapter-log-level.cli"
|
||||
|
||||
:shutdown_jboss
|
||||
echo Shutting down with error code: "%ERROR%"
|
||||
call %JBOSS_HOME%\bin\jboss-cli.bat -c --command=":shutdown"
|
||||
exit /b %ERROR%
|
|
@ -1,49 +0,0 @@
|
|||
#!/bin/bash
|
||||
echo "JBOSS_HOME=$JBOSS_HOME"
|
||||
|
||||
if [ ! -d "$JBOSS_HOME/bin" ] ; then
|
||||
>&2 echo "JBOSS_HOME/bin doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd $JBOSS_HOME/bin
|
||||
|
||||
./standalone.sh &
|
||||
sleep 3
|
||||
|
||||
TIMEOUT=10
|
||||
DELAY=1
|
||||
T=0
|
||||
|
||||
RESULT=0
|
||||
|
||||
until [ $T -gt $TIMEOUT ]
|
||||
do
|
||||
if ./jboss-cli.sh -c --command=":read-attribute(name=server-state)" | grep -q "running" ; then
|
||||
echo "Server is running. Installing adapter."
|
||||
|
||||
./jboss-cli.sh -c --file="adapter-install.cli"
|
||||
RESULT=$?
|
||||
echo "Return code of adapter-install:"${RESULT}
|
||||
|
||||
if [ "$SAML_SUPPORTED" = true ] && [ ${RESULT} -eq 0 ]; then
|
||||
./jboss-cli.sh -c --file="adapter-install-saml.cli"
|
||||
RESULT=$?
|
||||
echo "Return code of saml adapter-install:"$RESULT
|
||||
fi
|
||||
|
||||
./jboss-cli.sh -c --file="$CLI_PATH/add-adapter-log-level.cli"
|
||||
|
||||
./jboss-cli.sh -c --command=":shutdown"
|
||||
rm -rf $JBOSS_HOME/standalone/data
|
||||
rm -rf $JBOSS_HOME/standalone/log
|
||||
|
||||
echo "Exiting with return code: "$RESULT
|
||||
exit $RESULT
|
||||
fi
|
||||
echo "Server is not running."
|
||||
sleep $DELAY
|
||||
let T=$T+$DELAY
|
||||
done
|
||||
|
||||
exit 1
|
|
@ -1 +0,0 @@
|
|||
|
|
@ -278,7 +278,7 @@
|
|||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${skip.apply.offline.cli}</skip><!--eap6-->
|
||||
<skip>${skip.apply.offline.cli}</skip>
|
||||
<executable>${cli.executable}</executable>
|
||||
<workingDirectory>${cli.working.dir}</workingDirectory>
|
||||
<environmentVariables>
|
||||
|
@ -303,7 +303,7 @@
|
|||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${skip.apply.offline.cli}</skip><!--eap6-->
|
||||
<skip>${skip.apply.offline.cli}</skip>
|
||||
<executable>${cli.executable}</executable>
|
||||
<workingDirectory>${cli.working.dir}</workingDirectory>
|
||||
<environmentVariables>
|
||||
|
@ -535,7 +535,7 @@
|
|||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${skip.configure.clustered.scenario}</skip><!--eap6, wildfly9-->
|
||||
<skip>${skip.configure.clustered.scenario}</skip><!--wildfly9-->
|
||||
<executable>${cli.executable}</executable>
|
||||
<workingDirectory>${cli.working.dir}</workingDirectory>
|
||||
<environmentVariables>
|
||||
|
@ -561,7 +561,7 @@
|
|||
<goal>exec</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<skip>${skip.configure.clustered.scenario}</skip><!--eap6, wildfly9-->
|
||||
<skip>${skip.configure.clustered.scenario}</skip><!--wildfly9-->
|
||||
<executable>${cli.executable}</executable>
|
||||
<workingDirectory>${cli.working.dir}</workingDirectory>
|
||||
<environmentVariables>
|
||||
|
@ -698,20 +698,6 @@
|
|||
</build>
|
||||
</profile>
|
||||
|
||||
<!-- Latest EAP (currently 7.4.X) -->
|
||||
<profile>
|
||||
<id>app-server-eap</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>app.server</name>
|
||||
<value>eap</value>
|
||||
</property>
|
||||
</activation>
|
||||
<modules>
|
||||
<module>eap</module>
|
||||
</modules>
|
||||
</profile>
|
||||
|
||||
<!-- EAP8 (not available to community yet) -->
|
||||
<profile>
|
||||
<id>app-server-eap8</id>
|
||||
|
@ -726,30 +712,6 @@
|
|||
</modules>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>app-server-eap71</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>app.server</name>
|
||||
<value>eap71</value>
|
||||
</property>
|
||||
</activation>
|
||||
<modules>
|
||||
<module>eap</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>app-server-eap6</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>app.server</name>
|
||||
<value>eap6</value>
|
||||
</property>
|
||||
</activation>
|
||||
<modules>
|
||||
<module>eap6</module>
|
||||
</modules>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>app-server-wildfly</id>
|
||||
<activation>
|
||||
|
|
|
@ -32,13 +32,6 @@
|
|||
<properties>
|
||||
<script.suffix>sh</script.suffix>
|
||||
|
||||
<!--app container versions-->
|
||||
<eap.version>${eap7.version}</eap.version>
|
||||
<eap6.version>7.5.21.Final-redhat-1</eap6.version>
|
||||
<eap71.version>7.1.5.GA-redhat-00002</eap71.version>
|
||||
<eap7.version>7.4.9.GA-redhat-00003</eap7.version>
|
||||
<jboss.as.version>7.1.1.Final</jboss.as.version>
|
||||
|
||||
<jboss.default.worker.io-threads>16</jboss.default.worker.io-threads>
|
||||
<jboss.default.worker.task-max-threads>128</jboss.default.worker.task-max-threads>
|
||||
<jboss.default.http.max-connections>500</jboss.default.http.max-connections>
|
||||
|
|
|
@ -528,44 +528,6 @@
|
|||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>app-server-eap</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>app.server</name>
|
||||
<value>eap</value>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<app.server>eap</app.server> <!--in case the profile is called directly-->
|
||||
<app.server.skip.unpack>false</app.server.skip.unpack>
|
||||
<wildfly.core.version>${tests.wildfly.core.version}</wildfly.core.version>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-servers-app-server-eap</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<!--required by creaper-core-->
|
||||
<dependency>
|
||||
<groupId>org.wildfly.core</groupId>
|
||||
<artifactId>wildfly-cli</artifactId>
|
||||
<scope>test</scope>
|
||||
<version>${wildfly.core.version}</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.commonjava.maven.plugins</groupId>
|
||||
<artifactId>directory-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>app-server-eap8</id>
|
||||
<activation>
|
||||
|
@ -606,95 +568,7 @@
|
|||
</build>
|
||||
</profile>
|
||||
|
||||
<profile>
|
||||
<id>app-server-eap71</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>app.server</name>
|
||||
<value>eap71</value>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<app.server>eap71</app.server> <!--in case the profile is called directly-->
|
||||
<app.server.skip.unpack>false</app.server.skip.unpack>
|
||||
<app.server.artifactId>integration-arquillian-servers-app-server-eap</app.server.artifactId><!-- Need to override -->
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-servers-app-server-eap</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<!--required by creaper-core-->
|
||||
<dependency>
|
||||
<groupId>org.wildfly.core</groupId>
|
||||
<artifactId>wildfly-cli</artifactId>
|
||||
<scope>test</scope>
|
||||
<version>3.0.10.Final</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.commonjava.maven.plugins</groupId>
|
||||
<artifactId>directory-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<!-- EAP6, Fuse 6.x and Fuse 7.x adapter profiles, can be removed once there will be no need for supporting these adapters -->
|
||||
<profile>
|
||||
<id>app-server-eap6</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>app.server</name>
|
||||
<value>eap6</value>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<app.server>eap6</app.server> <!--in case the profile is called directly-->
|
||||
<app.server.skip.unpack>false</app.server.skip.unpack>
|
||||
|
||||
<arquillian-wildfly-container.version>2.0.0.Final</arquillian-wildfly-container.version>
|
||||
<!--TODO: check it when KEYCLOAK-8529 is resolved-->
|
||||
<!--<infinispan.version>8.2.5.Final</infinispan.version> KEYCLOAK-5302 -->
|
||||
|
||||
<app.server.management.protocol>remote</app.server.management.protocol>
|
||||
<app.server.management.port>10199</app.server.management.port>
|
||||
<app.server.1.management.port>10299</app.server.1.management.port>
|
||||
<app.server.2.management.port>10399</app.server.2.management.port>
|
||||
</properties>
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>org.keycloak.testsuite</groupId>
|
||||
<artifactId>integration-arquillian-servers-app-server-eap6</artifactId>
|
||||
<version>${project.version}</version>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
<!--required by creaper-core-->
|
||||
<dependency>
|
||||
<groupId>org.wildfly.core</groupId>
|
||||
<artifactId>wildfly-cli</artifactId>
|
||||
<scope>test</scope>
|
||||
<version>2.0.10.Final</version>
|
||||
<exclusions>
|
||||
<exclusion>
|
||||
<groupId>org.jboss.modules</groupId>
|
||||
<artifactId>jboss-modules</artifactId>
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.commonjava.maven.plugins</groupId>
|
||||
<artifactId>directory-maven-plugin</artifactId>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>app-server-fuse63</id>
|
||||
<activation>
|
||||
|
|
|
@ -38,7 +38,6 @@ public class BasicAuth extends AbstractPageWithInjectedUrl {
|
|||
|
||||
@Override
|
||||
public URL getInjectedUrl() {
|
||||
//EAP6 URL fix
|
||||
URL fixedUrl = createInjectedURL("basic-auth");
|
||||
return fixedUrl != null ? fixedUrl : url;
|
||||
}
|
||||
|
|
|
@ -185,8 +185,8 @@ public class AppServerTestEnricher {
|
|||
try {
|
||||
return ManagementClient.online(OnlineOptions
|
||||
.standalone()
|
||||
.hostAndPort(System.getProperty("app.server.host", "localhost"), System.getProperty("app.server","").startsWith("eap6") ? 9999 + portOffset : 9990 + portOffset)
|
||||
.protocol(System.getProperty("app.server","").startsWith("eap6") ? ManagementProtocol.REMOTE : ManagementProtocol.HTTP_REMOTING)
|
||||
.hostAndPort(System.getProperty("app.server.host", "localhost"), 9990 + portOffset)
|
||||
.protocol(ManagementProtocol.HTTP_REMOTING)
|
||||
.build()
|
||||
);
|
||||
} catch (IOException e) {
|
||||
|
@ -246,29 +246,7 @@ public class AppServerTestEnricher {
|
|||
client.execute("/system-property=javax.net.ssl.trustStore:add(value=${jboss.server.config.dir}/keycloak.truststore)");
|
||||
client.execute("/system-property=javax.net.ssl.trustStorePassword:add(value=secret)");
|
||||
|
||||
if (AppServerTestEnricher.isEAP6AppServer()) {
|
||||
if(!operations.exists(Address.subsystem("web").and("connector", "https"))) {
|
||||
client.apply(new AddConnector.Builder("https")
|
||||
.protocol("HTTP/1.1")
|
||||
.scheme("https")
|
||||
.socketBinding("https")
|
||||
.secure(true)
|
||||
.build());
|
||||
|
||||
client.apply(new AddConnectorSslConfig.Builder("https")
|
||||
.password("secret")
|
||||
.certificateKeyFile("${jboss.server.config.dir}/adapter.jks")
|
||||
.build());
|
||||
|
||||
|
||||
String appServerJavaHome = System.getProperty("app.server.java.home", "");
|
||||
if (appServerJavaHome.contains("ibm")) {
|
||||
// Workaround for bug in IBM JDK: https://bugzilla.redhat.com/show_bug.cgi?id=1430730
|
||||
// Source: https://access.redhat.com/solutions/4133531
|
||||
client.execute("/subsystem=web/connector=https/configuration=ssl:write-attribute(name=cipher-suite, value=\"SSL_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,SSL_ECDHE_RSA_WITH_AES_128_CBC_SHA256,SSL_RSA_WITH_AES_128_CBC_SHA256,SSL_ECDH_ECDSA_WITH_AES_128_CBC_SHA256,SSL_ECDH_RSA_WITH_AES_128_CBC_SHA256,SSL_DHE_RSA_WITH_AES_128_CBC_SHA256,SSL_DHE_DSS_WITH_AES_128_CBC_SHA256,SSL_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,SSL_ECDHE_RSA_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_AES_128_CBC_SHA,SSL_ECDH_ECDSA_WITH_AES_128_CBC_SHA,SSL_ECDH_RSA_WITH_AES_128_CBC_SHA,SSL_DHE_RSA_WITH_AES_128_CBC_SHA,SSL_DHE_DSS_WITH_AES_128_CBC_SHA\")");
|
||||
}
|
||||
}
|
||||
} else if (!isElytronConfigured) {
|
||||
if (!isElytronConfigured) {
|
||||
removeHttpsListener(client, administration);
|
||||
addHttpsListenerAppServer(client);
|
||||
}
|
||||
|
@ -367,14 +345,6 @@ public class AppServerTestEnricher {
|
|||
return CURRENT_APP_SERVER.equals("wildfly9");
|
||||
}
|
||||
|
||||
public static boolean isEAP6AppServer() {
|
||||
return CURRENT_APP_SERVER.equals("eap6");
|
||||
}
|
||||
|
||||
public static boolean isEAPAppServer() {
|
||||
return CURRENT_APP_SERVER.equals("eap");
|
||||
}
|
||||
|
||||
public static boolean isJBossJakartaAppServer() {
|
||||
return CURRENT_APP_SERVER.equals("eap8");
|
||||
}
|
||||
|
|
|
@ -32,17 +32,7 @@ public abstract class AbstractPageWithInjectedUrl extends AbstractPage {
|
|||
|
||||
public abstract URL getInjectedUrl();
|
||||
|
||||
//EAP6 URL fix
|
||||
protected URL createInjectedURL(String url) {
|
||||
if (!System.getProperty("app.server","").startsWith("eap6")) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return new URL(ServerURLs.getAppServerContextRoot() + "/" + url);
|
||||
} catch (MalformedURLException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,130 +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.
|
||||
*/
|
||||
package org.keycloak.testsuite.adapter.example.fuse;
|
||||
|
||||
import static org.keycloak.testsuite.auth.page.AuthRealm.DEMO;
|
||||
import static org.keycloak.testsuite.utils.io.IOUtil.loadRealm;
|
||||
import static org.keycloak.testsuite.util.URLAssert.assertCurrentUrlStartsWith;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import org.jboss.arquillian.container.test.api.ContainerController;
|
||||
import org.jboss.arquillian.drone.api.annotation.Drone;
|
||||
import org.jboss.arquillian.graphene.page.Page;
|
||||
import org.jboss.arquillian.test.api.ArquillianResource;
|
||||
import org.junit.After;
|
||||
import org.junit.Assume;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
|
||||
import org.keycloak.representations.idm.RealmRepresentation;
|
||||
import org.keycloak.testsuite.adapter.AbstractExampleAdapterTest;
|
||||
import org.keycloak.testsuite.adapter.page.HawtioPage;
|
||||
import org.keycloak.testsuite.arquillian.AppServerTestEnricher;
|
||||
import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
|
||||
import org.keycloak.testsuite.util.ContainerAssume;
|
||||
import org.keycloak.testsuite.utils.arquillian.ContainerConstants;
|
||||
import org.keycloak.testsuite.arquillian.containers.SelfManagedAppContainerLifecycle;
|
||||
import org.keycloak.testsuite.auth.page.login.OIDCLogin;
|
||||
import org.keycloak.testsuite.util.DroneUtils;
|
||||
import org.keycloak.testsuite.util.JavascriptBrowser;
|
||||
import org.keycloak.testsuite.util.WaitUtils;
|
||||
|
||||
import org.openqa.selenium.WebDriver;
|
||||
|
||||
/**
|
||||
* @author mhajas
|
||||
*/
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
public class EAP6Fuse6HawtioAdapterTest extends AbstractExampleAdapterTest implements SelfManagedAppContainerLifecycle {
|
||||
|
||||
@ArquillianResource
|
||||
private ContainerController controller;
|
||||
|
||||
@Drone
|
||||
@JavascriptBrowser
|
||||
protected WebDriver jsDriver;
|
||||
|
||||
@Page
|
||||
@JavascriptBrowser
|
||||
private HawtioPage hawtioPage;
|
||||
|
||||
@Page
|
||||
@JavascriptBrowser
|
||||
private OIDCLogin testRealmLoginPageFuse;
|
||||
|
||||
@Override
|
||||
public void addAdapterTestRealms(List<RealmRepresentation> testRealms) {
|
||||
testRealms.add(loadRealm("/adapter-test/hawtio-realm/demorealm.json"));
|
||||
}
|
||||
|
||||
@BeforeClass
|
||||
public static void enabled() {
|
||||
Assume.assumeFalse(System.getProperty("os.name").startsWith("Windows"));
|
||||
ContainerAssume.assumeNotAppServerSSL();
|
||||
ContainerAssume.assumeAuthServerSSL();
|
||||
}
|
||||
|
||||
@Before
|
||||
public void addJSDriver() {
|
||||
DroneUtils.addWebDriver(jsDriver);
|
||||
}
|
||||
|
||||
@Before
|
||||
@Override
|
||||
public void startServer() {
|
||||
try {
|
||||
AppServerTestEnricher.prepareServerDir("standalone-fuse");
|
||||
} catch (IOException ex) {
|
||||
throw new RuntimeException("Wasn't able to prepare server dir.", ex);
|
||||
}
|
||||
|
||||
controller.start(testContext.getAppServerInfo().getQualifier());
|
||||
}
|
||||
|
||||
@After
|
||||
@Override
|
||||
public void stopServer() {
|
||||
controller.stop(testContext.getAppServerInfo().getQualifier());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void hawtioLoginAndLogoutTest() {
|
||||
testRealmLoginPageFuse.setAuthRealm(DEMO);
|
||||
|
||||
log.debug("Go to hawtioPage");
|
||||
hawtioPage.navigateTo();
|
||||
WaitUtils.waitForPageToLoad();
|
||||
|
||||
log.debug("log in");
|
||||
assertCurrentUrlStartsWith(testRealmLoginPageFuse.toString()); //60
|
||||
testRealmLoginPageFuse.form().login("root", "password");
|
||||
|
||||
assertCurrentUrlStartsWith(hawtioPage.toString() + "/welcome"); //180
|
||||
|
||||
hawtioPage.logout(jsDriver);
|
||||
WaitUtils.waitForPageToLoad();
|
||||
|
||||
assertCurrentUrlStartsWith(testRealmLoginPageFuse);
|
||||
|
||||
hawtioPage.navigateTo();
|
||||
WaitUtils.waitForPageToLoad();
|
||||
assertCurrentUrlStartsWith(testRealmLoginPageFuse);
|
||||
}
|
||||
}
|
|
@ -52,7 +52,7 @@ import org.wildfly.extras.creaper.core.online.operations.admin.Administration;
|
|||
*
|
||||
* @author <a href="mailto:psilva@redhat.com">Pedro Igor</a>
|
||||
*/
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class ConsoleProtectionTest extends AbstractAdapterTest {
|
||||
|
||||
@Page
|
||||
|
|
|
@ -1105,7 +1105,7 @@ public class DemoServletsAdapterTest extends AbstractServletsAdapterTest {
|
|||
String serverLogPath = null;
|
||||
|
||||
String appServer = System.getProperty("app.server");
|
||||
if (appServer != null && (appServer.equals("wildfly") || appServer.equals("eap6") || appServer.equals("eap"))) {
|
||||
if (appServer != null && (appServer.equals("wildfly") || appServer.equals("eap"))) {
|
||||
serverLogPath = System.getProperty("app.server.home") + "/standalone-test/log/server.log";
|
||||
}
|
||||
|
||||
|
|
|
@ -46,8 +46,6 @@ import static org.keycloak.testsuite.util.SamlClient.Binding.POST;
|
|||
@AppServerContainer(ContainerConstants.APP_SERVER_UNDERTOW)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class SAMLClockSkewAdapterTest extends AbstractSAMLServletAdapterTest {
|
||||
|
||||
|
|
|
@ -57,8 +57,6 @@ import static org.keycloak.testsuite.util.WaitUtils.waitUntilElement;
|
|||
@AppServerContainer(ContainerConstants.APP_SERVER_UNDERTOW)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class SAMLLoginResponseHandlingTest extends AbstractSAMLServletAdapterTest {
|
||||
|
||||
|
|
|
@ -52,8 +52,6 @@ import static org.keycloak.testsuite.util.SamlClient.Binding.REDIRECT;
|
|||
@AppServerContainer(ContainerConstants.APP_SERVER_UNDERTOW)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class SAMLLogoutAdapterTest extends AbstractServletsAdapterTest {
|
||||
|
||||
|
|
|
@ -195,8 +195,6 @@ import org.xml.sax.SAXException;
|
|||
@AppServerContainer(ContainerConstants.APP_SERVER_UNDERTOW)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class SAMLServletAdapterTest extends AbstractSAMLServletAdapterTest {
|
||||
@Page
|
||||
|
|
|
@ -36,8 +36,6 @@ import static org.keycloak.testsuite.util.Matchers.bodyHC;
|
|||
@AppServerContainer(ContainerConstants.APP_SERVER_UNDERTOW)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class SAMLServletSessionTimeoutTest extends AbstractSAMLServletAdapterTest {
|
||||
|
||||
|
|
|
@ -79,8 +79,6 @@ import static org.keycloak.testsuite.saml.AbstractSamlTest.REALM_SIGNING_CERTIFI
|
|||
@AppServerContainer(ContainerConstants.APP_SERVER_UNDERTOW)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class SamlSignatureTest extends AbstractAdapterTest {
|
||||
|
||||
|
|
|
@ -36,8 +36,6 @@ import static org.keycloak.testsuite.util.Matchers.statusCodeIsHC;
|
|||
@AppServerContainer(ContainerConstants.APP_SERVER_UNDERTOW)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP71)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP8)
|
||||
public class SamlXMLAttacksTest extends AbstractSamlTest {
|
||||
|
||||
|
|
|
@ -32,7 +32,6 @@ import org.keycloak.testsuite.utils.arquillian.ContainerConstants;
|
|||
*/
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_WILDFLY_CLUSTER)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP_CLUSTER)
|
||||
@AppServerContainer(ContainerConstants.APP_SERVER_EAP6_CLUSTER)
|
||||
public class SAMLAdapterClusterTest extends AbstractSAMLAdapterClusteredTest {
|
||||
|
||||
@TargetsContainer(value = TARGET_CONTAINER_NODE_1)
|
||||
|
|
|
@ -28,11 +28,6 @@ public interface ContainerConstants {
|
|||
String APP_SERVER_EAP_CLUSTER = APP_SERVER_EAP + "-ha-node-1;" + APP_SERVER_EAP + "-ha-node-2";
|
||||
|
||||
String APP_SERVER_EAP8 = APP_SERVER_PREFIX + "eap8";
|
||||
String APP_SERVER_EAP71 = APP_SERVER_PREFIX + "eap71";
|
||||
|
||||
String APP_SERVER_EAP6 = APP_SERVER_PREFIX + "eap6";
|
||||
String APP_SERVER_EAP6_CLUSTER = APP_SERVER_EAP6 + "-ha-node-1;" + APP_SERVER_EAP6 + "-ha-node-2";
|
||||
|
||||
String APP_SERVER_FUSE63 = APP_SERVER_PREFIX + "fuse63";
|
||||
String APP_SERVER_FUSE7X = APP_SERVER_PREFIX + "fuse7x";
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue