This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/main by this push: new ec86676 Use testcontainers gcloud for Google PubSub itest ec86676 is described below commit ec8667673de38ef209f0ba8295c688889730c406 Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Wed Sep 1 11:31:52 2021 +0100 Use testcontainers gcloud for Google PubSub itest --- integration-tests/google-pubsub/pom.xml | 2 +- .../google/pubsub/it/GooglePubsubTestResource.java | 22 +++++++--------------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/integration-tests/google-pubsub/pom.xml b/integration-tests/google-pubsub/pom.xml index abe7ce5..119f5a4 100644 --- a/integration-tests/google-pubsub/pom.xml +++ b/integration-tests/google-pubsub/pom.xml @@ -52,7 +52,7 @@ </dependency> <dependency> <groupId>org.testcontainers</groupId> - <artifactId>testcontainers</artifactId> + <artifactId>gcloud</artifactId> <scope>test</scope> </dependency> diff --git a/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTestResource.java b/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTestResource.java index 4e27bd5..6e55116 100644 --- a/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTestResource.java +++ b/integration-tests/google-pubsub/src/test/java/org/apache/camel/quarkus/component/google/pubsub/it/GooglePubsubTestResource.java @@ -36,40 +36,32 @@ import io.grpc.ManagedChannel; import io.grpc.ManagedChannelBuilder; import io.quarkus.test.common.QuarkusTestResourceLifecycleManager; import org.apache.camel.util.CollectionHelper; -import org.testcontainers.containers.GenericContainer; -import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy; +import org.testcontainers.containers.PubSubEmulatorContainer; +import org.testcontainers.utility.DockerImageName; public class GooglePubsubTestResource implements QuarkusTestResourceLifecycleManager { private static final String PROJECT_ID = "test-project"; private static final String TOPIC = "test-topic"; private static final String SUBSCRIPTION = TOPIC + "-subscription"; - private static final String GOOGLE_PUBSUB_IMAGE = "google/cloud-sdk:latest"; - private static final int GOOGLE_PUBSUB_PORT = 8383; + private static final String GOOGLE_PUBSUB_IMAGE = "gcr.io/google.com/cloudsdktool/cloud-sdk:emulators"; - private GenericContainer<?> container; + private PubSubEmulatorContainer container; @Override public Map<String, String> start() { try { - container = new GenericContainer<>(GOOGLE_PUBSUB_IMAGE) - .withCommand("/bin/sh", "-c", - String.format("gcloud beta emulators pubsub start --project %s --host-port=0.0.0.0:%d", - PROJECT_ID, GOOGLE_PUBSUB_PORT)) - .withExposedPorts(GOOGLE_PUBSUB_PORT) - .waitingFor(new LogMessageWaitStrategy().withRegEx("(?s).*started.*$")); - + DockerImageName imageName = DockerImageName.parse(GOOGLE_PUBSUB_IMAGE); + container = new PubSubEmulatorContainer(imageName); container.start(); createTopicSubscriptionPair(TOPIC, SUBSCRIPTION); - String endpointAddress = String.format("%s:%s", container.getContainerIpAddress(), container.getFirstMappedPort()); - return CollectionHelper.mapOf( "project.id", PROJECT_ID, "topic.name", TOPIC, "subscription.name", SUBSCRIPTION, - "camel.component.google-pubsub.endpoint", endpointAddress); + "camel.component.google-pubsub.endpoint", container.getEmulatorEndpoint()); } catch (Exception e) { throw new RuntimeException(e); }