From 58ab2b493b586ac9aed5b7b5511739fe799f9fd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Nie=C3=9Fner?= Date: Tue, 28 Jan 2025 10:44:15 +0100 Subject: [PATCH 1/3] reference MongoDB Driver 3.0 or later, use EphemeralMongo7 for testing with MongoDB 7 --- .../EventFlow.MongoDB.Tests.csproj | 6 +++--- .../EventStores/MongoDbEventStoreTests.cs | 9 ++++++--- .../ReadStores/MongoDbReadModelStoreTests.cs | 9 ++++++--- .../SnapshotStores/MongoDBSnapshotStoreTests.cs | 9 ++++++--- Source/EventFlow.MongoDB/EventFlow.MongoDB.csproj | 2 +- 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj b/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj index 775436c3d..e9cd48b83 100644 --- a/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj +++ b/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj @@ -6,14 +6,14 @@ - - + + - + diff --git a/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs b/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs index a9c80859e..b3bed3477 100644 --- a/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs +++ b/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs @@ -21,13 +21,13 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. using System; +using EphemeralMongo; using EventFlow.TestHelpers; using EventFlow.TestHelpers.Suites; using EventFlow.MongoDB.EventStore; using EventFlow.MongoDB.Extensions; using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; -using Mongo2Go; namespace EventFlow.MongoDB.Tests.IntegrationTests.EventStores { @@ -35,11 +35,14 @@ namespace EventFlow.MongoDB.Tests.IntegrationTests.EventStores [TestFixture] public class MongoDbEventStoreTests : TestSuiteForEventStore { - private MongoDbRunner _runner; + private IMongoRunner _runner; protected override IServiceProvider Configure(IEventFlowOptions eventFlowOptions) { - _runner = MongoDbRunner.Start(); + _runner = MongoRunner.Run(new MongoRunnerOptions() + { + UseSingleNodeReplicaSet = true, + }); eventFlowOptions .ConfigureMongoDb(_runner.ConnectionString, "eventflow") diff --git a/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs b/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs index c23c29e16..a1e328855 100644 --- a/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs +++ b/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs @@ -23,6 +23,7 @@ using System; using System.Linq; using System.Threading.Tasks; +using EphemeralMongo; using EventFlow.Configuration; using EventFlow.Extensions; using EventFlow.MongoDB.Extensions; @@ -36,7 +37,6 @@ using EventFlow.TestHelpers.Suites; using FluentAssertions; using Microsoft.Extensions.DependencyInjection; -using Mongo2Go; using NUnit.Framework; namespace EventFlow.MongoDB.Tests.IntegrationTests.ReadStores @@ -47,11 +47,14 @@ public class MongoDbReadModelStoreTests : TestSuiteForReadModelStore { protected override Type ReadModelType { get; } = typeof(MongoDbThingyReadModel); - private MongoDbRunner _runner; + private IMongoRunner _runner; protected override IServiceProvider Configure(IEventFlowOptions eventFlowOptions) { - _runner = MongoDbRunner.Start(); + _runner = MongoRunner.Run(new MongoRunnerOptions() + { + UseSingleNodeReplicaSet = true, + }); var resolver = eventFlowOptions .RegisterServices(sr => sr.AddTransient(typeof(ThingyMessageLocator))) diff --git a/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs b/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs index 64bf34442..3e42d915b 100644 --- a/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs +++ b/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs @@ -21,11 +21,11 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. using System; +using EphemeralMongo; using EventFlow.Configuration; using EventFlow.MongoDB.Extensions; using EventFlow.TestHelpers; using EventFlow.TestHelpers.Suites; -using Mongo2Go; using NUnit.Framework; namespace EventFlow.MongoDB.Tests.IntegrationTests.SnapshotStores @@ -33,11 +33,14 @@ namespace EventFlow.MongoDB.Tests.IntegrationTests.SnapshotStores [Category(Categories.Integration)] public class MongoDBSnapshotStoreTests : TestSuiteForSnapshotStore { - private MongoDbRunner _runner; + private IMongoRunner _runner; protected override IServiceProvider Configure(IEventFlowOptions eventFlowOptions) { - _runner = MongoDbRunner.Start(); + _runner = MongoRunner.Run(new MongoRunnerOptions() + { + UseSingleNodeReplicaSet = true, + }); eventFlowOptions .ConfigureMongoDb(_runner.ConnectionString, "eventflow") diff --git a/Source/EventFlow.MongoDB/EventFlow.MongoDB.csproj b/Source/EventFlow.MongoDB/EventFlow.MongoDB.csproj index e1450e41d..8d9b0b49a 100644 --- a/Source/EventFlow.MongoDB/EventFlow.MongoDB.csproj +++ b/Source/EventFlow.MongoDB/EventFlow.MongoDB.csproj @@ -12,7 +12,7 @@ - + From 5e4a42e5b3efba707686f02d2f55c583f3de09ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Nie=C3=9Fner?= Date: Wed, 29 Jan 2025 09:04:32 +0100 Subject: [PATCH 2/3] revert to Mongo2Go --- .../EventFlow.MongoDB.Tests.csproj | 2 +- .../EventStores/MongoDbEventStoreTests.cs | 9 +++------ .../ReadStores/MongoDbReadModelStoreTests.cs | 9 +++------ .../SnapshotStores/MongoDBSnapshotStoreTests.cs | 9 +++------ 4 files changed, 10 insertions(+), 19 deletions(-) diff --git a/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj b/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj index e9cd48b83..4b760912a 100644 --- a/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj +++ b/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj @@ -6,8 +6,8 @@ + - diff --git a/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs b/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs index b3bed3477..a9c80859e 100644 --- a/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs +++ b/Source/EventFlow.MongoDB.Tests/IntegrationTests/EventStores/MongoDbEventStoreTests.cs @@ -21,13 +21,13 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. using System; -using EphemeralMongo; using EventFlow.TestHelpers; using EventFlow.TestHelpers.Suites; using EventFlow.MongoDB.EventStore; using EventFlow.MongoDB.Extensions; using Microsoft.Extensions.DependencyInjection; using NUnit.Framework; +using Mongo2Go; namespace EventFlow.MongoDB.Tests.IntegrationTests.EventStores { @@ -35,14 +35,11 @@ namespace EventFlow.MongoDB.Tests.IntegrationTests.EventStores [TestFixture] public class MongoDbEventStoreTests : TestSuiteForEventStore { - private IMongoRunner _runner; + private MongoDbRunner _runner; protected override IServiceProvider Configure(IEventFlowOptions eventFlowOptions) { - _runner = MongoRunner.Run(new MongoRunnerOptions() - { - UseSingleNodeReplicaSet = true, - }); + _runner = MongoDbRunner.Start(); eventFlowOptions .ConfigureMongoDb(_runner.ConnectionString, "eventflow") diff --git a/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs b/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs index a1e328855..c23c29e16 100644 --- a/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs +++ b/Source/EventFlow.MongoDB.Tests/IntegrationTests/ReadStores/MongoDbReadModelStoreTests.cs @@ -23,7 +23,6 @@ using System; using System.Linq; using System.Threading.Tasks; -using EphemeralMongo; using EventFlow.Configuration; using EventFlow.Extensions; using EventFlow.MongoDB.Extensions; @@ -37,6 +36,7 @@ using EventFlow.TestHelpers.Suites; using FluentAssertions; using Microsoft.Extensions.DependencyInjection; +using Mongo2Go; using NUnit.Framework; namespace EventFlow.MongoDB.Tests.IntegrationTests.ReadStores @@ -47,14 +47,11 @@ public class MongoDbReadModelStoreTests : TestSuiteForReadModelStore { protected override Type ReadModelType { get; } = typeof(MongoDbThingyReadModel); - private IMongoRunner _runner; + private MongoDbRunner _runner; protected override IServiceProvider Configure(IEventFlowOptions eventFlowOptions) { - _runner = MongoRunner.Run(new MongoRunnerOptions() - { - UseSingleNodeReplicaSet = true, - }); + _runner = MongoDbRunner.Start(); var resolver = eventFlowOptions .RegisterServices(sr => sr.AddTransient(typeof(ThingyMessageLocator))) diff --git a/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs b/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs index 3e42d915b..64bf34442 100644 --- a/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs +++ b/Source/EventFlow.MongoDB.Tests/IntegrationTests/SnapshotStores/MongoDBSnapshotStoreTests.cs @@ -21,11 +21,11 @@ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. using System; -using EphemeralMongo; using EventFlow.Configuration; using EventFlow.MongoDB.Extensions; using EventFlow.TestHelpers; using EventFlow.TestHelpers.Suites; +using Mongo2Go; using NUnit.Framework; namespace EventFlow.MongoDB.Tests.IntegrationTests.SnapshotStores @@ -33,14 +33,11 @@ namespace EventFlow.MongoDB.Tests.IntegrationTests.SnapshotStores [Category(Categories.Integration)] public class MongoDBSnapshotStoreTests : TestSuiteForSnapshotStore { - private IMongoRunner _runner; + private MongoDbRunner _runner; protected override IServiceProvider Configure(IEventFlowOptions eventFlowOptions) { - _runner = MongoRunner.Run(new MongoRunnerOptions() - { - UseSingleNodeReplicaSet = true, - }); + _runner = MongoDbRunner.Start(); eventFlowOptions .ConfigureMongoDb(_runner.ConnectionString, "eventflow") From 512ae0f4de51bc9904f39193a7727aab9a2b220d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20Nie=C3=9Fner?= Date: Fri, 28 Feb 2025 14:06:56 +0100 Subject: [PATCH 3/3] fix build --- Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj | 2 +- Source/EventFlow.MongoDB/ValueObjects/MongoDbEventDataModel.cs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj b/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj index 4b760912a..d55130097 100644 --- a/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj +++ b/Source/EventFlow.MongoDB.Tests/EventFlow.MongoDB.Tests.csproj @@ -6,7 +6,7 @@ - + diff --git a/Source/EventFlow.MongoDB/ValueObjects/MongoDbEventDataModel.cs b/Source/EventFlow.MongoDB/ValueObjects/MongoDbEventDataModel.cs index 575ed28e7..4eb4e4aab 100644 --- a/Source/EventFlow.MongoDB/ValueObjects/MongoDbEventDataModel.cs +++ b/Source/EventFlow.MongoDB/ValueObjects/MongoDbEventDataModel.cs @@ -23,6 +23,7 @@ using System; using EventFlow.EventStores; using EventFlow.ValueObjects; +using MongoDB.Bson; using MongoDB.Bson.Serialization.Attributes; using Newtonsoft.Json; @@ -34,6 +35,7 @@ public class MongoDbEventDataModel : ValueObject, ICommittedDomainEvent public long _id { get; set; } [JsonProperty("batchId")] + [BsonGuidRepresentation(GuidRepresentation.Standard)] public Guid BatchId { get; set; } long? _version { get; set; }