This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 80db9b9  camel-test-infra-google-pubsub: convert to gcloud 
testcontainers instead of the generic one (#5161)
80db9b9 is described below

commit 80db9b957f49d64b837081c6416d825ea8651ba5
Author: Otavio Rodolfo Piske <orpi...@users.noreply.github.com>
AuthorDate: Wed Mar 3 16:52:42 2021 +0100

    camel-test-infra-google-pubsub: convert to gcloud testcontainers instead of 
the generic one (#5161)
---
 parent/pom.xml                                      |  5 +++++
 test-infra/camel-test-infra-google-pubsub/pom.xml   |  5 +++++
 .../services/GooglePubSubLocalContainerService.java | 21 +++++++--------------
 3 files changed, 17 insertions(+), 14 deletions(-)

diff --git a/parent/pom.xml b/parent/pom.xml
index 85928f0..cdc7e41 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -3559,6 +3559,11 @@
                 <version>${testcontainers-version}</version>
             </dependency>
             <dependency>
+                <groupId>org.testcontainers</groupId>
+                <artifactId>gcloud</artifactId>
+                <version>${testcontainers-version}</version>
+            </dependency>
+            <dependency>
                 <groupId>org.assertj</groupId>
                 <artifactId>assertj-core</artifactId>
                 <version>${assertj-version}</version>
diff --git a/test-infra/camel-test-infra-google-pubsub/pom.xml 
b/test-infra/camel-test-infra-google-pubsub/pom.xml
index 6442a49..e3e1f97 100644
--- a/test-infra/camel-test-infra-google-pubsub/pom.xml
+++ b/test-infra/camel-test-infra-google-pubsub/pom.xml
@@ -45,6 +45,11 @@
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
         </dependency>
+
+        <dependency>
+            <groupId>org.testcontainers</groupId>
+            <artifactId>gcloud</artifactId>
+        </dependency>
     </dependencies>
 
     <build>
diff --git 
a/test-infra/camel-test-infra-google-pubsub/src/test/java/org/apache/camel/test/infra/google/pubsub/services/GooglePubSubLocalContainerService.java
 
b/test-infra/camel-test-infra-google-pubsub/src/test/java/org/apache/camel/test/infra/google/pubsub/services/GooglePubSubLocalContainerService.java
index 16d53f7..561721f 100644
--- 
a/test-infra/camel-test-infra-google-pubsub/src/test/java/org/apache/camel/test/infra/google/pubsub/services/GooglePubSubLocalContainerService.java
+++ 
b/test-infra/camel-test-infra-google-pubsub/src/test/java/org/apache/camel/test/infra/google/pubsub/services/GooglePubSubLocalContainerService.java
@@ -20,21 +20,20 @@ import 
org.apache.camel.test.infra.common.services.ContainerService;
 import org.apache.camel.test.infra.google.pubsub.common.GooglePubSubProperties;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.testcontainers.containers.GenericContainer;
-import org.testcontainers.containers.wait.strategy.LogMessageWaitStrategy;
+import org.testcontainers.containers.PubSubEmulatorContainer;
+import org.testcontainers.utility.DockerImageName;
 
-public class GooglePubSubLocalContainerService implements GooglePubSubService, 
ContainerService<GenericContainer> {
+public class GooglePubSubLocalContainerService implements GooglePubSubService, 
ContainerService<PubSubEmulatorContainer> {
     public static final String PROJECT_ID;
     private static final Logger LOG = 
LoggerFactory.getLogger(GooglePubSubLocalContainerService.class);
-    private static final String CONTAINER_NAME = "google/cloud-sdk:latest";
+    private static final String CONTAINER_NAME = 
"gcr.io/google.com/cloudsdktool/cloud-sdk:emulators";
     private static final String DEFAULT_PROJECT_ID = "test-project";
-    private static final int DEFAULT_PORT = 8383;
 
     static {
         PROJECT_ID = System.getProperty(GooglePubSubProperties.PROJECT_ID, 
DEFAULT_PROJECT_ID);
     }
 
-    private GenericContainer container;
+    private PubSubEmulatorContainer container;
 
     public GooglePubSubLocalContainerService() {
         String containerName = 
System.getProperty(GooglePubSubProperties.CONTAINER_NAME, CONTAINER_NAME);
@@ -46,13 +45,7 @@ public class GooglePubSubLocalContainerService implements 
GooglePubSubService, C
     }
 
     protected void initContainer(String containerName) {
-        String command = String.format("gcloud beta emulators pubsub start 
--project %s --host-port=0.0.0.0:%d",
-                PROJECT_ID, DEFAULT_PORT);
-
-        container = new GenericContainer<>(containerName)
-                .withExposedPorts(DEFAULT_PORT)
-                .withCommand("/bin/sh", "-c", command)
-                .waitingFor(new 
LogMessageWaitStrategy().withRegEx("(?s).*started.*$"));
+        container = new 
PubSubEmulatorContainer(DockerImageName.parse(containerName));
     }
 
     @Override
@@ -77,7 +70,7 @@ public class GooglePubSubLocalContainerService implements 
GooglePubSubService, C
     }
 
     @Override
-    public GenericContainer getContainer() {
+    public PubSubEmulatorContainer getContainer() {
         return container;
     }
 

Reply via email to