mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-07-05 00:56:58 +08:00
Move deployment tests to system tests pipeline
Closes gh-27499
This commit is contained in:
parent
1c6bc9936d
commit
32bb6f6989
@ -71,11 +71,11 @@ include "spring-boot-project:spring-boot-docs"
|
|||||||
include "spring-boot-project:spring-boot-properties-migrator"
|
include "spring-boot-project:spring-boot-properties-migrator"
|
||||||
include "spring-boot-project:spring-boot-test"
|
include "spring-boot-project:spring-boot-test"
|
||||||
include "spring-boot-project:spring-boot-test-autoconfigure"
|
include "spring-boot-project:spring-boot-test-autoconfigure"
|
||||||
include "spring-boot-tests:spring-boot-deployment-tests"
|
|
||||||
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-configuration-processor-tests"
|
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-configuration-processor-tests"
|
||||||
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-launch-script-tests"
|
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-launch-script-tests"
|
||||||
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-loader-tests"
|
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-loader-tests"
|
||||||
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-server-tests"
|
include "spring-boot-tests:spring-boot-integration-tests:spring-boot-server-tests"
|
||||||
|
include "spring-boot-system-tests:spring-boot-deployment-tests"
|
||||||
include "spring-boot-system-tests:spring-boot-image-tests"
|
include "spring-boot-system-tests:spring-boot-image-tests"
|
||||||
|
|
||||||
file("${rootDir}/spring-boot-project/spring-boot-starters").eachDirMatch(~/spring-boot-starter.*/) {
|
file("${rootDir}/spring-boot-project/spring-boot-starters").eachDirMatch(~/spring-boot-starter.*/) {
|
||||||
|
@ -0,0 +1,43 @@
|
|||||||
|
plugins {
|
||||||
|
id "war"
|
||||||
|
id "org.springframework.boot.conventions"
|
||||||
|
id "org.springframework.boot.system-test"
|
||||||
|
}
|
||||||
|
|
||||||
|
description = "Spring Boot Deployment Tests"
|
||||||
|
|
||||||
|
configurations {
|
||||||
|
providedRuntime {
|
||||||
|
extendsFrom dependencyManagement
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
configurations.all {
|
||||||
|
exclude module: "spring-boot-starter-logging"
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) {
|
||||||
|
exclude group: "org.hibernate.validator"
|
||||||
|
}
|
||||||
|
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator"))
|
||||||
|
|
||||||
|
systemTestImplementation(enforcedPlatform(project(path: ":spring-boot-project:spring-boot-parent")))
|
||||||
|
systemTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
||||||
|
systemTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
||||||
|
systemTestImplementation("org.apache.httpcomponents:httpasyncclient")
|
||||||
|
systemTestImplementation("org.awaitility:awaitility")
|
||||||
|
systemTestImplementation("org.testcontainers:junit-jupiter")
|
||||||
|
systemTestImplementation("org.testcontainers:testcontainers")
|
||||||
|
systemTestImplementation("org.springframework:spring-web")
|
||||||
|
|
||||||
|
providedRuntime(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat"))
|
||||||
|
}
|
||||||
|
|
||||||
|
systemTest {
|
||||||
|
inputs.files(war).withNormalizer(ClasspathNormalizer)
|
||||||
|
}
|
||||||
|
|
||||||
|
war {
|
||||||
|
archiveVersion = ''
|
||||||
|
}
|
@ -14,7 +14,7 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sample;
|
package org.springframework.boot.deployment;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
@ -37,9 +37,9 @@ import org.springframework.http.client.HttpComponentsClientHttpRequestFactory;
|
|||||||
import static org.assertj.core.api.Assertions.assertThat;
|
import static org.assertj.core.api.Assertions.assertThat;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Abstract class for deployment integration tests.
|
* Abstract class for deployment tests.
|
||||||
*/
|
*/
|
||||||
abstract class AbstractDeploymentIntegrationTests {
|
abstract class AbstractDeploymentTests {
|
||||||
|
|
||||||
protected static final int DEFAULT_PORT = 8080;
|
protected static final int DEFAULT_PORT = 8080;
|
||||||
|
|
@ -14,24 +14,25 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sample;
|
package org.springframework.boot.deployment;
|
||||||
|
|
||||||
import org.testcontainers.junit.jupiter.Container;
|
import org.testcontainers.junit.jupiter.Container;
|
||||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deployment integration tests for Open Liberty.
|
* Deployment tests for Open Liberty.
|
||||||
*
|
*
|
||||||
* @author Christoph Dreis
|
* @author Christoph Dreis
|
||||||
|
* @author Scott Frederick
|
||||||
*/
|
*/
|
||||||
@Testcontainers(disabledWithoutDocker = true)
|
@Testcontainers(disabledWithoutDocker = true)
|
||||||
class OpenLibertyDeploymentIntegrationTests extends AbstractDeploymentIntegrationTests {
|
class OpenLibertyDeploymentTests extends AbstractDeploymentTests {
|
||||||
|
|
||||||
private static final int PORT = 9080;
|
private static final int PORT = 9080;
|
||||||
|
|
||||||
@Container
|
@Container
|
||||||
static WarDeploymentContainer container = new WarDeploymentContainer(
|
static WarDeploymentContainer container = new WarDeploymentContainer(
|
||||||
"openliberty/open-liberty:20.0.0.9-kernel-java8-openj9-ubi", "/config/dropins", PORT);
|
"openliberty/open-liberty:full-java8-openj9-ubi", "/config/dropins", PORT);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
WarDeploymentContainer getContainer() {
|
WarDeploymentContainer getContainer() {
|
@ -14,22 +14,23 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sample;
|
package org.springframework.boot.deployment;
|
||||||
|
|
||||||
import org.testcontainers.junit.jupiter.Container;
|
import org.testcontainers.junit.jupiter.Container;
|
||||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deployment integration tests for TomEE.
|
* Deployment tests for TomEE.
|
||||||
*
|
*
|
||||||
* @author Christoph Dreis
|
* @author Christoph Dreis
|
||||||
|
* @author Scott Frederick
|
||||||
*/
|
*/
|
||||||
@Testcontainers(disabledWithoutDocker = true)
|
@Testcontainers(disabledWithoutDocker = true)
|
||||||
class TomEEDeploymentIntegrationTests extends AbstractDeploymentIntegrationTests {
|
class TomEEDeploymentTests extends AbstractDeploymentTests {
|
||||||
|
|
||||||
@Container
|
@Container
|
||||||
static WarDeploymentContainer container = new WarDeploymentContainer("tomee:8-jre-8.0.2-webprofile",
|
static WarDeploymentContainer container = new WarDeploymentContainer("tomee:8", "/usr/local/tomee/webapps",
|
||||||
"/usr/local/tomee/webapps", DEFAULT_PORT);
|
DEFAULT_PORT);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
WarDeploymentContainer getContainer() {
|
WarDeploymentContainer getContainer() {
|
@ -14,21 +14,22 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sample;
|
package org.springframework.boot.deployment;
|
||||||
|
|
||||||
import org.testcontainers.junit.jupiter.Container;
|
import org.testcontainers.junit.jupiter.Container;
|
||||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deployment integration tests for Tomcat.
|
* Deployment tests for Tomcat.
|
||||||
*
|
*
|
||||||
* @author Christoph Dreis
|
* @author Christoph Dreis
|
||||||
|
* @author Scott Frederick
|
||||||
*/
|
*/
|
||||||
@Testcontainers(disabledWithoutDocker = true)
|
@Testcontainers(disabledWithoutDocker = true)
|
||||||
class TomcatDeploymentIntegrationTests extends AbstractDeploymentIntegrationTests {
|
class TomcatDeploymentTests extends AbstractDeploymentTests {
|
||||||
|
|
||||||
@Container
|
@Container
|
||||||
static WarDeploymentContainer container = new WarDeploymentContainer("tomcat:9.0.37-jdk8-openjdk",
|
static WarDeploymentContainer container = new WarDeploymentContainer("tomcat:9-jdk8-openjdk",
|
||||||
"/usr/local/tomcat/webapps", DEFAULT_PORT);
|
"/usr/local/tomcat/webapps", DEFAULT_PORT);
|
||||||
|
|
||||||
@Override
|
@Override
|
@ -14,21 +14,22 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package sample;
|
package org.springframework.boot.deployment;
|
||||||
|
|
||||||
import org.testcontainers.junit.jupiter.Container;
|
import org.testcontainers.junit.jupiter.Container;
|
||||||
import org.testcontainers.junit.jupiter.Testcontainers;
|
import org.testcontainers.junit.jupiter.Testcontainers;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Deployment integration tests for Wildfly.
|
* Deployment tests for Wildfly.
|
||||||
*
|
*
|
||||||
* @author Christoph Dreis
|
* @author Christoph Dreis
|
||||||
|
* @author Scott Frederick
|
||||||
*/
|
*/
|
||||||
@Testcontainers(disabledWithoutDocker = true)
|
@Testcontainers(disabledWithoutDocker = true)
|
||||||
class WildflyDeploymentIntegrationTests extends AbstractDeploymentIntegrationTests {
|
class WildflyDeploymentTests extends AbstractDeploymentTests {
|
||||||
|
|
||||||
@Container
|
@Container
|
||||||
static WarDeploymentContainer container = new WarDeploymentContainer("jboss/wildfly:20.0.1.Final",
|
static WarDeploymentContainer container = new WarDeploymentContainer("jboss/wildfly:latest",
|
||||||
"/opt/jboss/wildfly/standalone/deployments", DEFAULT_PORT);
|
"/opt/jboss/wildfly/standalone/deployments", DEFAULT_PORT);
|
||||||
|
|
||||||
@Override
|
@Override
|
@ -1,39 +0,0 @@
|
|||||||
plugins {
|
|
||||||
id "war"
|
|
||||||
id "org.springframework.boot.conventions"
|
|
||||||
id "org.springframework.boot.integration-test"
|
|
||||||
}
|
|
||||||
|
|
||||||
description = "Spring Boot Deployment Tests"
|
|
||||||
|
|
||||||
configurations {
|
|
||||||
providedRuntime {
|
|
||||||
extendsFrom dependencyManagement
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-web")) {
|
|
||||||
exclude group: "org.hibernate.validator"
|
|
||||||
}
|
|
||||||
implementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-actuator"))
|
|
||||||
|
|
||||||
intTestImplementation(enforcedPlatform(project(path: ":spring-boot-project:spring-boot-parent")))
|
|
||||||
intTestImplementation(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-test"))
|
|
||||||
intTestImplementation(project(":spring-boot-project:spring-boot-tools:spring-boot-test-support"))
|
|
||||||
intTestImplementation("org.apache.httpcomponents:httpasyncclient")
|
|
||||||
intTestImplementation("org.awaitility:awaitility")
|
|
||||||
intTestImplementation("org.testcontainers:junit-jupiter")
|
|
||||||
intTestImplementation("org.testcontainers:testcontainers")
|
|
||||||
intTestImplementation("org.springframework:spring-web")
|
|
||||||
|
|
||||||
providedRuntime(project(":spring-boot-project:spring-boot-starters:spring-boot-starter-tomcat"))
|
|
||||||
}
|
|
||||||
|
|
||||||
intTest {
|
|
||||||
inputs.files(war).withNormalizer(ClasspathNormalizer)
|
|
||||||
}
|
|
||||||
|
|
||||||
war {
|
|
||||||
archiveVersion = ''
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user