mirror of
https://github.com/spring-projects/spring-boot.git
synced 2026-09-17 12:09:16 +00:00
Merge branch '4.0.x'
Closes gh-49427
This commit is contained in:
@@ -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
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user