Browse Source

Merge branch '4.0.x'

Closes gh-49427
pull/49454/head
Andy Wilkinson 2 weeks ago
parent
commit
e6ba227e53
  1. 2
      core/spring-boot-docker-compose/build.gradle
  2. 8
      test-support/spring-boot-docker-test-support/src/main/java/org/springframework/boot/testsupport/container/DisabledIfDockerUnavailableCondition.java

2
core/spring-boot-docker-compose/build.gradle

@ -32,6 +32,8 @@ dependencies { @@ -32,6 +32,8 @@ dependencies {
dockerTestImplementation(project(":test-support:spring-boot-docker-test-support"))
dockerTestRuntimeOnly("org.testcontainers:testcontainers")
testImplementation(project(":core:spring-boot-test"))
testImplementation(project(":test-support:spring-boot-test-support"))
testImplementation("ch.qos.logback:logback-classic")

8
test-support/spring-boot-docker-test-support/src/main/java/org/springframework/boot/testsupport/container/DisabledIfDockerUnavailableCondition.java

@ -21,6 +21,9 @@ import org.junit.jupiter.api.extension.ExecutionCondition; @@ -21,6 +21,9 @@ import org.junit.jupiter.api.extension.ExecutionCondition;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.testcontainers.DockerClientFactory;
import org.springframework.util.Assert;
import org.springframework.util.ClassUtils;
/**
* An {@link ExecutionCondition} that disables execution if Docker is unavailable.
*
@ -30,12 +33,17 @@ import org.testcontainers.DockerClientFactory; @@ -30,12 +33,17 @@ import org.testcontainers.DockerClientFactory;
*/
class DisabledIfDockerUnavailableCondition implements ExecutionCondition {
private static final boolean TESTCONTAINERS_PRESENT = ClassUtils.isPresent("org.testcontainers.DockerClientFactory",
DisabledIfDockerUnavailableCondition.class.getClassLoader());
private static final String SILENCE_PROPERTY = "visibleassertions.silence";
private static final ConditionEvaluationResult ENABLED = ConditionEvaluationResult.enabled("Docker available");
@Override
public ConditionEvaluationResult evaluateExecutionCondition(ExtensionContext context) {
Assert.isTrue(TESTCONTAINERS_PRESENT, "Testcontainers is required when using @DisabledIfDockerUnavailable."
+ " Add a dependency on org.testcontainers:testcontainers");
String originalSilenceValue = System.getProperty(SILENCE_PROPERTY);
try {
DockerClientFactory.instance().client();

Loading…
Cancel
Save