From 2c9bde378898d545f8c3f45a33f791fa92080b42 Mon Sep 17 00:00:00 2001 From: spencergibb Date: Thu, 9 Mar 2023 14:33:23 -0500 Subject: [PATCH] Updates to Testcontainers consul container. Fixes gh-803 --- pom.xml | 2 +- spring-cloud-consul-binder/pom.xml | 2 +- spring-cloud-consul-config/pom.xml | 2 +- spring-cloud-consul-core/pom.xml | 2 +- .../cloud/consul/test/ConsulTestcontainers.java | 17 +++++++---------- spring-cloud-consul-discovery/pom.xml | 2 +- .../ConsulDiscoveryClientNoPortTests.java | 6 +++--- .../pom.xml | 2 +- .../pom.xml | 2 +- 9 files changed, 17 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 70e9588b..a19a0b28 100644 --- a/pom.xml +++ b/pom.xml @@ -153,7 +153,7 @@ org.testcontainers - testcontainers + consul ${testcontainers.version} diff --git a/spring-cloud-consul-binder/pom.xml b/spring-cloud-consul-binder/pom.xml index 877b4885..46937b7b 100644 --- a/spring-cloud-consul-binder/pom.xml +++ b/spring-cloud-consul-binder/pom.xml @@ -70,7 +70,7 @@ org.testcontainers - testcontainers + consul test diff --git a/spring-cloud-consul-config/pom.xml b/spring-cloud-consul-config/pom.xml index 91175051..13b4a11b 100644 --- a/spring-cloud-consul-config/pom.xml +++ b/spring-cloud-consul-config/pom.xml @@ -84,7 +84,7 @@ org.testcontainers - testcontainers + consul test diff --git a/spring-cloud-consul-core/pom.xml b/spring-cloud-consul-core/pom.xml index 9366f4e3..bee0485c 100644 --- a/spring-cloud-consul-core/pom.xml +++ b/spring-cloud-consul-core/pom.xml @@ -100,7 +100,7 @@ org.testcontainers - testcontainers + consul test diff --git a/spring-cloud-consul-core/src/test/java/org/springframework/cloud/consul/test/ConsulTestcontainers.java b/spring-cloud-consul-core/src/test/java/org/springframework/cloud/consul/test/ConsulTestcontainers.java index f4ca4898..7756b3f3 100644 --- a/spring-cloud-consul-core/src/test/java/org/springframework/cloud/consul/test/ConsulTestcontainers.java +++ b/spring-cloud-consul-core/src/test/java/org/springframework/cloud/consul/test/ConsulTestcontainers.java @@ -21,9 +21,8 @@ import java.util.HashMap; import com.ecwid.consul.v1.ConsulClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.testcontainers.containers.GenericContainer; +import org.testcontainers.consul.ConsulContainer; import org.testcontainers.containers.output.Slf4jLogConsumer; -import org.testcontainers.containers.wait.strategy.Wait; import org.springframework.cloud.consul.ConsulProperties; import org.springframework.context.ApplicationContextInitializer; @@ -43,18 +42,16 @@ public class ConsulTestcontainers implements ApplicationContextInitializer consul = createConsulContainer(); + public static ConsulContainer consul = createConsulContainer(); - public static GenericContainer createConsulContainer() { + public static ConsulContainer createConsulContainer() { return createConsulContainer("1.7"); } - public static GenericContainer createConsulContainer(String consulVersion) { + public static ConsulContainer createConsulContainer(String consulVersion) { String dockerImageName = "consul:" + consulVersion; - return new GenericContainer<>(dockerImageName) - .withLogConsumer(new Slf4jLogConsumer(logger).withSeparateOutputStreams()) - .waitingFor(Wait.forHttp("/v1/status/leader")).withExposedPorts(DEFAULT_PORT) - .withCommand("agent", "-dev", "-server", "-bootstrap", "-client", "0.0.0.0", "-log-level", "trace"); + return new ConsulContainer(dockerImageName) + .withLogConsumer(new Slf4jLogConsumer(logger).withSeparateOutputStreams()); } @Override @@ -67,7 +64,7 @@ public class ConsulTestcontainers implements ApplicationContextInitializer map = new HashMap<>(); map.put(ConsulProperties.PREFIX + ".port", String.valueOf(mappedPort)); - map.put(ConsulProperties.PREFIX + ".host", consul.getContainerIpAddress()); + map.put(ConsulProperties.PREFIX + ".host", consul.getHost()); sources.addFirst(new MapPropertySource("consulTestcontainer", map)); } diff --git a/spring-cloud-consul-discovery/pom.xml b/spring-cloud-consul-discovery/pom.xml index 8df986f9..a2f6ea76 100644 --- a/spring-cloud-consul-discovery/pom.xml +++ b/spring-cloud-consul-discovery/pom.xml @@ -131,7 +131,7 @@ org.testcontainers - testcontainers + consul test diff --git a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientNoPortTests.java b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientNoPortTests.java index 27be1589..9f2f28f1 100644 --- a/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientNoPortTests.java +++ b/spring-cloud-consul-discovery/src/test/java/org/springframework/cloud/consul/discovery/ConsulDiscoveryClientNoPortTests.java @@ -21,7 +21,7 @@ import java.util.List; import com.ecwid.consul.v1.ConsulClient; import com.ecwid.consul.v1.agent.model.NewService; import org.junit.jupiter.api.Test; -import org.testcontainers.containers.GenericContainer; +import org.testcontainers.consul.ConsulContainer; import org.testcontainers.junit.jupiter.Container; import org.testcontainers.junit.jupiter.Testcontainers; @@ -54,11 +54,11 @@ public class ConsulDiscoveryClientNoPortTests { // 1.10 introduces different data for port @Container - static GenericContainer consul = ConsulTestcontainers.createConsulContainer("1.10"); + static ConsulContainer consul = ConsulTestcontainers.createConsulContainer("1.10"); @DynamicPropertySource static void consulProperties(DynamicPropertyRegistry registry) { - registry.add(ConsulProperties.PREFIX + ".host", consul::getContainerIpAddress); + registry.add(ConsulProperties.PREFIX + ".host", consul::getHost); registry.add(ConsulProperties.PREFIX + ".port", () -> consul.getMappedPort(ConsulTestcontainers.DEFAULT_PORT)); } diff --git a/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-retry-tests/pom.xml b/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-retry-tests/pom.xml index 84134ab6..bd4d3b0f 100644 --- a/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-retry-tests/pom.xml +++ b/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-retry-tests/pom.xml @@ -69,7 +69,7 @@ org.testcontainers - testcontainers + consul test diff --git a/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-tests/pom.xml b/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-tests/pom.xml index 6e04d037..9fef73c3 100644 --- a/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-tests/pom.xml +++ b/spring-cloud-consul-integration-tests/spring-cloud-consul-configdata-tests/pom.xml @@ -54,7 +54,7 @@ org.testcontainers - testcontainers + consul test