in commons-testing-junit4-mongodb/src/main/java/org/apache/commons/testing/junit4/mongodb/MongoDbTestRule.java [79:111]
public Statement apply(final Statement base, final Description description) {
return new Statement() {
@Override
public void evaluate() throws Throwable {
final String value = Objects.requireNonNull(System.getProperty(portSystemPropertyName), "System property '" + portSystemPropertyName + "' is null");
final int port = Integer.parseInt(value);
mongodExecutable = starter.prepare(
// @formatter:off
new MongodConfigBuilder()
.version(mongoDbVersion)
.timeout(new Timeout(BUILDER_TIMEOUT_MILLIS))
.net(
new Net("localhost", port, Network.localhostIsIPv6()))
.build());
// @formatter:on
mongodProcess = mongodExecutable.start();
mongoClient = new MongoClient("localhost", port);
try {
base.evaluate();
} finally {
if (mongodProcess != null) {
mongodProcess.stop();
mongodProcess = null;
}
if (mongodExecutable != null) {
mongodExecutable.stop();
mongodExecutable = null;
}
}
}
};
}