From 795bac588240790789c7ac857dc50621e8c307e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Sat, 15 Oct 2022 04:03:44 -0500 Subject: [PATCH 1/3] Add support for flags in DatastoreEmulatorContainer Datastore can start with additional flags such as `--consistency 1.0` which is recommended for testing. --- .../DatastoreEmulatorContainer.java | 23 +++++++++++++++++-- .../DatastoreEmulatorContainerTest.java | 14 +++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java index b0716829875..1214ec47c7c 100644 --- a/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java +++ b/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java @@ -21,13 +21,32 @@ public class DatastoreEmulatorContainer extends GenericContainer e.contains("--consistency 1.0")); + } + } } From f84e0df02c52197429eab2c43da17668624bdb88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edd=C3=BA=20Mel=C3=A9ndez?= Date: Mon, 17 Oct 2022 16:13:10 -0500 Subject: [PATCH 2/3] Rename to flags --- .../containers/DatastoreEmulatorContainer.java | 10 +++++----- .../containers/DatastoreEmulatorContainerTest.java | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java index 1214ec47c7c..db01001d5ec 100644 --- a/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java +++ b/modules/gcloud/src/main/java/org/testcontainers/containers/DatastoreEmulatorContainer.java @@ -21,7 +21,7 @@ public class DatastoreEmulatorContainer extends GenericContainer Date: Fri, 21 Oct 2022 18:15:26 -0500 Subject: [PATCH 3/3] Add test with multiple flags --- .../DatastoreEmulatorContainerTest.java | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java index 3e5da277f3a..b1413edefba 100644 --- a/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java +++ b/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java @@ -10,6 +10,8 @@ import org.junit.Test; import org.testcontainers.utility.DockerImageName; +import java.io.IOException; + import static org.assertj.core.api.Assertions.assertThat; public class DatastoreEmulatorContainerTest { @@ -44,7 +46,7 @@ public void testSimple() { // } @Test - public void testWithFlags() { + public void testWithFlags() throws IOException, InterruptedException { try ( DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer( "gcr.io/google.com/cloudsdktool/cloud-sdk:367.0.0-emulators" @@ -54,6 +56,22 @@ public void testWithFlags() { emulator.start(); assertThat(emulator.getContainerInfo().getConfig().getCmd()).anyMatch(e -> e.contains("--consistency 1.0")); + assertThat(emulator.execInContainer("ls", "/root/.config/").getStdout()).contains("gcloud"); + } + } + + @Test + public void testWithMultipleFlags() throws IOException, InterruptedException { + try ( + DatastoreEmulatorContainer emulator = new DatastoreEmulatorContainer( + "gcr.io/google.com/cloudsdktool/cloud-sdk:367.0.0-emulators" + ) + .withFlags("--consistency 1.0 --data-dir /root/.config/test-gcloud") + ) { + emulator.start(); + + assertThat(emulator.getContainerInfo().getConfig().getCmd()).anyMatch(e -> e.contains("--consistency 1.0")); + assertThat(emulator.execInContainer("ls", "/root/.config/").getStdout()).contains("test-gcloud"); } } }