Skip to content

Commit 8d4c199

Browse files
vault
1 parent 4d119e0 commit 8d4c199

File tree

2 files changed

+19
-19
lines changed

2 files changed

+19
-19
lines changed

docs/modules/vault.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
# Vault Module
2-
3-
[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.
1+
# Vault
42

53
## Install
64

@@ -10,20 +8,22 @@ npm install @testcontainers/vault --save-dev
108

119
## Examples
1210

13-
<!--codeinclude-->
14-
[Start and perform read/write with node-vault:](../../packages/modules/vault/src/vault-container.test.ts) inside_block:readWrite
15-
<!--/codeinclude-->
11+
These examples use the following libraries:
1612

17-
<!--codeinclude-->
18-
[Run Vault CLI init commands at startup:](../../packages/modules/vault/src/vault-container.test.ts) inside_block:initCommands
19-
<!--/codeinclude-->
13+
- [node-vault](https://www.npmjs.com/package/node-vault)
2014

21-
## Why use Vault in integration tests?
15+
npm install node-vault
2216

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:
17+
Choose an image from the [container registry](https://hub.docker.com/r/hashicorp/vault) and substitute `IMAGE`.
2418

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
19+
### Write/read a value
2820

29-
Use this module to test Vault-backed workflows without the need for pre-provisioned Vault infrastructure.
21+
<!--codeinclude-->
22+
[](../../packages/modules/vault/src/vault-container.test.ts) inside_block:readWrite
23+
<!--/codeinclude-->
24+
25+
### Run CLI init commands at startup
26+
27+
<!--codeinclude-->
28+
[](../../packages/modules/vault/src/vault-container.test.ts) inside_block:initCommands
29+
<!--/codeinclude-->

packages/modules/vault/src/vault-container.test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ const VAULT_TOKEN = "my-root-token";
66
const IMAGE = getImage(__dirname);
77

88
describe("VaultContainer", { timeout: 180_000 }, () => {
9-
// inside_block:readWrite {
109
it("should start Vault and allow reading/writing secrets", async () => {
10+
// inside_block:readWrite {
1111
await using container = await new VaultContainer(IMAGE).withVaultToken(VAULT_TOKEN).start();
1212

1313
const client = vault({
@@ -28,11 +28,11 @@ describe("VaultContainer", { timeout: 180_000 }, () => {
2828

2929
expect(data.message).toBe("world");
3030
expect(data.other).toBe("vault");
31+
// }
3132
});
32-
// }
3333

34-
// inside_block:initCommands {
3534
it("should execute init commands using vault CLI", async () => {
35+
// inside_block:initCommands {
3636
await using container = await new VaultContainer(IMAGE)
3737
.withVaultToken(VAULT_TOKEN)
3838
.withInitCommands("secrets enable transit", "write -f transit/keys/my-key")
@@ -42,6 +42,6 @@ describe("VaultContainer", { timeout: 180_000 }, () => {
4242

4343
expect(result.exitCode).toBe(0);
4444
expect(result.output).toContain("my-key");
45+
// }
4546
});
46-
// }
4747
});

0 commit comments

Comments
 (0)