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();
});