Merge branch '3.5.x' into 4.0.x

Closes gh-49426
This commit is contained in:
Andy Wilkinson
2026-03-05 11:00:44 +00:00
2 changed files with 10 additions and 0 deletions
@@ -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")
@@ -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;
*/
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();