Skip to content

GCloud Module

Testcontainers module for the Google Cloud Platform's Cloud SDK.

Install

npm install @testcontainers/gcloud --save-dev

Currently, the module supports Firestore emulators in Native mode and Datastore mode. In order to use them, you should use the following classes:

Mode  Class Container Image
Native mode  FirestoreEmulatorContainer gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators
Datastore mode  DatastoreEmulatorContainer gcr.io/google.com/cloudsdktool/google-cloud-cli:emulators

Examples

Firestore Native mode

it("should work using default version", async () => {
  const firestoreEmulatorContainer = await new FirestoreEmulatorContainer().start();

  await checkFirestore(firestoreEmulatorContainer);

  await firestoreEmulatorContainer.stop();
});
it("should work using version 468.0.0", async () => {
  const firestoreEmulatorContainer = await new FirestoreEmulatorContainer(
    "gcr.io/google.com/cloudsdktool/google-cloud-cli:468.0.0-emulators"
  ).start();

  await checkFirestore(firestoreEmulatorContainer);

  await firestoreEmulatorContainer.stop();
});

Firestore Datastore mode

it("should work using default version", async () => {
  const datastoreEmulatorContainer = await new DatastoreEmulatorContainer().start();

  await checkDatastore(datastoreEmulatorContainer);

  await datastoreEmulatorContainer.stop();
});
it("should work using version 468.0.0", async () => {
  const datastoreEmulatorContainer = await new DatastoreEmulatorContainer(
    "gcr.io/google.com/cloudsdktool/google-cloud-cli:468.0.0-emulators"
  ).start();

  await checkDatastore(datastoreEmulatorContainer);

  await datastoreEmulatorContainer.stop();
});