CouchDB
Install
| npm install @testcontainers/couchdb --save-dev
|
Examples
These examples use the following libraries:
Choose an image from the container registry and substitute IMAGE
.
Execute a query
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | await using container = await new CouchDBContainer(IMAGE).start();
const client = nano({
url: container.getUrl(),
});
await client.db.create("users");
const db = client.use<User>("users");
const document = await db.insert({
username: "j-doe",
email: "[email protected]",
});
expect(await db.get(document.id)).toEqual({
_id: document.id,
_rev: document.rev,
username: "j-doe",
email: "[email protected]",
});
|
With credentials
By default, this module uses root:root
as credentials.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | await using container = await new CouchDBContainer(IMAGE).withUsername("admin").withPassword("foo").start();
const client = nano({
url: container.getUrl(),
});
await client.db.create("users");
const db = client.use<User>("users");
const document = await db.insert({
username: "j-doe",
email: "[email protected]",
});
expect(container.getUrl()).toBe(`http://admin:foo@${container.getHost()}:${container.getPort()}`);
expect(await db.get(document.id)).toEqual({
_id: document.id,
_rev: document.rev,
username: "j-doe",
email: "[email protected]",
});
|