public void handle_envelope_sent_then_message_failed_tracking_for_the_same_message_to_multiple_nodes() { MessageHistory.ClearHistory(); var envelope1 = new EnvelopeToken(); var node1 = new StubChannelNode(); var node2 = new StubChannelNode(); MessageHistory.Record(new EnvelopeSent(envelope1, node1)); MessageHistory.Record(new EnvelopeSent(envelope1, node2)); MessageHistory.Outstanding().Count().ShouldBe(2); envelope1.Destination = node1.Uri; MessageHistory.Record(new MessageFailed { Envelope = envelope1 }); MessageHistory.Outstanding().Count().ShouldBe(1); envelope1.Destination = node2.Uri; MessageHistory.Record(new MessageFailed { Envelope = envelope1 }); MessageHistory.Outstanding().Any().ShouldBeFalse(); }
public void Consume(Message message) { message.Source = _envelope.ReceivedAt; message.Envelope = _envelope; MessageHistory.Record(MessageTrack.ForReceived(message, message.Id.ToString())); }
public void handle_envelope_sent_then_message_successful_for_multiple_messages_to_the_same_node() { MessageHistory.ClearHistory(); var envelope1 = new EnvelopeToken(); var envelope2 = new EnvelopeToken(); var node1 = new StubChannelNode(); MessageHistory.Record(new EnvelopeSent(envelope1, node1).ToMessageTrack()); MessageHistory.Record(new EnvelopeSent(envelope2, node1).ToMessageTrack()); MessageHistory.Outstanding().Count().ShouldBe(2); envelope1.Destination = node1.Uri; MessageHistory.Record(new MessageSuccessful { Envelope = envelope1 }.ToMessageTrack()); MessageHistory.Outstanding().Count().ShouldBe(1); envelope2.Destination = node1.Uri; MessageHistory.Record(new MessageSuccessful { Envelope = envelope2 }.ToMessageTrack()); MessageHistory.Outstanding().Any().ShouldBeFalse(); }
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 void track_received() { 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.Received().Select(x => x.Id) .ShouldHaveTheSameElementsAs(foo1.Id.ToString(), foo2.Id.ToString(), foo3.Id.ToString()); }
public void DebugMessage(object message) { var log = message.As <MessageLogRecord>(); var record = log.ToRecord(); if (record.IsPollingJobRelated()) { return; } MessageHistory.Record(log); _session.Record(record); }
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 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); }