deps: Upgrade mongodb to latest and fix tests. (#2920)

This commit is contained in:
k1w1dev authored and GitHub committed 2024-04-17 20:52:13 +03:00
1 parent 43db34a394
commit a6c2e4ad91
2 files changed
+26 -45

No files matched your search

+1 -1
View File
@@ -46,7 +46,7 @@
<dependency> <dependency>
<groupId>de.flapdoodle.embed</groupId> <groupId>de.flapdoodle.embed</groupId>
<artifactId>de.flapdoodle.embed.mongo</artifactId> <artifactId>de.flapdoodle.embed.mongo</artifactId>
<version>3.0.0</version> <version>4.12.6</version>
<scope>test</scope> <scope>test</scope>
</dependency> </dependency>
<dependency> <dependency>
@@ -26,23 +26,19 @@ package com.iluwatar.hexagonal.banking;
import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertEquals;
import com.mongodb.MongoClientSettings;
import com.mongodb.ServerAddress;
import com.mongodb.client.MongoClient; import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients; import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoDatabase; import com.mongodb.client.MongoDatabase;
import de.flapdoodle.embed.mongo.MongodExecutable; import de.flapdoodle.embed.mongo.commands.ServerAddress;
import de.flapdoodle.embed.mongo.MongodProcess;
import de.flapdoodle.embed.mongo.MongodStarter;
import de.flapdoodle.embed.mongo.config.MongodConfig;
import de.flapdoodle.embed.mongo.distribution.Version; import de.flapdoodle.embed.mongo.distribution.Version;
import de.flapdoodle.embed.mongo.transitions.Mongod;
import de.flapdoodle.embed.mongo.transitions.RunningMongodProcess;
import de.flapdoodle.reverse.TransitionWalker;
import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import java.util.List;
/** /**
* Tests for Mongo banking adapter * Tests for Mongo banking adapter
*/ */
@@ -50,40 +46,40 @@ class MongoBankTest {
private static final String TEST_DB = "lotteryDBTest"; private static final String TEST_DB = "lotteryDBTest";
private static final String TEST_ACCOUNTS_COLLECTION = "testAccounts"; private static final String TEST_ACCOUNTS_COLLECTION = "testAccounts";
private static final String TEST_HOST = "localhost";
private static final int TEST_PORT = 27017;
private static MongodExecutable mongodExe;
private static MongodProcess mongodProcess;
private static MongoClient mongoClient; private static MongoClient mongoClient;
private static MongoDatabase mongoDatabase; private static MongoDatabase mongoDatabase;
private MongoBank mongoBank; private MongoBank mongoBank;
private static TransitionWalker.ReachedState<RunningMongodProcess> mongodProcess;
private static ServerAddress serverAddress;
@BeforeAll @BeforeAll
static void setUp() throws Exception { static void setUp() {
MongodStarter starter = MongodStarter.getDefaultInstance(); mongodProcess = Mongod.instance().start(Version.Main.V7_0);
MongodConfig mongodConfig = buildMongoConfig(); serverAddress = mongodProcess.current().getServerAddress();
mongoClient = MongoClients.create("mongodb://" + serverAddress.toString());
mongoClient = buildMongoClient(); mongoClient.startSession();
mongodExe = starter.prepare(mongodConfig);
mongodProcess = mongodExe.start();
mongoDatabase = mongoClient.getDatabase(TEST_DB); mongoDatabase = mongoClient.getDatabase(TEST_DB);
} }
@BeforeEach
void init() {
System.setProperty("mongo-host", TEST_HOST);
System.setProperty("mongo-port", String.valueOf(TEST_PORT));
mongoDatabase.drop();
mongoBank = new MongoBank(mongoDatabase.getName(), TEST_ACCOUNTS_COLLECTION);
}
@AfterAll @AfterAll
static void tearDown() { static void tearDown() {
mongoClient.close(); mongoClient.close();
mongodProcess.stop(); mongodProcess.close();
mongodExe.stop(); }
@BeforeEach
void init() {
System.setProperty("mongo-host", serverAddress.getHost());
System.setProperty("mongo-port", String.valueOf(serverAddress.getPort()));
mongoDatabase.drop();
mongoBank = new MongoBank(mongoDatabase.getName(), TEST_ACCOUNTS_COLLECTION);
} }
@Test @Test
@@ -101,19 +97,4 @@ class MongoBankTest {
assertEquals(1, mongoBank.getFunds("000-000")); assertEquals(1, mongoBank.getFunds("000-000"));
assertEquals(9, mongoBank.getFunds("111-111")); assertEquals(9, mongoBank.getFunds("111-111"));
} }
private static MongodConfig buildMongoConfig() {
return MongodConfig.builder()
.version(Version.Main.PRODUCTION)
.net(new de.flapdoodle.embed.mongo.config.Net(TEST_HOST, TEST_PORT, true))
.build();
}
private static MongoClient buildMongoClient() {
return MongoClients.create(
MongoClientSettings.builder()
.applyToClusterSettings(builder -> builder.hosts(List.of(new ServerAddress(TEST_HOST, TEST_PORT))))
.build()
);
}
} }