From 0fa79a8fec43ccc061454ffad598da6e7d5c7227 Mon Sep 17 00:00:00 2001 From: Sergio del Amo Caballero Date: Mon, 19 Aug 2024 12:56:10 +0200 Subject: [PATCH] test: require docker --- cassandra/build.gradle.kts | 1 + .../io/micronaut/cassandra/CassandraConfigurationSpec.groovy | 4 +++- .../cassandra/health/CassandraHealthIndicatorSpec.groovy | 3 +++ .../micronaut/cassandra/metrics/CassandraMetricsSpec.groovy | 3 +++ gradle/libs.versions.toml | 1 + test-suite-cassandra-micrometer/build.gradle.kts | 1 + .../cassandra/micrometertest/CassandraMetricsSpec.groovy | 4 +++- test-suite-graal/build.gradle.kts | 2 ++ .../java/io/micronaut/cassandra/graaltest/CassandraTest.java | 3 ++- .../jacksontest/CassandraHealthEndpointJacksonSpec.groovy | 3 +++ .../micronaut/cassandra/ssltest/CassandraSSLConfigSpec.groovy | 2 ++ 11 files changed, 24 insertions(+), 3 deletions(-) diff --git a/cassandra/build.gradle.kts b/cassandra/build.gradle.kts index 0eb3e77b..1dbe8340 100644 --- a/cassandra/build.gradle.kts +++ b/cassandra/build.gradle.kts @@ -12,6 +12,7 @@ dependencies { testImplementation(mnTest.micronaut.test.spock) testImplementation(mn.reactor) testImplementation(platform(mnTestResources.boms.testcontainers)) + testImplementation(mnTestResources.testcontainers.core) testImplementation(libs.testcontainers.cassandra) testImplementation(mn.micronaut.management) testImplementation(mnMicrometer.micronaut.micrometer.core) diff --git a/cassandra/src/test/groovy/io/micronaut/cassandra/CassandraConfigurationSpec.groovy b/cassandra/src/test/groovy/io/micronaut/cassandra/CassandraConfigurationSpec.groovy index 866ee28f..8ba73ed2 100755 --- a/cassandra/src/test/groovy/io/micronaut/cassandra/CassandraConfigurationSpec.groovy +++ b/cassandra/src/test/groovy/io/micronaut/cassandra/CassandraConfigurationSpec.groovy @@ -27,10 +27,12 @@ import io.micronaut.context.event.BeanCreatedEventListener import io.micronaut.inject.qualifiers.Qualifiers import org.testcontainers.containers.CassandraContainer import org.testcontainers.utility.DockerImageName +import spock.lang.Requires import spock.lang.Specification - +import org.testcontainers.DockerClientFactory import jakarta.inject.Singleton +@Requires({ DockerClientFactory.instance().isDockerAvailable() }) class CassandraConfigurationSpec extends Specification { void "test no configuration"() { diff --git a/cassandra/src/test/groovy/io/micronaut/cassandra/health/CassandraHealthIndicatorSpec.groovy b/cassandra/src/test/groovy/io/micronaut/cassandra/health/CassandraHealthIndicatorSpec.groovy index d0fd086c..e427d580 100644 --- a/cassandra/src/test/groovy/io/micronaut/cassandra/health/CassandraHealthIndicatorSpec.groovy +++ b/cassandra/src/test/groovy/io/micronaut/cassandra/health/CassandraHealthIndicatorSpec.groovy @@ -28,15 +28,18 @@ import io.micronaut.health.HealthStatus import io.micronaut.inject.qualifiers.Qualifiers import io.micronaut.management.health.indicator.HealthResult import jakarta.inject.Singleton +import org.testcontainers.DockerClientFactory import org.testcontainers.containers.CassandraContainer import org.testcontainers.utility.DockerImageName import reactor.core.publisher.Mono +import spock.lang.Requires import spock.lang.Specification /** * @author Ilkin Ashrafli * @since 2.2.0 */ +@Requires({ DockerClientFactory.instance().isDockerAvailable() }) class CassandraHealthIndicatorSpec extends Specification { void "test cassandra health indicator"() { diff --git a/cassandra/src/test/groovy/io/micronaut/cassandra/metrics/CassandraMetricsSpec.groovy b/cassandra/src/test/groovy/io/micronaut/cassandra/metrics/CassandraMetricsSpec.groovy index 025f4d79..9343eb49 100755 --- a/cassandra/src/test/groovy/io/micronaut/cassandra/metrics/CassandraMetricsSpec.groovy +++ b/cassandra/src/test/groovy/io/micronaut/cassandra/metrics/CassandraMetricsSpec.groovy @@ -6,12 +6,15 @@ import io.micrometer.core.instrument.MeterRegistry import io.micronaut.context.ApplicationContext import io.micronaut.core.value.PropertyResolver import io.micronaut.inject.qualifiers.Qualifiers +import org.testcontainers.DockerClientFactory import org.testcontainers.containers.CassandraContainer import org.testcontainers.utility.DockerImageName import spock.lang.Issue +import spock.lang.Requires import spock.lang.Specification import uk.org.webcompere.systemstubs.environment.EnvironmentVariables +@Requires({ DockerClientFactory.instance().isDockerAvailable() }) class CassandraMetricsSpec extends Specification { void "test Micrometer metrics for cassandra driver"() { diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 6c4be9ce..f56d0647 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -30,5 +30,6 @@ managed-datastax-cassandra-driver-metrics-micrometer = { module = "com.datastax. bcpkix = { module = "org.bouncycastle:bcpkix-jdk18on", version.ref = "bcpkix" } system-stubs = { module = "uk.org.webcompere:system-stubs-core", version.ref = "system-stubs" } testcontainers-cassandra = { module = "org.testcontainers:cassandra" } +testcontainers-junit-jupiter = { module = "org.testcontainers:junit-jupiter"} gradle-micronaut = { module = "io.micronaut.gradle:micronaut-gradle-plugin", version.ref = "micronaut-gradle-plugin" } diff --git a/test-suite-cassandra-micrometer/build.gradle.kts b/test-suite-cassandra-micrometer/build.gradle.kts index be44a87e..f2f48c68 100644 --- a/test-suite-cassandra-micrometer/build.gradle.kts +++ b/test-suite-cassandra-micrometer/build.gradle.kts @@ -25,5 +25,6 @@ dependencies { testImplementation(mnMicrometer.micronaut.micrometer.core) testImplementation(libs.managed.datastax.cassandra.driver.metrics.micrometer) testRuntimeOnly(mnLogging.logback.classic) + testImplementation(mnTestResources.testcontainers.core) } diff --git a/test-suite-cassandra-micrometer/src/test/groovy/io/micronaut/cassandra/micrometertest/CassandraMetricsSpec.groovy b/test-suite-cassandra-micrometer/src/test/groovy/io/micronaut/cassandra/micrometertest/CassandraMetricsSpec.groovy index 08671085..67db9b25 100755 --- a/test-suite-cassandra-micrometer/src/test/groovy/io/micronaut/cassandra/micrometertest/CassandraMetricsSpec.groovy +++ b/test-suite-cassandra-micrometer/src/test/groovy/io/micronaut/cassandra/micrometertest/CassandraMetricsSpec.groovy @@ -10,12 +10,14 @@ import io.micronaut.context.annotation.Property import io.micronaut.inject.qualifiers.Qualifiers import io.micronaut.test.extensions.spock.annotation.MicronautTest import jakarta.inject.Inject +import spock.lang.Requires import spock.lang.Specification - +import org.testcontainers.DockerClientFactory import java.util.concurrent.TimeUnit @Property(name = 'spec.name', value = 'CassandraMetricsSpec') @MicronautTest +@Requires({ DockerClientFactory.instance().isDockerAvailable() }) class CassandraMetricsSpec extends Specification { @Inject diff --git a/test-suite-graal/build.gradle.kts b/test-suite-graal/build.gradle.kts index cd9d7028..3f3ff7e9 100644 --- a/test-suite-graal/build.gradle.kts +++ b/test-suite-graal/build.gradle.kts @@ -25,4 +25,6 @@ dependencies { testRuntimeOnly(mn.snakeyaml) testRuntimeOnly(mnLogging.logback.classic) + testImplementation(platform(mnTestResources.boms.testcontainers)) + testImplementation(libs.testcontainers.junit.jupiter) } diff --git a/test-suite-graal/src/test/java/io/micronaut/cassandra/graaltest/CassandraTest.java b/test-suite-graal/src/test/java/io/micronaut/cassandra/graaltest/CassandraTest.java index 2813ccf9..2e34b282 100644 --- a/test-suite-graal/src/test/java/io/micronaut/cassandra/graaltest/CassandraTest.java +++ b/test-suite-graal/src/test/java/io/micronaut/cassandra/graaltest/CassandraTest.java @@ -4,11 +4,12 @@ import io.micronaut.context.annotation.Property; import org.junit.jupiter.api.Test; - +import org.testcontainers.junit.jupiter.Testcontainers; import io.micronaut.test.extensions.junit5.annotation.MicronautTest; @MicronautTest @Property(name = "spec.name", value = "CassandraTest") +@Testcontainers(disabledWithoutDocker = true) class CassandraTest { @Test diff --git a/tests/cassandra-jackson/src/test/groovy/io/micronaut/cassandra/jacksontest/CassandraHealthEndpointJacksonSpec.groovy b/tests/cassandra-jackson/src/test/groovy/io/micronaut/cassandra/jacksontest/CassandraHealthEndpointJacksonSpec.groovy index 16574c3b..a08672e8 100644 --- a/tests/cassandra-jackson/src/test/groovy/io/micronaut/cassandra/jacksontest/CassandraHealthEndpointJacksonSpec.groovy +++ b/tests/cassandra-jackson/src/test/groovy/io/micronaut/cassandra/jacksontest/CassandraHealthEndpointJacksonSpec.groovy @@ -16,7 +16,10 @@ import spock.lang.AutoCleanup import spock.lang.Issue import spock.lang.Shared import spock.lang.Specification +import org.testcontainers.DockerClientFactory +import spock.lang.Requires +@Requires({ DockerClientFactory.instance().isDockerAvailable() }) @MicronautTest class CassandraHealthEndpointJacksonSpec extends Specification { diff --git a/tests/cassandra-ssl/src/test/groovy/io/micronaut/cassandra/ssltest/CassandraSSLConfigSpec.groovy b/tests/cassandra-ssl/src/test/groovy/io/micronaut/cassandra/ssltest/CassandraSSLConfigSpec.groovy index f5fbfcd1..5cada52b 100644 --- a/tests/cassandra-ssl/src/test/groovy/io/micronaut/cassandra/ssltest/CassandraSSLConfigSpec.groovy +++ b/tests/cassandra-ssl/src/test/groovy/io/micronaut/cassandra/ssltest/CassandraSSLConfigSpec.groovy @@ -19,6 +19,7 @@ import io.micronaut.management.health.indicator.HealthResult import io.micronaut.runtime.server.EmbeddedServer import io.micronaut.test.extensions.spock.annotation.MicronautTest import jakarta.inject.Singleton +import org.testcontainers.DockerClientFactory import org.testcontainers.containers.BindMode import org.testcontainers.containers.CassandraContainer import org.testcontainers.utility.DockerImageName @@ -28,6 +29,7 @@ import spock.lang.Shared import spock.lang.Specification @MicronautTest +@spock.lang.Requires({ DockerClientFactory.instance().isDockerAvailable() }) class CassandraSSLConfigSpec extends Specification { @Shared