From a6c2e4ad916103aab85804680cd7df2d988adba8 Mon Sep 17 00:00:00 2001 From: k1w1dev Date: Thu, 18 Apr 2024 05:52:13 +1200 Subject: [PATCH] deps: Upgrade mongodb to latest and fix tests. (#2920) --- hexagonal/pom.xml | 4 +- .../hexagonal/banking/MongoBankTest.java | 71 +++++++------------ 2 files changed, 28 insertions(+), 47 deletions(-) diff --git a/hexagonal/pom.xml b/hexagonal/pom.xml index a3d94abc2..42c2026fb 100644 --- a/hexagonal/pom.xml +++ b/hexagonal/pom.xml @@ -46,7 +46,7 @@ de.flapdoodle.embed de.flapdoodle.embed.mongo - 3.0.0 + 4.12.6 test @@ -77,4 +77,4 @@ - + \ No newline at end of file diff --git a/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java b/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java index 532b909c5..7e5dc39bf 100644 --- a/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java +++ b/hexagonal/src/test/java/com/iluwatar/hexagonal/banking/MongoBankTest.java @@ -26,23 +26,19 @@ package com.iluwatar.hexagonal.banking; 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.MongoClients; import com.mongodb.client.MongoDatabase; -import de.flapdoodle.embed.mongo.MongodExecutable; -import de.flapdoodle.embed.mongo.MongodProcess; -import de.flapdoodle.embed.mongo.MongodStarter; -import de.flapdoodle.embed.mongo.config.MongodConfig; +import de.flapdoodle.embed.mongo.commands.ServerAddress; 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.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import java.util.List; - /** * Tests for Mongo banking adapter */ @@ -50,40 +46,40 @@ class MongoBankTest { private static final String TEST_DB = "lotteryDBTest"; 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 MongoDatabase mongoDatabase; private MongoBank mongoBank; + private static TransitionWalker.ReachedState mongodProcess; + + private static ServerAddress serverAddress; + + + @BeforeAll - static void setUp() throws Exception { - MongodStarter starter = MongodStarter.getDefaultInstance(); - MongodConfig mongodConfig = buildMongoConfig(); - - mongoClient = buildMongoClient(); - mongodExe = starter.prepare(mongodConfig); - mongodProcess = mongodExe.start(); + static void setUp() { + mongodProcess = Mongod.instance().start(Version.Main.V7_0); + serverAddress = mongodProcess.current().getServerAddress(); + mongoClient = MongoClients.create("mongodb://" + serverAddress.toString()); + mongoClient.startSession(); 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 static void tearDown() { mongoClient.close(); - mongodProcess.stop(); - mongodExe.stop(); + mongodProcess.close(); + } + + + @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 @@ -101,19 +97,4 @@ class MongoBankTest { assertEquals(1, mongoBank.getFunds("000-000")); 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() - ); - } -} +} \ No newline at end of file