public void CorrelatedMessageShouldFindTheCorrectSaga()
        {
            var repository = new MongoDbStateMachineSagaRepository<TestSaga>(this._db);
            var initiatePolicy = new InitiatingSagaPolicy<TestSaga, InitiateSimpleSaga>(x => x.CorrelationId, x => false);

            var message = new InitiateSimpleSaga(this._sagaId);
            var context = new ConsumeContext<InitiateSimpleSaga>(ReceiveContext.Empty(), message);

            repository.GetSaga(context, message.CorrelationId, this.GetHandlers, initiatePolicy).Each(x => x(context));

            List<TestSaga> sagas = repository.ByCorrelationId(this._sagaId).ToList();

            Assert.AreEqual(1, sagas.Count);
            Assert.IsNotNull(sagas[0]);
            Assert.AreEqual(this._sagaId, sagas[0].CorrelationId);
        }
示例#2
0
        public void CorrelatedMessageShouldFindTheCorrectSaga()
        {
            var repository     = new MongoDbStateMachineSagaRepository <TestSaga>(this._db);
            var initiatePolicy = new InitiatingSagaPolicy <TestSaga, InitiateSimpleSaga>(x => x.CorrelationId, x => false);

            var message = new InitiateSimpleSaga(this._sagaId);
            var context = new ConsumeContext <InitiateSimpleSaga>(ReceiveContext.Empty(), message);

            repository.GetSaga(context, message.CorrelationId, this.GetHandlers, initiatePolicy).Each(x => x(context));

            List <TestSaga> sagas = repository.ByCorrelationId(this._sagaId).ToList();

            Assert.AreEqual(1, sagas.Count);
            Assert.IsNotNull(sagas[0]);
            Assert.AreEqual(this._sagaId, sagas[0].CorrelationId);
        }