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;
                }
Пример #3
0
                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);
        }
Пример #5
0
        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();
        }
Пример #8
0
 public void Consume(SecondSagaMessage message)
 {
 }