public async Task ItWorks() { var activator = new BuiltinHandlerActivator(); Using(activator); activator.Register(() => new SomeSaga()); var database = MongoTestHelper.GetMongoDatabase(); Configure.With(activator) .Transport(t => t.UseInMemoryTransport(new InMemNetwork(), "bimse")) .Sagas(s => s.StoreInMongoDb(database)) .Start(); await activator.Bus.SendLocal("hej med dig min ven!"); await activator.Bus.SendLocal("hej igen min ven!"); await Task.Delay(TimeSpan.FromSeconds(3)); var collection = database.GetCollection <SomeSagaData>(nameof(SomeSagaData)); var data = await collection.Find(d => true).ToListAsync(); Assert.That(data.Count, Is.EqualTo(2), "The second insert would fail, because there would be an index with a unique constraint on 'Id', but since the Id properti is mapped to '_id', values in that index would be null"); }
public void Setup() { _mongo = MongoTestHelper.GetCachedMockMongoServer(); _mongo.IsDatabaseNameValid(Arg.Any <string>(), out _message).Returns(true); _mongo.GetDatabase(Arg.Any <string>(), Arg.Any <WriteConcern>()).Returns(x => MongoTestHelper.GetMockMongoDatabase((string)x[0], (WriteConcern)x[1])); TransactionSynchronizationManager.InitSynchronization(); }
protected override void SetUp() { var database = MongoTestHelper.GetMongoDatabase(); database.DropCollection(nameof(MyIdempotentSaga)); _sagaStorage = new MongoDbSagaStorage(database, new ConsoleLoggerFactory(colored: false)); _sagaStorage.Initialize(); }
public void TearDown() { var keys = new object[TransactionSynchronizationManager.ResourceDictionary.Keys.Count]; TransactionSynchronizationManager.ResourceDictionary.Keys.CopyTo(keys, 0); foreach (var key in keys) { TransactionSynchronizationManager.UnbindResource(key); } TransactionSynchronizationManager.ClearSynchronization(); _mongo.ClearReceivedCalls(); _mongo = null; MongoTestHelper.ClearCache(); }
public async Task VerifyThatInitializationOnlyOccursOnce() { var database = MongoTestHelper.GetMongoDatabase(); var loggerFactory = new ListLoggerFactory(outputToConsole: true); var storage = new MongoDbSagaStorage(database, loggerFactory); storage.Initialize(); await storage.Insert(new SomeSagaData { Id = Guid.NewGuid() }, Enumerable.Empty <ISagaCorrelationProperty>()); await storage.Insert(new SomeSagaData { Id = Guid.NewGuid() }, Enumerable.Empty <ISagaCorrelationProperty>()); await storage.Insert(new SomeSagaData { Id = Guid.NewGuid() }, Enumerable.Empty <ISagaCorrelationProperty>()); var numberOfInitializations = loggerFactory .Count(line => line.Text.Contains("Initializing index for saga data")); Assert.That(numberOfInitializations, Is.EqualTo(1), "Only expected the collection's indexes to be initialized once!"); }
public async Task VerifyNiceExceptionWhenSerializerHasBeenImproperlyCustomized() { BsonClassMap.RegisterClassMap <SagaData>(c => { c.MapField(d => d.Id); }); var activator = Using(new BuiltinHandlerActivator()); var listLoggerFactory = new ListLoggerFactory(); activator.Register(() => new SomeSaga()); Configure.With(activator) .Logging(l => l.Use(listLoggerFactory)) .Transport(t => t.UseInMemoryTransport(new InMemNetwork(), "who-cares")) .Sagas(s => s.StoreInMongoDb(MongoTestHelper.GetMongoDatabase())) .Start(); await activator.Bus.SendLocal("hej med dig!"); await Task.Delay(TimeSpan.FromSeconds(2)); var error = listLoggerFactory.FirstOrDefault(l => l.Level == LogLevel.Error) ?? throw new AssertionException("Did not find any log entries with Level == Error"); Console.WriteLine($@"---------------------------------------------------------------------------------------------- Found this: {error.Text} ----------------------------------------------------------------------------------------------"); var message = error.Text; Assert.That(message, Contains.Substring("_id")); Assert.That(message, Contains.Substring("Id")); }
public MongoDbTimeoutManagerFactory() { _mongoDatabase = MongoTestHelper.GetMongoDatabase(); DropCollection(_collectionName); }
public void CleanUp() { MongoTestHelper.DropMongoDatabase(); }
public ISagaStorage GetSagaStorage() { _mongoDatabase = MongoTestHelper.GetMongoDatabase(); return(new MongoDbSagaStorage(_mongoDatabase)); }
public MongoDbDataBusStorageFactory() { MongoTestHelper.DropMongoDatabase(); _mongoDatabase = MongoTestHelper.GetMongoDatabase(); }
public ISagaStorage GetSagaStorage() { _mongoDatabase = MongoTestHelper.GetMongoDatabase(); return(new MongoDbSagaStorage(_mongoDatabase, new ConsoleLoggerFactory(colored: false))); }
public MongoDbSnapshotStorageFactory() { MongoTestHelper.DropMongoDatabase(); _mongoDatabase = MongoTestHelper.GetMongoDatabase(); }
protected override void SetUp() => MongoTestHelper.DropMongoDatabase();
public ISubscriptionStorage Create() { _mongoDatabase = MongoTestHelper.GetMongoDatabase(); return(new MongoDbSubscriptionStorage(_mongoDatabase, "subscriptions", true)); }
protected override void TearDown() { MongoTestHelper.DropMongoDatabase(); }
protected override void SetUp() { MongoTestHelper.DropMongoDatabase(); _database = MongoTestHelper.GetMongoDatabase(); }