public Task Handle(StartSagaMessage message, IMessageHandlerContext context) { var sagaMessage = new SecondSagaMessage { SomeId = message.SomeId }; return(context.SendLocal(sagaMessage)); }
public void Handle(SecondSagaMessage message) { Context.NumberOfTimesInvoked++; var shouldFail = Context.NumberOfTimesInvoked < 2; //1 FLR and 1 SLR if (shouldFail) { throw new Exception("Simulated exception"); } Context.SecondMessageProcessed = true; }
public Task Handle(SecondSagaMessage message, IMessageHandlerContext context) { TestContext.NumberOfTimesInvoked++; if (TestContext.NumberOfTimesInvoked < 2) { throw new SimulatedException(); } TestContext.SecondMessageProcessed = true; return(Task.FromResult(0)); }
public Task Handle(FirstSagaMessage message) { InitializeSagaData(message); var newMsg = new SecondSagaMessage() { UserId = message.UserId, UserName = message.UserName, CreationDate = message.CreationDate, Confirmed = true }; _bus.Send(newMsg); return(Task.CompletedTask); }
public async Task Should_handle_second_message() { Guid sagaId = NewId.NextGuid(); var message = new FirstSagaMessage { CorrelationId = sagaId }; await InputQueueSendEndpoint.Send(message); Guid?foundId = await GetSagaRepository <SimpleSaga>().ShouldContainSaga(message.CorrelationId, TestTimeout); foundId.HasValue.ShouldBe(true); var nextMessage = new SecondSagaMessage { CorrelationId = sagaId }; await InputQueueSendEndpoint.Send(nextMessage); foundId = await GetSagaRepository <SimpleSaga>().ShouldContainSaga(x => x.CorrelationId == sagaId && x.Second.IsCompleted, TestTimeout); foundId.HasValue.ShouldBe(true); }
public Task Handle(SecondSagaMessage message, IMessageHandlerContext context) { TestContext.SecondMessageFoundExistingSaga = true; return(Task.FromResult(0)); }
public Task Handle(SecondSagaMessage message) { Console.WriteLine(message.CreationDate); throw new NotImplementedException(); }
public void Consume(SecondSagaMessage message) { }