public void shoud_not_send_a_completion_message_for_events() { using (MessageId.PauseIdGeneration()) { var @event = new FakeEvent(123); var transportMessageReceived = @event.ToTransportMessage(_peerUp); _transport.RaiseMessageReceived(transportMessageReceived); _transport.Messages.ShouldNotContain(x => x.TransportMessage.MessageTypeId == MessageExecutionCompleted.TypeId); } }
public void should_not_consider_if_peer_is_up_to_publish_events() { using (MessageId.PauseIdGeneration()) { var @event = new FakeEvent(456); SetupPeersHandlingMessage<FakeEvent>(_peerUp, _peerDown); _bus.Start(); _bus.Publish(@event); _transport.ExpectExactly(new TransportMessageSent(@event.ToTransportMessage(_self), new[] { _peerUp, _peerDown })); } }
public void should_publish_a_message() { using (MessageId.PauseIdGeneration()) { var message = new FakeEvent(456); SetupPeersHandlingMessage<FakeEvent>(_peerUp); var expectedTransportMessage = message.ToTransportMessage(_self); _bus.Start(); _bus.Publish(message); var sentMessage = _transport.Messages.Single(); expectedTransportMessage.ShouldHaveSamePropertiesAs(sentMessage.TransportMessage); var destination = sentMessage.Targets.Single(); destination.ShouldHaveSamePropertiesAs(_peerUp); } }
public void should_send_a_MessageProcessingFailed_on_unknown_event_error() { SetupPeersHandlingMessage<MessageProcessingFailed>(_peerUp); using (SystemDateTime.PauseTime()) using (MessageId.PauseIdGeneration()) { var message = new FakeEvent(123); var messageJson = JsonConvert.SerializeObject(message); var exception = new Exception("Exception message"); SetupDispatch(message, error: exception); var transportMessageReceived = message.ToTransportMessage(_peerUp); _transport.RaiseMessageReceived(transportMessageReceived); var expectedTransportMessage = new MessageProcessingFailed(transportMessageReceived, messageJson, exception.ToString(), SystemDateTime.UtcNow, new[] { typeof(FakeMessageHandler).FullName }).ToTransportMessage(_self); _transport.Expect(new TransportMessageSent(expectedTransportMessage, _peerUp)); } }
public void should_not_handle_event_locally_when_local_dispatch_is_disabled() { var message = new FakeEvent(1); var handled = false; SetupDispatch(message, x => handled = true); SetupPeersHandlingMessage<FakeEvent>(_self); _bus.Start(); using (LocalDispatch.Disable()) using (MessageId.PauseIdGeneration()) { _bus.Publish(message); handled.ShouldBeFalse(); _transport.ExpectExactly(new TransportMessageSent(message.ToTransportMessage(_self), _self)); } }