public void A_correlated_message_should_find_the_correct_saga() { try { using (IUnitOfWork work = UnitOfWork.Start()) using (var repository = new NHibernateSagaRepository <TestSaga>()) { var ping = new PingMessage(_sagaId); var initiatePolicy = new InitiatingSagaPolicy <TestSaga, PingMessage>(x => false); var message = new PingMessage(_sagaId); repository.Send(x => x.CorrelationId == message.CorrelationId, initiatePolicy, message, saga => saga.Name = "Joe"); List <TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList(); Assert.AreEqual(1, sagas.Count); Assert.IsNotNull(sagas[0]); Assert.AreEqual(_sagaId, sagas[0].CorrelationId); } } finally { UnitOfWork.Finish(); } }
public void A_correlated_message_should_find_the_correct_saga() { var repository = new NHibernateSagaRepository <TestSaga>(_sessionFactory); var ping = new PingMessage(_sagaId); var initiatePolicy = new InitiatingSagaPolicy <TestSaga, InitiateSimpleSaga>(x => x.CorrelationId, x => false); var message = new InitiateSimpleSaga(_sagaId); var context = message.ToConsumeContext(); repository.GetSaga(context, message.CorrelationId, GetHandlers, initiatePolicy) .Each(x => x(context)); List <TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList(); Assert.AreEqual(1, sagas.Count); Assert.IsNotNull(sagas[0]); Assert.AreEqual(_sagaId, sagas[0].CorrelationId); }
public void A_correlated_message_should_find_the_correct_saga() { var repository = new NHibernateSagaRepository<TestSaga>(_sessionFactory); var ping = new PingMessage(_sagaId); var initiatePolicy = new InitiatingSagaPolicy<TestSaga, InitiateSimpleSaga>(x => x.CorrelationId, x => false); var message = new InitiateSimpleSaga(_sagaId); IConsumeContext<InitiateSimpleSaga> context = message.ToConsumeContext(); repository.GetSaga(context, message.CorrelationId, GetHandlers, initiatePolicy) .Each(x => x(context)); List<TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList(); Assert.AreEqual(1, sagas.Count); Assert.IsNotNull(sagas[0]); Assert.AreEqual(_sagaId, sagas[0].CorrelationId); }
public void A_correlated_message_should_find_the_correct_saga() { try { using (IUnitOfWork work = UnitOfWork.Start()) using (var repository = new NHibernateSagaRepository<TestSaga>()) { var ping = new PingMessage(_sagaId); var initiatePolicy = new InitiatingSagaPolicy<TestSaga, PingMessage>(x => false); var message = new PingMessage(_sagaId); repository.Send(x => x.CorrelationId == message.CorrelationId, initiatePolicy, message, saga => saga.Name = "Joe"); List<TestSaga> sagas = repository.Where(x => x.CorrelationId == _sagaId).ToList(); Assert.AreEqual(1, sagas.Count); Assert.IsNotNull(sagas[0]); Assert.AreEqual(_sagaId, sagas[0].CorrelationId); } } finally { UnitOfWork.Finish(); } }