public void listens_and_finishes_after_receiving_the_all_clear() { // trying to get the asset pipeline to shut up about // non-existent assets var settings = new ApplicationSettings { PhysicalPath = Environment.CurrentDirectory .ParentDirectory().ParentDirectory().ParentDirectory() .AppendPath("RemoteService") }; var system = new FubuMvcSystem(() => FubuRuntime.Basic()); system.AddRemoteSubSystem("Remote", x => { x.UseParallelServiceDirectory("RemoteService"); }); using (var context = system.CreateContext()) { system.StartListeningForMessages(); var message = new RemoteGo(); MessageHistory.Record(MessageTrack.ForSent(message)); var waitForWorkToFinish = MessageHistory.WaitForWorkToFinish( () => { system.RemoteSubSystemFor("Remote").Runner.SendRemotely(message); }, 30000); waitForWorkToFinish.ShouldBeTrue(); } }
public override MessageTrack ToMessageTrack() { MessageTrack track = MessageTrack.ForSent(this, Envelope.CorrelationId); track.Type = track.FullName = MessageTrackType; return(track); }
public void Handle(ChainExecutionStarted message) { if (message.Envelope.IsPollingJobRelated()) { return; } MessageTrack track = MessageTrack.ForSent(message, message.Envelope.CorrelationId); track.Type = track.FullName = MessageTrackType; Bottles.Services.Messaging.EventAggregator.SendMessage(track); }
public void record_sent_message_with_id() { var message = new MyMessage { Id = Guid.NewGuid(), Name = "Jeremy" }; var sent = MessageTrack.ForSent(message, "foo"); sent.FullName.ShouldBe(typeof(MyMessage).FullName); sent.Type.ShouldBe(typeof(MyMessage).Name); sent.Description.ShouldBe(message.ToString()); sent.Id.ShouldBe("foo"); sent.Status.ShouldBe(MessageTrack.Sent); }
public void finish_successfully_with_MessageHistory_WaitForWorkToFinish_positive() { var foo1 = new Foo(); var foo2 = new Foo(); var foo3 = new Foo(); MessageHistory.WaitForWorkToFinish(() => { MessageHistory.Record(MessageTrack.ForSent(foo1)); MessageHistory.Record(MessageTrack.ForSent(foo2)); MessageHistory.Record(MessageTrack.ForSent(foo3)); MessageHistory.Record(MessageTrack.ForReceived(foo1)); MessageHistory.Record(MessageTrack.ForReceived(foo2)); MessageHistory.Record(MessageTrack.ForReceived(foo3)); }).ShouldBeTrue(); }
public void clear_history_removes_all() { var foo1 = new Foo(); var foo2 = new Foo(); var foo3 = new Foo(); MessageHistory.Record(MessageTrack.ForReceived(foo1)); MessageHistory.Record(MessageTrack.ForReceived(foo2)); MessageHistory.Record(MessageTrack.ForReceived(foo3)); MessageHistory.Record(MessageTrack.ForSent(foo1)); MessageHistory.Record(MessageTrack.ForSent(foo2)); MessageHistory.Record(MessageTrack.ForSent(foo3)); MessageHistory.ClearHistory(); MessageHistory.Outstanding().Any().ShouldBeFalse(); MessageHistory.Received().Any().ShouldBeFalse(); MessageHistory.All().Any().ShouldBeFalse(); }
public void clear_all_absolutely_has_to_work() { var foo1 = new Foo(); var foo2 = new Foo(); var foo3 = new Foo(); MessageHistory.Record(MessageTrack.ForReceived(foo1)); MessageHistory.Record(MessageTrack.ForReceived(foo2)); MessageHistory.Record(MessageTrack.ForReceived(foo3)); MessageHistory.Record(MessageTrack.ForSent(foo1)); MessageHistory.Record(MessageTrack.ForSent(foo2)); MessageHistory.Record(MessageTrack.ForSent(foo3)); MessageHistory.ClearAll(); MessageHistory.Outstanding().Any().ShouldBeFalse(); MessageHistory.Received().Any().ShouldBeFalse(); MessageHistory.All().Any().ShouldBeFalse(); }
public void sends_the_all_clear_message_when_it_gets_everything() { var foo1 = new Foo(); var foo2 = new Foo(); var foo3 = new Foo(); MessageHistory.Record(MessageTrack.ForSent(foo1)); MessageHistory.Record(MessageTrack.ForSent(foo2)); MessageHistory.Record(MessageTrack.ForSent(foo3)); assertHasNotReceivedAllCompleteMessage(); MessageHistory.Record(MessageTrack.ForReceived(foo1)); assertHasNotReceivedAllCompleteMessage(); MessageHistory.Record(MessageTrack.ForReceived(foo2)); assertHasNotReceivedAllCompleteMessage(); MessageHistory.Record(MessageTrack.ForReceived(foo3)); assertAllCompleteMessage(); }
public void track_outstanding() { var foo1 = new Foo(); var foo2 = new Foo(); var foo3 = new Foo(); MessageHistory.Record(MessageTrack.ForSent(foo1)); MessageHistory.Record(MessageTrack.ForSent(foo2)); MessageHistory.Record(MessageTrack.ForSent(foo3)); MessageHistory.Outstanding().Select(x => x.Id) .ShouldHaveTheSameElementsAs(foo1.Id.ToString(), foo2.Id.ToString(), foo3.Id.ToString()); MessageHistory.Record(MessageTrack.ForReceived(foo2)); MessageHistory.Outstanding().Select(x => x.Id) .ShouldHaveTheSameElementsAs(foo1.Id.ToString(), foo3.Id.ToString()); MessageHistory.Record(MessageTrack.ForReceived(foo3)); MessageHistory.Outstanding().Select(x => x.Id) .ShouldHaveTheSameElementsAs(foo1.Id.ToString()); }
public static void SentMessage(object message) { SendMessage(MessageTrack.ForSent(message)); }
public void Act(IScenarioWriter writer) { MessageHistory.Record(MessageTrack.ForSent(_request)); _completion = _sender.ServiceBus.SendAndWait(_request); }
public void Act(IScenarioWriter writer) { MessageHistory.Record(MessageTrack.ForSent(Message)); _sender.ServiceBus.Send(Message); }