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())); }
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); }
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); }
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)); }
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); }
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())); }