Skip to content

Commit fb325d4

Browse files
committed
Fix docs, change MongoDb with MongoDB, remove logReplicaSetStatus
1 parent a773cc5 commit fb325d4

3 files changed

Lines changed: 23 additions & 36 deletions

File tree

docs/modules/databases/mongodb.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,23 @@
33
!!! note
44
This module is INCUBATING. While it is ready for use and operational in the current version of Testcontainers, it is possible that it may receive breaking changes in the future. See [our contributing guidelines](/contributing/#incubating-modules) for more information on our incubating modules policy.
55

6-
# Java8 MongoDbContainer for constructing a single node MongoDB replica set. To construct a multi-node MongoDB cluster, consider the [mongodb-replica-set project](https://github.com/silaev/mongodb-replica-set/)
7-
86
## Usage example
97

10-
The following example shows how to create a MongoDbContainer
8+
The following example shows how to create a MongoDBContainer:
119

1210
<!--codeinclude-->
13-
[Creating a MongoDB container](../../../modules/mongodb/src/test/java/org/testcontainers/containers/MongoDbContainerTest.java) inside_block:creatingMongoDbContainer
11+
[Creating a MongoDB container](../../../modules/mongodb/src/test/java/org/testcontainers/containers/MongoDBContainerTest.java) inside_block:creatingMongoDBContainer
1412
<!--/codeinclude-->
1513

14+
And how to start it:
15+
1616
<!--codeinclude-->
17-
[Starting a MongoDB container](../../../modules/mongodb/src/test/java/org/testcontainers/containers/MongoDbContainerTest.java) inside_block:startingMongoDbContainer
17+
[Starting a MongoDB container](../../../modules/mongodb/src/test/java/org/testcontainers/containers/MongoDBContainerTest.java) inside_block:startingMongoDBContainer
1818
<!--/codeinclude-->
1919

20+
!!! note
21+
To construct a multi-node MongoDB cluster, consider the [mongodb-replica-set project](https://github.com/silaev/mongodb-replica-set/)
22+
2023
#### Motivation
2124
Implement a reusable, cross-platform, simple to install solution that doesn't depend on
2225
fixed ports to test MongoDB transactions.
@@ -31,7 +34,7 @@ For instance, to initialize a single node replica set on fixed ports via Docker,
3134
* Provide a special url for a user to employ with a MongoDB driver without specifying replicaSet
3235

3336
As we can see, there is a lot of operations to execute and we even haven't touched a non-fixed port approach.
34-
That's where the MongoDbContainer might come in handy.
37+
That's where the MongoDBContainer might come in handy.
3538

3639
## Adding this module to your project dependencies
3740

modules/mongodb/src/main/java/org/testcontainers/containers/MongoDbContainer.java renamed to modules/mongodb/src/main/java/org/testcontainers/containers/MongoDBContainer.java

Lines changed: 8 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -11,30 +11,28 @@
1111
/**
1212
* Constructs a single node MongoDB replica set for testing transactions.
1313
* <p>To construct a multi-node MongoDB cluster, consider the <a href="https://github.com/silaev/mongodb-replica-set/">mongodb-replica-set project on GitHub</a>
14-
* <p>Tested on a Mongo DB version 4.0.10+ (that is the default version if not specified).
15-
*
16-
* @author Konstantin Silaev on 9/30/2019
14+
* <p>Tested on a MongoDB version 4.0.10+ (that is the default version if not specified).
1715
*/
1816
@Slf4j
19-
public class MongoDbContainer extends GenericContainer<MongoDbContainer> {
17+
public class MongoDBContainer extends GenericContainer<MongoDBContainer> {
2018
private static final int CONTAINER_EXIT_CODE_OK = 0;
2119
private static final int MONGODB_INTERNAL_PORT = 27017;
2220
private static final int AWAIT_INIT_REPLICA_SET_ATTEMPTS = 60;
2321
private static final String MONGODB_VERSION_DEFAULT = "4.0.10";
2422
private static final String MONGODB_DATABASE_NAME_DEFAULT = "test";
2523

26-
public MongoDbContainer() {
24+
public MongoDBContainer() {
2725
super("mongo:" + MONGODB_VERSION_DEFAULT);
28-
configureMongoDbContainer();
26+
configureMongoDBContainer();
2927

3028
}
3129

32-
public MongoDbContainer(@NonNull final String dockerImageName) {
30+
public MongoDBContainer(@NonNull final String dockerImageName) {
3331
super(dockerImageName);
34-
configureMongoDbContainer();
32+
configureMongoDBContainer();
3533
}
3634

37-
private void configureMongoDbContainer() {
35+
private void configureMongoDBContainer() {
3836
withExposedPorts(MONGODB_INTERNAL_PORT);
3937
withCommand("--replSet", "docker-rs");
4038
waitingFor(
@@ -44,7 +42,7 @@ private void configureMongoDbContainer() {
4442

4543
public String getReplicaSetUrl() {
4644
if (!isRunning()) {
47-
throw new IllegalStateException("MongoDbContainer should be started first");
45+
throw new IllegalStateException("MongoDBContainer should be started first");
4846
}
4947
return String.format(
5048
"mongodb://%s:%d/%s",
@@ -54,25 +52,11 @@ public String getReplicaSetUrl() {
5452
);
5553
}
5654

57-
@Override
58-
public void start() {
59-
super.start();
60-
logReplicaSetStatus();
61-
}
62-
6355
@Override
6456
protected void containerIsStarted(InspectContainerResponse containerInfo) {
6557
initReplicaSet();
6658
}
6759

68-
@SneakyThrows(value = {IOException.class, InterruptedException.class})
69-
private void logReplicaSetStatus() {
70-
log.debug(
71-
"REPLICA SET STATUS:\n{}",
72-
execInContainer(buildMongoEvalCommand("rs.status()")).getStdout()
73-
);
74-
}
75-
7660
private String[] buildMongoEvalCommand(final String command) {
7761
return new String[]{"mongo", "--eval", command};
7862
}

modules/mongodb/src/test/java/org/testcontainers/containers/MongoDbContainerTest.java renamed to modules/mongodb/src/test/java/org/testcontainers/containers/MongoDBContainerTest.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,23 @@
1616
import static org.junit.Assert.assertNotNull;
1717

1818

19-
public class MongoDbContainerTest {
19+
public class MongoDBContainerTest {
2020
/**
2121
* Taken from <a href="https://docs.mongodb.com/manual/core/transactions/">https://docs.mongodb.com</a>
2222
*/
2323
@Test
2424
public void shouldExecuteTransactions() {
2525
try (
26-
// creatingMongoDbContainer {
27-
final MongoDbContainer mongoDbContainer = new MongoDbContainer()
26+
// creatingMongoDBContainer {
27+
final MongoDBContainer mongoDBContainer = new MongoDBContainer()
2828
// }
2929
) {
3030

31-
// startingMongoDbContainer {
32-
mongoDbContainer.start();
31+
// startingMongoDBContainer {
32+
mongoDBContainer.start();
3333
// }
3434

35-
final String mongoRsUrl = mongoDbContainer.getReplicaSetUrl();
35+
final String mongoRsUrl = mongoDBContainer.getReplicaSetUrl();
3636
assertNotNull(mongoRsUrl);
3737
final MongoClient mongoSyncClient = MongoClients.create(mongoRsUrl);
3838
mongoSyncClient.getDatabase("mydb1").getCollection("foo")

0 commit comments

Comments
 (0)