public async Task A_correlated_message_should_find_the_correct_saga() { Guid sagaId = NewId.NextGuid(); var message = new InitiateSimpleSaga(sagaId); await InputQueueSendEndpoint.Send(message); var found = await _sagaRepository.Value.ShouldContainSaga(message.CorrelationId, TestTimeout); found.ShouldBe(sagaId); var nextMessage = new CompleteSimpleSaga {CorrelationId = sagaId}; await InputQueueSendEndpoint.Send(nextMessage); found = await _sagaRepository.Value.ShouldContainSaga(x => x.CorrelationId == sagaId && x.Completed, TestTimeout); found.ShouldBe(sagaId); }
public async Task A_correlated_message_should_find_the_correct_saga() { Guid sagaId = NewId.NextGuid(); var message = new InitiateSimpleSaga(sagaId); await InputQueueSendEndpoint.Send(message); Guid?foundId = await _sagaRepository.Value.ShouldContainSaga(message.CorrelationId, TestTimeout); foundId.HasValue.ShouldBe(true); var nextMessage = new CompleteSimpleSaga { CorrelationId = sagaId }; await InputQueueSendEndpoint.Send(nextMessage); foundId = await _sagaRepository.Value.ShouldContainSaga(x => x.CorrelationId == sagaId && x.Completed, TestTimeout); foundId.HasValue.ShouldBe(true); }
public async Task GivenACorrelatedMessage_TheCorrectSagaShouldBeFound() { _correlationId = Guid.NewGuid(); var message = new InitiateSimpleSaga(_correlationId); var busControl = await Bus.StartAsync(); await busControl.Publish(message); var sagaRepository = new MongoDbQuerySagaRepository <SimpleSaga>(SagaRepository.Instance); var foundId = await sagaRepository.ShouldContainSaga(_correlationId, TimeSpan.FromSeconds(5)); Assert.That(foundId.HasValue, Is.True); var nextMessage = new CompleteSimpleSaga(_correlationId); await busControl.Publish(nextMessage); foundId = await sagaRepository.ShouldContainSaga(x => x.CorrelationId == _correlationId && x.Completed, TimeSpan.FromSeconds(5)); Assert.That(foundId.HasValue, Is.True); }