You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Cloud Storage container doesn't rely on a built-in emulator created by Google but instead depends on a fake Cloud Storage server implemented by [Francisco Souza](https://github.com/fsouza). The project is open-source, and the repository can be found at [fsouza/fake-gcs-server](https://github.com/fsouza/fake-gcs-server).
52
+
The Cloud Storage container uses a fake Cloud Storage server by [Francisco Souza](https://github.com/fsouza).
53
+
53
54
<!--codeinclude-->
54
55
[Starting a Cloud Storage Emulator container with the default image](../../packages/modules/gcloud/src/cloudstorage-emulator-container.test.ts) inside_block:cloud-storage
55
56
<!--/codeinclude-->
56
57
57
58
### BigQuery
58
59
59
-
The BigQuery container doesn't rely on a built-in emulator created by Google, but instead depends on an implementation written in Go by [Masaaki Goshima](https://github.com/goccy). The project is open-source, and the repository can be found at [goccy/bigquery-emulator](https://github.com/goccy/bigquery-emulator).
60
+
The BigQuery emulator is by [Masaaki Goshima](https://github.com/goccy)and uses [go-zetasqlite](https://github.com/goccy/go-zetasqlite).
60
61
61
-
BigQuery emulator uses [go-zetasqlite](https://github.com/goccy/go-zetasqlite) to interpret ZetaSQL (the language used in BigQuery) and runs it in SQLite. The [README](https://github.com/goccy/go-zetasqlite?tab=readme-ov-file#status) lists BigQuery features currently supported.
62
62
<!--codeinclude-->
63
63
[Starting a BigQuery Emulator container with the default image](../../packages/modules/gcloud/src/bigquery-emulator-container.test.ts)
64
64
<!--/codeinclude-->
65
+
66
+
### Cloud Spanner
67
+
68
+
The Cloud Spanner emulator container wraps Google's official emulator image.
69
+
70
+
<!--codeinclude-->
71
+
[Starting a Spanner Emulator container and exposing endpoints using explicitly configured client](../../packages/modules/gcloud/src/spanner-emulator-container.test.ts) inside_block:startupWithExplicitClient
72
+
<!--/codeinclude-->
73
+
74
+
<!--codeinclude-->
75
+
[Starting a Spanner Emulator container and exposing endpoints using projectId and SPANNER_EMULATOR_HOST](../../packages/modules/gcloud/src/spanner-emulator-container.test.ts) inside_block:startupWithEnvironmentVariable
76
+
<!--/codeinclude-->
77
+
78
+
<!--codeinclude-->
79
+
[Creating and deleting instance and database via helper](../../packages/modules/gcloud/src/spanner-emulator-helper.test.ts) inside_block:createAndDelete
[Vault](https://www.vaultproject.io/) by HashiCorp is a tool for securely accessing secrets such as API keys, passwords, or certificates. This module allows you to run and initialize a Vault container for integration tests.
4
+
5
+
## Install
6
+
7
+
```bash
8
+
npm install @testcontainers/vault --save-dev
9
+
```
10
+
11
+
## Examples
12
+
13
+
<!--codeinclude-->
14
+
[Start and perform read/write with node-vault:](../../packages/modules/vault/src/vault-container.test.ts) inside_block:readWrite
15
+
<!--/codeinclude-->
16
+
17
+
<!--codeinclude-->
18
+
[Run Vault CLI init commands at startup:](../../packages/modules/vault/src/vault-container.test.ts) inside_block:initCommands
19
+
<!--/codeinclude-->
20
+
21
+
## Why use Vault in integration tests?
22
+
23
+
With the growing adoption of Vault in modern infrastructure, testing components that depend on Vault for secret resolution or encryption can be complex. This module allows:
24
+
25
+
- Starting a local Vault instance during test runs
26
+
- Seeding secrets or enabling engines with Vault CLI
27
+
- Validating app behavior with secured data access
28
+
29
+
Use this module to test Vault-backed workflows without the need for pre-provisioned Vault infrastructure.
0 commit comments