From 8692b234b8bdb6b7d069aa66cc6841fcfa183d84 Mon Sep 17 00:00:00 2001 From: Philip Riecks Date: Wed, 8 Jan 2020 08:19:49 +0100 Subject: [PATCH 1/3] Introduce WildFly module Signed-off-by: Philip Riecks --- modules/wildfly/build.gradle | 10 +++ .../containers/wildfly/WildFlyAdapter.java | 63 +++++++++++++++++++ ...d.testing.testcontainers.spi.ServerAdapter | 1 + .../src/main/resources/log4j.properties | 10 +++ sample-apps/wildfly-app/Dockerfile | 3 - sample-apps/wildfly-app/build.gradle | 2 +- 6 files changed, 85 insertions(+), 4 deletions(-) create mode 100644 modules/wildfly/build.gradle create mode 100644 modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java create mode 100644 modules/wildfly/src/main/resources/META-INF/services/org.microshed.testing.testcontainers.spi.ServerAdapter create mode 100644 modules/wildfly/src/main/resources/log4j.properties delete mode 100644 sample-apps/wildfly-app/Dockerfile diff --git a/modules/wildfly/build.gradle b/modules/wildfly/build.gradle new file mode 100644 index 00000000..2a8fce0d --- /dev/null +++ b/modules/wildfly/build.gradle @@ -0,0 +1,10 @@ +ext.title = "MicroShed Testing Framework :: WildFly extensions" +description = "Extensions for using MicroShed Testing with WildFly servers" + +dependencies { + compile project(':microshed-testing-testcontainers') +} + +apply from: publishScript + +publishToMavenLocal.dependsOn ':microshed-testing-testcontainers:publishToMavenLocal' diff --git a/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java b/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java new file mode 100644 index 00000000..d9d0b47e --- /dev/null +++ b/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2019 IBM Corporation and others + * + * See the NOTICE file(s) distributed with this work for additional + * information regarding copyright ownership. + * + * 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.testcontainers.containers.wildfly; + +import org.microshed.testing.testcontainers.spi.ServerAdapter; +import org.testcontainers.images.builder.ImageFromDockerfile; + +import java.io.File; +import java.util.Optional; + +public class WildFlyAdapter implements ServerAdapter { + + @Override + public int getPriority() { + return PRIORITY_RUNTIME_MODULE; + } + + @Override + public int getDefaultHttpPort() { + return 8080; + } + + @Override + public int getDefaultHttpsPort() { + return 8443; + } + + @Override + public ImageFromDockerfile getDefaultImage(File appFile) { + String appName = appFile.getName(); + // Compose a docker image equivalent to doing: + // FROM jboss/wildfly:18.0.1.Final + // ADD target/myservice.war /opt/jboss/wildfly/standalone/deployments + ImageFromDockerfile image = new ImageFromDockerfile() + .withDockerfileFromBuilder(builder -> builder.from("jboss/wildfly:18.0.1.Final") + .add(appName, "/opt/jboss/wildfly/standalone/deployments") + .build()) + .withFileFromFile(appName, appFile); + return image; + + } + + @Override + public Optional getReadinessPath() { + return Optional.of("/health"); + } +} diff --git a/modules/wildfly/src/main/resources/META-INF/services/org.microshed.testing.testcontainers.spi.ServerAdapter b/modules/wildfly/src/main/resources/META-INF/services/org.microshed.testing.testcontainers.spi.ServerAdapter new file mode 100644 index 00000000..5044660c --- /dev/null +++ b/modules/wildfly/src/main/resources/META-INF/services/org.microshed.testing.testcontainers.spi.ServerAdapter @@ -0,0 +1 @@ +org.testcontainers.containers.wildfly.WildFlyAdapter \ No newline at end of file diff --git a/modules/wildfly/src/main/resources/log4j.properties b/modules/wildfly/src/main/resources/log4j.properties new file mode 100644 index 00000000..c491db01 --- /dev/null +++ b/modules/wildfly/src/main/resources/log4j.properties @@ -0,0 +1,10 @@ +log4j.rootLogger=INFO, stdout + +log4j.appender=org.apache.log4j.ConsoleAppender +log4j.appender.layout=org.apache.log4j.PatternLayout + +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%r %p %c %x - %m%n + +log4j.logger.org.aguibert.liberty=DEBUG \ No newline at end of file diff --git a/sample-apps/wildfly-app/Dockerfile b/sample-apps/wildfly-app/Dockerfile deleted file mode 100644 index 7e4a406f..00000000 --- a/sample-apps/wildfly-app/Dockerfile +++ /dev/null @@ -1,3 +0,0 @@ -# Wildfly -FROM jboss/wildfly -ADD build/libs/myservice.war /opt/jboss/wildfly/standalone/deployments/ diff --git a/sample-apps/wildfly-app/build.gradle b/sample-apps/wildfly-app/build.gradle index 818f1670..3025998f 100644 --- a/sample-apps/wildfly-app/build.gradle +++ b/sample-apps/wildfly-app/build.gradle @@ -5,7 +5,7 @@ plugins { dependencies { providedCompile 'javax:javaee-api:8.0.1' providedCompile 'org.eclipse.microprofile:microprofile:2.1' - testCompile project(':microshed-testing-testcontainers') + testCompile project(':microshed-testing-wildfly') testCompile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.29' testImplementation 'org.junit.jupiter:junit-jupiter:5.5.2' } From e97540becc1090a4ac5f0f6ac0dc068e6c690227 Mon Sep 17 00:00:00 2001 From: Philip Riecks Date: Thu, 9 Jan 2020 06:31:14 +0100 Subject: [PATCH 2/3] Adjust copyright for WildFlyAdapter Signed-off-by: Philip Riecks --- .../org/testcontainers/containers/wildfly/WildFlyAdapter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java b/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java index d9d0b47e..0b9d9490 100644 --- a/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java +++ b/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2019 IBM Corporation and others + * Copyright (c) 2020 Philip Riecks * * See the NOTICE file(s) distributed with this work for additional * information regarding copyright ownership. From 745d59fc050ef78a3c6c096bef84e041c44e959b Mon Sep 17 00:00:00 2001 From: Philip Riecks Date: Fri, 10 Jan 2020 07:57:49 +0100 Subject: [PATCH 3/3] Use default method for getting the readiness path for WildFly Signed-off-by: rieckpil --- .../testcontainers/containers/wildfly/WildFlyAdapter.java | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java b/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java index 0b9d9490..c7750097 100644 --- a/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java +++ b/modules/wildfly/src/main/java/org/testcontainers/containers/wildfly/WildFlyAdapter.java @@ -55,9 +55,4 @@ public ImageFromDockerfile getDefaultImage(File appFile) { return image; } - - @Override - public Optional getReadinessPath() { - return Optional.of("/health"); - } }