private void SendSagaMessage()
        {
            var req = new FirstSagaMessage()
            {
                UserId       = Guid.NewGuid(),
                CreationDate = DateTime.UtcNow,
                UserName     = "******"
            };

            _bus.Send(req);
        }
示例#2
0
        public async Task Should_handle_first_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);
        }
示例#3
0
        public async Task Should_use_custom_endpoint_and_definition_together()
        {
            Guid sagaId = NewId.NextGuid();

            var message = new FirstSagaMessage {
                CorrelationId = sagaId
            };

            var sendEndpoint = await Bus.GetSendEndpoint(new Uri("loopback://localhost/custom-second-saga"));

            await sendEndpoint.Send(message);

            Guid?foundId = await GetSagaRepository <SecondSimpleSaga>().ShouldContainSaga(message.CorrelationId, TestTimeout);

            foundId.HasValue.ShouldBe(true);
        }
示例#4
0
        public async Task Should_handle_the_message()
        {
            Guid sagaId = NewId.NextGuid();

            var message = new FirstSagaMessage {
                CorrelationId = sagaId
            };

            var sendEndpoint = await Bus.GetSendEndpoint(new Uri("loopback://localhost/custom-endpoint-name"));

            await sendEndpoint.Send(message);

            Guid?foundId = await GetSagaRepository <SimpleSaga>().ShouldContainSaga(message.CorrelationId, TestTimeout);

            foundId.HasValue.ShouldBe(true);
        }
        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 <bool> SendMessage()
        {
            try
            {
                var req = new TestSendRequest()
                {
                    MessageId      = Guid.NewGuid(),
                    MessageContent = "Mensaje enviado desde proyecto RebusTest",
                    MessageDate    = DateTime.UtcNow
                };


                var oldReq = new LegacySampleMessage()
                {
                    MessageId      = Guid.NewGuid(),
                    MessageContent = "Mensaje enviado desde proyecto RebusTest",
                    MessageDate    = DateTime.UtcNow
                };

                var reqSaga = new FirstSagaMessage()
                {
                    UserId       = Guid.NewGuid(),
                    CreationDate = DateTime.UtcNow,
                    UserName     = "******"
                };

                //SendSagaMessage();
                //var res = await _bus.SendRequest<TestSendResponse>(reqSaga, null, TimeSpan.FromSeconds(30));
                await _bus.Publish(req);

                //_bus.Publish(req);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex);
                throw;
            }

            Console.WriteLine("Terminado sin errores");

            return(true);
        }
示例#7
0
        public async Task Should_handle_third_message()
        {
            var 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 ThirdSagaMessage {
                CorrelationId = sagaId
            };

            await InputQueueSendEndpoint.Send(nextMessage);

            foundId = await GetSagaRepository <SimpleSaga>().ShouldContainSaga(x => x.CorrelationId == sagaId && x.Third.IsCompleted, TestTimeout);

            foundId.HasValue.ShouldBe(true);
        }
 private void InitializeSagaData(FirstSagaMessage message)
 {
     Data.UserId       = message.UserId;
     Data.UserName     = message.UserName;
     Data.CreationDate = message.CreationDate;
 }