From: Bruno Sakoto Date: Wed, 21 Jul 2021 22:26:07 +0000 (-0400) Subject: Review maven configuration for testcontainers X-Git-Tag: 0.0.1~6 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=bc5644f4b972f4f000043dd6c99ec828bde39730;p=cps%2Fcps-temporal.git Review maven configuration for testcontainers Maven build was not failing when test containers are not able to run because of following maven surefire plugin bug: * https://github.com/junit-team/junit5/issues/2178 * https://issues.apache.org/jira/browse/SUREFIRE-1688 This bug is fixed in surefire 3.0.0-M5. Then, 3.0.0-M4 version coming from oparent is now overridden in pom plugin management. This commit also improves spock testcontainers integration by using the appropriate spock dependency. Issue-ID: CPS-515 Signed-off-by: Bruno Sakoto Change-Id: I3ad902e598ece31601115d6484e520b6321ce8dd --- diff --git a/pom.xml b/pom.xml index 161c7e5..4f5020a 100755 --- a/pom.xml +++ b/pom.xml @@ -65,6 +65,13 @@ pom import + + org.testcontainers + testcontainers-bom + 1.15.3 + pom + import + @@ -148,20 +155,17 @@ org.testcontainers - junit-jupiter - 1.15.2 + spock test org.testcontainers postgresql - 1.15.2 test org.testcontainers kafka - 1.15.3 test @@ -420,6 +424,11 @@ + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M5 + com.google.cloud.tools jib-maven-plugin diff --git a/src/test/groovy/org/onap/cps/temporal/controller/event/listener/kafka/DataUpdatedEventListenerIntegrationSpec.groovy b/src/test/groovy/org/onap/cps/temporal/controller/event/listener/kafka/DataUpdatedEventListenerIntegrationSpec.groovy index 4c362ad..2ba011f 100644 --- a/src/test/groovy/org/onap/cps/temporal/controller/event/listener/kafka/DataUpdatedEventListenerIntegrationSpec.groovy +++ b/src/test/groovy/org/onap/cps/temporal/controller/event/listener/kafka/DataUpdatedEventListenerIntegrationSpec.groovy @@ -29,6 +29,7 @@ import org.springframework.kafka.core.KafkaTemplate import org.springframework.test.context.DynamicPropertyRegistry import org.springframework.test.context.DynamicPropertySource import org.testcontainers.containers.KafkaContainer +import org.testcontainers.spock.Testcontainers import spock.lang.Shared import spock.lang.Specification import spock.util.concurrent.PollingConditions @@ -40,19 +41,18 @@ import java.util.concurrent.TimeUnit * This integration test is running database and kafka dependencies as docker containers. */ @SpringBootTest +@Testcontainers @Slf4j class DataUpdatedEventListenerIntegrationSpec extends Specification { @Shared - def databaseTestContainer = TimescaleContainer.getInstance() + TimescaleContainer databaseTestContainer = TimescaleContainer.getInstance() static kafkaTestContainer = new KafkaContainer() static { Runtime.getRuntime().addShutdownHook(new Thread(kafkaTestContainer::stop)) } - def setupSpec() { - databaseTestContainer.start() kafkaTestContainer.start() } diff --git a/src/test/groovy/org/onap/cps/temporal/repository/NetworkDataRepositorySpec.groovy b/src/test/groovy/org/onap/cps/temporal/repository/NetworkDataRepositorySpec.groovy index f66b35e..c23015c 100644 --- a/src/test/groovy/org/onap/cps/temporal/repository/NetworkDataRepositorySpec.groovy +++ b/src/test/groovy/org/onap/cps/temporal/repository/NetworkDataRepositorySpec.groovy @@ -23,7 +23,7 @@ import org.onap.cps.temporal.domain.NetworkData import org.onap.cps.temporal.repository.containers.TimescaleContainer import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest -import org.testcontainers.junit.jupiter.Testcontainers +import org.testcontainers.spock.Testcontainers import spock.lang.Shared import spock.lang.Specification @@ -49,11 +49,7 @@ class NetworkDataRepositorySpec extends Specification { .schemaSet(schemaSetName).anchor(anchorName).payload(payload).build() @Shared - def databaseTestContainer = TimescaleContainer.getInstance() - - def setupSpec() { - databaseTestContainer.start() - } + TimescaleContainer databaseTestContainer = TimescaleContainer.getInstance() def 'Store latest network data in timeseries database.'() { when: 'a new Network Data is stored'