Esempio n. 1
0
        public void Should_receive_the_published_message()
        {
            var messageReceived = new FutureMessage <RequestAuthorization>();

            Bus.SubscribeHandler <RequestAuthorization>(messageReceived.Set);

            var message = new ScheduleAppointment();

            Bus.Publish(message);

            Assert.IsTrue(messageReceived.IsAvailable(8.Seconds()));
        }
        public void Should_receive_the_response_message()
        {
            var responseReceived = new FutureMessage <StartupComplete>();

            Bus.PublishRequest(new Start(), x =>
            {
                x.Handle <StartupComplete>(responseReceived.Set);
                x.HandleTimeout(8.Seconds(), () => { });
            });

            Assert.IsTrue(responseReceived.IsAvailable(0.Seconds()));
        }
Esempio n. 3
0
        public void Should_be_received_as_a_fault_message_as_well()
        {
            var faultReceived = new FutureMessage <Fault <Create> >();

            Bus.SubscribeHandler <Fault <Create> >(faultReceived.Set);

            var message = new Create();

            Bus.Publish(message);

            Assert.IsTrue(faultReceived.IsAvailable(Debugger.IsAttached ? 5.Minutes() : 8.Seconds()));
            Assert.AreEqual(message.CorrelationId, faultReceived.Message.FailedMessage.CorrelationId);
        }
Esempio n. 4
0
        public void Should_be_received_as_a_fault_message()
        {
            var faultReceived = new FutureMessage <Fault <Start> >();

            Bus.SubscribeHandler <Fault <Start> >(faultReceived.Set);

            var message = new Start();

            Bus.Publish(message);

            Assert.IsTrue(faultReceived.IsAvailable(8.Seconds()));
            Assert.AreEqual(message.CorrelationId, faultReceived.Message.FailedMessage.CorrelationId);
        }
Esempio n. 5
0
        public void Should_receive_the_published_message()
        {
            var messageReceived = new FutureMessage <StartupComplete>();

            Bus.SubscribeHandler <StartupComplete>(messageReceived.Set);

            var message = new Start();

            Bus.Publish(message);

            Assert.IsTrue(messageReceived.IsAvailable(8.Seconds()));
            Assert.AreEqual(message.CorrelationId, messageReceived.Message.TransactionId);
        }
        public void Should_have_called_combined_event()
        {
            Bus.InboundPipeline.Trace();

            var responseReceived = new FutureMessage <CompleteMessage>();

            Bus.SubscribeHandler <CompleteMessage>(responseReceived.Set);

            var message = new StartMessage();

            Bus.Publish(message);
            Bus.Publish(new FirstMessage(message.CorrelationId));
            Bus.Publish(new SecondMessage(message.CorrelationId));

            Assert.IsTrue(responseReceived.IsAvailable(TestHelper.MessageTimeout));
        }
Esempio n. 7
0
        public void Should_retry_the_status_message()
        {
            var responseReceived = new FutureMessage <Status>();

            var request = Bus.PublishRequestAsync(new CheckStatus("A"), x =>
            {
                x.Handle <Status>(responseReceived.Set);
                x.HandleTimeout(8.Seconds(), () => { });
            });

            Thread.Sleep(1);
            Bus.Publish(new Start("A", Guid.NewGuid()));

            Assert.IsTrue(request.Task.Wait(8.Seconds()));

            Assert.IsTrue(responseReceived.IsAvailable(0.Seconds()));
            Assert.AreEqual("A", responseReceived.Message.ServiceName);
        }
Esempio n. 8
0
        public void Should_create_the_saga_with_any_id()
        {
            Guid serviceId        = NewId.NextGuid();
            var  responseReceived = new FutureMessage <StartupComplete>();

            Bus.PublishRequest(new Start("A", serviceId), x =>
            {
                x.Handle <StartupComplete>(responseReceived.Set);
                x.HandleTimeout(8.Seconds(), () => { });
            });

            Assert.IsTrue(responseReceived.IsAvailable(0.Seconds()));
            Assert.AreEqual("A", responseReceived.Message.ServiceName);

            Assert.AreEqual(serviceId, responseReceived.Message.ServiceId);

            Assert.IsNotNull(_repository.ShouldContainSaga(responseReceived.Message.ServiceId, 1.Seconds()));
        }