public void Should_replay_messages_on_all_handlers() { var peer = new Peer(new PeerId("Test"), "test://test"); var message = new TransportMessage(new MessageTypeId(typeof(FakeCommand)), new byte[20], peer); var dispatcher = new FakeMessageDispatcher(); var handler = new ReplayMessageHandler(dispatcher, new FakeDispatchFactory()); handler.Handle(new ReplayMessageCommand(message, new string[0])); dispatcher.LastDispatchFilter.Invoke(typeof(FakeHandler)).ShouldBeTrue(); dispatcher.LastDispatchFilter.Invoke(typeof(OtherFakeHandler)).ShouldBeTrue(); }
public void Should_replay_messages_on_failed_handlers() { var peer = new Peer(new PeerId("Test"), "test://test"); var message = new TransportMessage(new MessageTypeId(typeof(FakeCommand)), new MemoryStream(new byte[20]), peer); var dispatcher = new FakeMessageDispatcher(); var handler = new ReplayMessageHandler(dispatcher, new FakeDispatchFactory()); handler.Handle(new ReplayMessageCommand(message, new[] { typeof(FakeHandler).FullName })); dispatcher.LastDispatchFilter.Invoke(typeof(FakeHandler)).ShouldBeTrue(); dispatcher.LastDispatchFilter.Invoke(typeof(OtherFakeHandler)).ShouldBeFalse(); }