diff --git a/docs/modules/gcloud.md b/docs/modules/gcloud.md index 049931b3be1..dc86e7f4892 100644 --- a/docs/modules/gcloud.md +++ b/docs/modules/gcloud.md @@ -23,11 +23,11 @@ PubSubEmulatorContainer | [gcr.io/google.com/cloudsdktool/google-cloud-cli:emula Start BigQuery Emulator during a test: -[Starting a BigQuery Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java) inside_block:emulatorContainer +[Starting a BigQuery Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/BigQueryEmulatorContainerTest.java) inside_block:emulatorContainer -[Creating BigQuery Client](../../modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java) inside_block:bigQueryClient +[Creating BigQuery Client](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/BigQueryEmulatorContainerTest.java) inside_block:bigQueryClient ### Bigtable @@ -35,19 +35,19 @@ Start BigQuery Emulator during a test: Start Bigtable Emulator during a test: -[Starting a Bigtable Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java) inside_block:emulatorContainer +[Starting a Bigtable Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/BigtableEmulatorContainerTest.java) inside_block:emulatorContainer Create a test Bigtable table in the Emulator: -[Create a test table](../../modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java) inside_block:createTable +[Create a test table](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/BigtableEmulatorContainerTest.java) inside_block:createTable Test against the Emulator: -[Testing with a Bigtable Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java) inside_block:testWithEmulatorContainer +[Testing with a Bigtable Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/BigtableEmulatorContainerTest.java) inside_block:testWithEmulatorContainer ### Datastore @@ -55,18 +55,18 @@ Test against the Emulator: Start Datastore Emulator during a test: -[Starting a Datastore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java) inside_block:creatingDatastoreEmulatorContainer +[Starting a Datastore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/DatastoreEmulatorContainerTest.java) inside_block:creatingDatastoreEmulatorContainer And test against the Emulator: -[Testing with a Datastore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java) inside_block:startingDatastoreEmulatorContainer +[Testing with a Datastore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/DatastoreEmulatorContainerTest.java) inside_block:startingDatastoreEmulatorContainer See more examples: - * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java) + * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/gcloud/DatastoreEmulatorContainerTest.java) * [With Spring Boot](https://github.com/saturnism/testcontainers-gcloud-examples/tree/main/springboot/datastore-example/src/test/java/com/example/springboot/datastore) ### Firestore @@ -74,18 +74,18 @@ See more examples: Start Firestore Emulator during a test: -[Starting a Firestore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java) inside_block:emulatorContainer +[Starting a Firestore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/FirestoreEmulatorContainerTest.java) inside_block:emulatorContainer And test against the Emulator: -[Testing with a Firestore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java) inside_block:testWithEmulatorContainer +[Testing with a Firestore Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/FirestoreEmulatorContainerTest.java) inside_block:testWithEmulatorContainer See more examples: - * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java) + * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/gcloud/FirestoreEmulatorContainerTest.java) * [With Spring Boot](https://github.com/saturnism/testcontainers-gcloud-examples/tree/main/springboot/firestore-example/src/test/java/com/example/springboot/firestore/FirestoreIntegrationTests.java) ### Spanner @@ -93,30 +93,30 @@ See more examples: Start Spanner Emulator during a test: -[Starting a Spanner Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java) inside_block:emulatorContainer +[Starting a Spanner Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java) inside_block:emulatorContainer Create a test Spanner Instance in the Emulator: -[Create a test Spanner instance](../../modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java) inside_block:createInstance +[Create a test Spanner instance](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java) inside_block:createInstance Create a test Database in the Emulator: -[Creating a test Spanner database](../../modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java) inside_block:createDatabase +[Creating a test Spanner database](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java) inside_block:createDatabase And test against the Emulator: -[Testing with a Spanner Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java) inside_block:testWithEmulatorContainer +[Testing with a Spanner Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java) inside_block:testWithEmulatorContainer See more examples: - * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java) + * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java) * [With Spring Boot](https://github.com/saturnism/testcontainers-gcloud-examples/tree/main/springboot/spanner-example/src/test/java/com/example/springboot/spanner/SpannerIntegrationTests.java) ### Pub/Sub @@ -124,30 +124,30 @@ See more examples: Start Pub/Sub Emulator during a test: -[Starting a Pub/Sub Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java) inside_block:emulatorContainer +[Starting a Pub/Sub Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java) inside_block:emulatorContainer Create a test Pub/Sub topic in the Emulator: -[Create a test topic](../../modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java) inside_block:createTopic +[Create a test topic](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java) inside_block:createTopic Create a test Pub/Sub subscription in the Emulator: -[Create a test subscription](../../modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java) inside_block:createSubscription +[Create a test subscription](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java) inside_block:createSubscription And test against the Emulator: -[Testing with a Pub/Sub Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java) inside_block:testWithEmulatorContainer +[Testing with a Pub/Sub Emulator container](../../modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java) inside_block:testWithEmulatorContainer See more examples: - * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java) + * [Full sample code](https://github.com/testcontainers/testcontainers-java/tree/main/modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java) * [With Spring Boot](https://github.com/saturnism/testcontainers-gcloud-examples/tree/main/springboot/pubsub-example/src/test/java/com/example/springboot/pubsub/PubSubIntegrationTests.java) ## Adding this module to your project dependencies diff --git a/modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java index 6831785b0a5..6590c6cab5b 100644 --- a/modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java +++ b/modules/gcloud/src/main/java/org/testcontainers/containers/BigQueryEmulatorContainer.java @@ -7,7 +7,10 @@ *
* Supported image: {@code ghcr.io/goccy/bigquery-emulator} *
+ *
+ * @deprecated use {@link org.testcontainers.gcloud.BigQueryEmulatorContainer} instead.
*/
+@Deprecated
public class BigQueryEmulatorContainer extends GenericContainer
* Default port is 9000.
+ *
+ * @deprecated use {@link org.testcontainers.gcloud.BigtableEmulatorContainer} instead.
*/
+@Deprecated
public class BigtableEmulatorContainer extends GenericContainer
* Default port is 8081.
+ *
+ * @deprecated use {@link org.testcontainers.gcloud.DatastoreEmulatorContainer} instead.
*/
+@Deprecated
public class DatastoreEmulatorContainer extends GenericContainer
* Default port is 8080.
+ *
+ * @deprecated use {@link org.testcontainers.gcloud.FirestoreEmulatorContainer} instead.
*/
+@Deprecated
public class FirestoreEmulatorContainer extends GenericContainer
* Default port is 8085.
+ *
+ * @deprecated use {@link org.testcontainers.gcloud.PubSubEmulatorContainer} instead.
*/
+@Deprecated
public class PubSubEmulatorContainer extends GenericContainer
* Supported image: {@code gcr.io/cloud-spanner-emulator/emulator}
+ *
+ * @deprecated use {@link org.testcontainers.gcloud.SpannerEmulatorContainer} instead.
*/
+@Deprecated
public class SpannerEmulatorContainer extends GenericContainer
+ * Supported image: {@code ghcr.io/goccy/bigquery-emulator}
+ *
+ */
+public class BigQueryEmulatorContainer extends GenericContainer
+ * Supported images: {@code gcr.io/google.com/cloudsdktool/google-cloud-cli}, {@code gcr.io/google.com/cloudsdktool/cloud-sdk}
+ *
+ * Default port is 9000.
+ */
+public class BigtableEmulatorContainer extends GenericContainer
+ * Supported images: {@code gcr.io/google.com/cloudsdktool/google-cloud-cli}, {@code gcr.io/google.com/cloudsdktool/cloud-sdk}
+ *
+ * Default port is 8081.
+ */
+public class DatastoreEmulatorContainer extends GenericContainer
+ * Supported images: {@code gcr.io/google.com/cloudsdktool/google-cloud-cli}, {@code gcr.io/google.com/cloudsdktool/cloud-sdk}
+ *
+ * Default port is 8080.
+ */
+public class FirestoreEmulatorContainer extends GenericContainer
+ * Supported images: {@code gcr.io/google.com/cloudsdktool/google-cloud-cli}, {@code gcr.io/google.com/cloudsdktool/cloud-sdk}
+ *
+ * Default port is 8085.
+ */
+public class PubSubEmulatorContainer extends GenericContainer
+ * Supported image: {@code gcr.io/cloud-spanner-emulator/emulator}
+ */
+public class SpannerEmulatorContainer extends GenericContainerhost:port pair corresponding to the address on which the emulator is
+ * reachable from the test host machine. Directly usable as a parameter to the
+ * com.google.cloud.ServiceOptions.Builder#setHost(java.lang.String) method.
+ */
+ public String getEmulatorEndpoint() {
+ return getHost() + ":" + getEmulatorPort();
+ }
+
+ public int getEmulatorPort() {
+ return getMappedPort(PORT);
+ }
+}
diff --git a/modules/gcloud/src/main/java/org/testcontainers/gcloud/DatastoreEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/gcloud/DatastoreEmulatorContainer.java
new file mode 100644
index 00000000000..360aedce686
--- /dev/null
+++ b/modules/gcloud/src/main/java/org/testcontainers/gcloud/DatastoreEmulatorContainer.java
@@ -0,0 +1,73 @@
+package org.testcontainers.gcloud;
+
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.DockerImageName;
+
+/**
+ * A Datastore container that relies in google cloud sdk.
+ * host:port pair corresponding to the address on which the emulator is
+ * reachable from the test host machine. Directly usable as a parameter to the
+ * com.google.cloud.ServiceOptions.Builder#setHost(java.lang.String) method.
+ */
+ public String getEmulatorEndpoint() {
+ return getHost() + ":" + getMappedPort(HTTP_PORT);
+ }
+
+ public String getProjectId() {
+ return PROJECT_ID;
+ }
+}
diff --git a/modules/gcloud/src/main/java/org/testcontainers/gcloud/FirestoreEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/gcloud/FirestoreEmulatorContainer.java
new file mode 100644
index 00000000000..140f7166307
--- /dev/null
+++ b/modules/gcloud/src/main/java/org/testcontainers/gcloud/FirestoreEmulatorContainer.java
@@ -0,0 +1,64 @@
+package org.testcontainers.gcloud;
+
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.DockerImageName;
+
+/**
+ * A Firestore container that relies in google cloud sdk.
+ * host:port pair corresponding to the address on which the emulator is
+ * reachable from the test host machine. Directly usable as a parameter to the
+ * com.google.cloud.ServiceOptions.Builder#setHost(java.lang.String) method.
+ */
+ public String getEmulatorEndpoint() {
+ return getHost() + ":" + getMappedPort(8080);
+ }
+}
diff --git a/modules/gcloud/src/main/java/org/testcontainers/gcloud/PubSubEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/gcloud/PubSubEmulatorContainer.java
new file mode 100644
index 00000000000..417ee8dc524
--- /dev/null
+++ b/modules/gcloud/src/main/java/org/testcontainers/gcloud/PubSubEmulatorContainer.java
@@ -0,0 +1,49 @@
+package org.testcontainers.gcloud;
+
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.DockerImageName;
+
+/**
+ * A PubSub container that relies in google cloud sdk.
+ * host:port pair corresponding to the address on which the emulator is
+ * reachable from the test host machine. Directly usable as a parameter to the
+ * io.grpc.ManagedChannelBuilder#forTarget(java.lang.String) method.
+ */
+ public String getEmulatorEndpoint() {
+ return getHost() + ":" + getMappedPort(PORT);
+ }
+}
diff --git a/modules/gcloud/src/main/java/org/testcontainers/gcloud/SpannerEmulatorContainer.java b/modules/gcloud/src/main/java/org/testcontainers/gcloud/SpannerEmulatorContainer.java
new file mode 100644
index 00000000000..aa99f6be5f4
--- /dev/null
+++ b/modules/gcloud/src/main/java/org/testcontainers/gcloud/SpannerEmulatorContainer.java
@@ -0,0 +1,50 @@
+package org.testcontainers.gcloud;
+
+import org.testcontainers.containers.GenericContainer;
+import org.testcontainers.containers.wait.strategy.Wait;
+import org.testcontainers.utility.DockerImageName;
+
+/**
+ * A Spanner container. Default ports: 9010 for GRPC and 9020 for HTTP.
+ * host:port pair corresponding to the address on which the emulator's
+ * gRPC endpoint is reachable from the test host machine. Directly usable as a parameter to the
+ * com.google.cloud.spanner.SpannerOptions.Builder#setEmulatorHost(java.lang.String) method.
+ */
+ public String getEmulatorGrpcEndpoint() {
+ return getHost() + ":" + getMappedPort(GRPC_PORT);
+ }
+
+ /**
+ * @return a host:port pair corresponding to the address on which the emulator's
+ * HTTP REST endpoint is reachable from the test host machine.
+ */
+ public String getEmulatorHttpEndpoint() {
+ return getHost() + ":" + getMappedPort(HTTP_PORT);
+ }
+}
diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/gcloud/BigQueryEmulatorContainerTest.java
similarity index 99%
rename from modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java
rename to modules/gcloud/src/test/java/org/testcontainers/gcloud/BigQueryEmulatorContainerTest.java
index 0337cd563b9..7d657830fa4 100644
--- a/modules/gcloud/src/test/java/org/testcontainers/containers/BigQueryEmulatorContainerTest.java
+++ b/modules/gcloud/src/test/java/org/testcontainers/gcloud/BigQueryEmulatorContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.gcloud;
import com.google.api.core.ApiFuture;
import com.google.api.gax.core.NoCredentialsProvider;
diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/gcloud/BigtableEmulatorContainerTest.java
similarity index 99%
rename from modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java
rename to modules/gcloud/src/test/java/org/testcontainers/gcloud/BigtableEmulatorContainerTest.java
index 8c84cfa79db..64f19a42df5 100644
--- a/modules/gcloud/src/test/java/org/testcontainers/containers/BigtableEmulatorContainerTest.java
+++ b/modules/gcloud/src/test/java/org/testcontainers/gcloud/BigtableEmulatorContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.gcloud;
import com.google.api.gax.core.CredentialsProvider;
import com.google.api.gax.core.NoCredentialsProvider;
diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/gcloud/DatastoreEmulatorContainerTest.java
similarity index 98%
rename from modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java
rename to modules/gcloud/src/test/java/org/testcontainers/gcloud/DatastoreEmulatorContainerTest.java
index 1b743f1e3cd..dceec1af215 100644
--- a/modules/gcloud/src/test/java/org/testcontainers/containers/DatastoreEmulatorContainerTest.java
+++ b/modules/gcloud/src/test/java/org/testcontainers/gcloud/DatastoreEmulatorContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.gcloud;
import com.google.cloud.NoCredentials;
import com.google.cloud.ServiceOptions;
diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/gcloud/FirestoreEmulatorContainerTest.java
similarity index 98%
rename from modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java
rename to modules/gcloud/src/test/java/org/testcontainers/gcloud/FirestoreEmulatorContainerTest.java
index 57494ef5535..2c3233388aa 100644
--- a/modules/gcloud/src/test/java/org/testcontainers/containers/FirestoreEmulatorContainerTest.java
+++ b/modules/gcloud/src/test/java/org/testcontainers/gcloud/FirestoreEmulatorContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.gcloud;
import com.google.api.core.ApiFuture;
import com.google.cloud.NoCredentials;
diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java
similarity index 99%
rename from modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java
rename to modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java
index 7d92c50a775..eb3ed0260ee 100644
--- a/modules/gcloud/src/test/java/org/testcontainers/containers/PubSubEmulatorContainerTest.java
+++ b/modules/gcloud/src/test/java/org/testcontainers/gcloud/PubSubEmulatorContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.gcloud;
import com.google.api.gax.core.NoCredentialsProvider;
import com.google.api.gax.grpc.GrpcTransportChannel;
diff --git a/modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java b/modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java
similarity index 99%
rename from modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java
rename to modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java
index 3d651ad6a53..2d6ac963882 100644
--- a/modules/gcloud/src/test/java/org/testcontainers/containers/SpannerEmulatorContainerTest.java
+++ b/modules/gcloud/src/test/java/org/testcontainers/gcloud/SpannerEmulatorContainerTest.java
@@ -1,4 +1,4 @@
-package org.testcontainers.containers;
+package org.testcontainers.gcloud;
import com.google.cloud.NoCredentials;
import com.google.cloud.spanner.Database;