Skip to content

Commit 455df68

Browse files
committed
Refactor: encapsulate MONGODB_IMAGE_NAME
1 parent 557de7a commit 455df68

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

bosk-mongo/src/test/java/works/bosk/drivers/mongo/internal/MongoService.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public class MongoService implements Closeable {
4141
// We do logging in some static initializers, so this needs to be initialized first
4242
private static final Logger LOGGER = LoggerFactory.getLogger(MongoService.class);
4343

44-
public static final DockerImageName MONGODB_IMAGE_NAME = DockerImageName.parse("mongo:8.0");
44+
private static final DockerImageName MONGODB_IMAGE_NAME = DockerImageName.parse("mongo:8.0");
4545

4646
private final MongoClient mongoClient = MongoClients.create(normalClientSettings);
4747

@@ -101,14 +101,21 @@ public void close() {
101101
}
102102

103103
private static MongoDBContainer mongoContainer() {
104-
MongoDBContainer container = new MongoDBContainer(MONGODB_IMAGE_NAME)
105-
.withReplicaSet()
104+
MongoDBContainer container = newPlainMongoContainer()
106105
.withTmpFs(Map.of("/data/db", "rw"))
107-
.withNetwork(NETWORK);
106+
.withNetwork(NETWORK)
107+
.withReplicaSet();
108108
container.start();
109109
return container;
110110
}
111111

112+
/**
113+
* @return just the {@link MongoDBContainer} with no options, and not yet started
114+
*/
115+
static MongoDBContainer newPlainMongoContainer() {
116+
return new MongoDBContainer(MONGODB_IMAGE_NAME);
117+
}
118+
112119
private static ToxiproxyContainer toxiproxyContainer() {
113120
ToxiproxyContainer result = new ToxiproxyContainer(
114121
DockerImageName.parse("ghcr.io/shopify/toxiproxy:2.12.0")

bosk-mongo/src/test/java/works/bosk/drivers/mongo/internal/ServerMisconfigurationTest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import java.io.IOException;
66
import java.net.ServerSocket;
77
import org.junit.jupiter.api.Test;
8-
import org.testcontainers.mongodb.MongoDBContainer;
98
import works.bosk.Bosk;
109
import works.bosk.BoskConfig;
1110
import works.bosk.DriverStack;
@@ -21,7 +20,7 @@
2120
import static org.junit.jupiter.api.Assertions.assertThrows;
2221
import static org.junit.jupiter.api.Assertions.assertTrue;
2322
import static works.bosk.drivers.mongo.MongoDriverSettings.InitialDatabaseUnavailableMode.FAIL_FAST;
24-
import static works.bosk.drivers.mongo.internal.MongoService.MONGODB_IMAGE_NAME;
23+
import static works.bosk.drivers.mongo.internal.MongoService.newPlainMongoContainer;
2524

2625
/**
2726
* Separated out from other tests because this involves booting a custom
@@ -49,7 +48,7 @@ void unreachable() throws IOException {
4948
*/
5049
@Test
5150
void notAReplicaSet() {
52-
try (var mongo = new MongoDBContainer(MONGODB_IMAGE_NAME)) {
51+
try (var mongo = newPlainMongoContainer()) {
5352
mongo.start();
5453
MongoClientSettings clientSettings = MongoService.mongoClientSettings(
5554
new ServerAddress(

0 commit comments

Comments
 (0)