Exemplo n.º 1
0
            public void should_forward_initiator_id()
            {
                _bus.Start();

                using (MessageId.PauseIdGeneration())
                {
                    var receivedCommand = new FakeCommand(123);
                    var eventToPublish  = new FakeEvent(456);
                    SetupDispatch(receivedCommand, _ => _bus.Publish(eventToPublish));
                    SetupPeersHandlingMessage <FakeEvent>(_peerDown);

                    using (MessageContext.SetCurrent(MessageContext.CreateTest(new OriginatorInfo(_peerUp.Id, _peerUp.EndPoint, null, "x.initiator"))))
                    {
                        var transportMessageReceived = receivedCommand.ToTransportMessage(_peerUp);
                        transportMessageReceived.Originator.InitiatorUserName.ShouldEqual("x.initiator");
                        _transport.RaiseMessageReceived(transportMessageReceived);
                    }

                    var sentMessage = _transport.Messages.Single(x => x.TransportMessage.MessageTypeId == eventToPublish.TypeId());
                    sentMessage.TransportMessage.Originator.InitiatorUserName.ShouldEqual("x.initiator");
                }
            }