Skip to content

Commit 080bf94

Browse files
Mongodb
1 parent b7051f7 commit 080bf94

File tree

3 files changed

+27
-20
lines changed

3 files changed

+27
-20
lines changed

docs/modules/mockserver.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ These examples use the following libraries:
2121

2222
Choose an image from the [container registry](https://hub.docker.com/r/mockserver/mockserver) and substitute `IMAGE`.
2323

24-
## Examples
25-
2624
### Mock HTTP request
2725

2826
<!--codeinclude-->

docs/modules/mongodb.md

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
1-
# MongoDB Module
2-
3-
[MongoDB](https://www.mongodb.com/) is an open source NoSQL database management program. NoSQL is used as an alternative to traditional relational databases. NoSQL databases are quite useful for working with large sets of distributed data. MongoDB is a tool that can manage document-oriented information, store or retrieve information.
1+
# MongoDB
42

53
## Install
64

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

119
## Examples
1210

11+
These examples use the following libraries:
12+
13+
- [mongoose](https://www.npmjs.com/package/mongoose)
14+
15+
npm install mongoose
16+
17+
Choose an image from the [container registry](https://hub.docker.com/_/mongo) and substitute `IMAGE`.
18+
19+
### Execute a query
20+
1321
<!--codeinclude-->
14-
[Connect:](../../packages/modules/mongodb/src/mongodb-container.test.ts) inside_block:connectMongo
22+
[](../../packages/modules/mongodb/src/mongodb-container.test.ts) inside_block:connectMongo
1523
<!--/codeinclude-->
1624

25+
### With credentials
26+
1727
<!--codeinclude-->
18-
[Connect with credentials:](../../packages/modules/mongodb/src/mongodb-container.test.ts) inside_block:connectWithCredentials
28+
[](../../packages/modules/mongodb/src/mongodb-container.test.ts) inside_block:connectWithCredentials
1929
<!--/codeinclude-->

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

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,15 @@ const IMAGE = getImage(__dirname);
77
describe("MongoDBContainer", { timeout: 240_000 }, () => {
88
it.each([IMAGE, "mongo:6.0.25", "mongo:4.4.29"])("should work with %s", async (image) => {
99
// connectMongo {
10-
await using mongodbContainer = await new MongoDBContainer(image).start();
10+
await using container = await new MongoDBContainer(image).start();
1111

12-
const db = mongoose.createConnection(mongodbContainer.getConnectionString(), { directConnection: true });
13-
const fooCollection = db.collection("foo");
14-
const obj = { value: 1 };
12+
const db = mongoose.createConnection(container.getConnectionString(), { directConnection: true });
1513

16-
const session = await db.startSession();
17-
await session.withTransaction(async () => await fooCollection.insertOne(obj));
14+
const obj = { value: 1 };
15+
const collection = db.collection("test");
16+
await collection.insertOne(obj);
1817

19-
const result = await fooCollection.findOne({ value: 1 });
18+
const result = await collection.findOne({ value: 1 });
2019
expect(result).toEqual(obj);
2120

2221
await db.close();
@@ -25,21 +24,21 @@ describe("MongoDBContainer", { timeout: 240_000 }, () => {
2524

2625
it("should connect with credentials", async () => {
2726
// connectWithCredentials {
28-
await using mongodbContainer = await new MongoDBContainer(IMAGE)
29-
.withUsername("mongo_user")
30-
.withPassword("mongo_password")
27+
await using container = await new MongoDBContainer(IMAGE)
28+
.withUsername("customUsername")
29+
.withPassword("customPassword")
3130
.start();
31+
// }
3232

33-
const db = mongoose.createConnection(mongodbContainer.getConnectionString(), { directConnection: true });
33+
const db = mongoose.createConnection(container.getConnectionString(), { directConnection: true });
3434

35-
const result = await db.collection("testcontainers").insertOne({ title: "testcontainers" });
35+
const result = await db.collection("test").insertOne({ title: "test" });
3636
const resultId = result.insertedId.toString();
3737
expect(resultId).toBeTruthy();
3838

3939
const rsStatus = await db.db?.admin().replSetGetStatus();
4040
expect(rsStatus?.set).toBe("rs0");
4141

4242
await db.close();
43-
// }
4443
});
4544
});

0 commit comments

Comments
 (0)