Beispiel #1
0
        public void BrokeredMessageTypeIsNotPromotedInwardWhenEmpty()
        {
            MessageMock.Setup(m => m.GetProperty(BtsProperties.InboundTransportLocation)).Returns("inbound-transport-location");

            var sut = new SBMessagingContextPropagator();

            sut.Execute(PipelineContextMock.Object, MessageMock.Object);

            MessageMock.Verify(m => m.Promote(BtsProperties.MessageType, It.IsAny <string>()), Times.Never);
            MessageMock.Verify(m => m.SetProperty(BtsProperties.MessageType, It.IsAny <string>()), Times.Never);
        }
Beispiel #2
0
        public void BizTalkPropertiesAreOnlyPropagatedOutward()
        {
            MessageMock.Setup(m => m.GetProperty(BtsProperties.InboundTransportLocation)).Returns("inbound-transport-location");
            MessageMock.Setup(m => m.GetProperty(BizTalkFactoryProperties.CorrelationToken)).Returns(Guid.NewGuid().ToString);
            MessageMock.Setup(m => m.GetProperty(BtsProperties.MessageType)).Returns("urn:ns#root");

            var sut = new SBMessagingContextPropagator();

            sut.Execute(PipelineContextMock.Object, MessageMock.Object);

            MessageMock.Verify(m => m.SetProperty(SBMessagingProperties.CorrelationId, It.IsAny <string>()), Times.Never);
            MessageMock.Verify(m => m.SetProperty(BrokeredProperties.MessageType, It.IsAny <string>()), Times.Never);
        }
Beispiel #3
0
        public void MessageTypeIsPropagatedOutward()
        {
            var messageType = "urn:ns#root";

            MessageMock.Setup(m => m.GetProperty(BtsProperties.OutboundTransportLocation)).Returns("outbound-transport-location");
            MessageMock.Setup(m => m.GetProperty(BtsProperties.MessageType)).Returns(messageType);

            var sut = new SBMessagingContextPropagator();

            sut.Execute(PipelineContextMock.Object, MessageMock.Object);

            MessageMock.Verify(m => m.SetProperty(BrokeredProperties.MessageType, messageType), Times.Once);
        }
Beispiel #4
0
        public void MessageTypeIsNotPropagatedOutwardWhenPayloadIsNotXml()
        {
            using (var inputStream = new MemoryStream(Encoding.UTF8.GetBytes("non xml payload")))
            {
                MessageMock.Object.BodyPart.Data = inputStream;
                MessageMock.Setup(m => m.GetProperty(BtsProperties.OutboundTransportLocation)).Returns("outbound-transport-location");

                var sut = new SBMessagingContextPropagator();
                sut.Execute(PipelineContextMock.Object, MessageMock.Object);

                MessageMock.Verify(m => m.SetProperty(BrokeredProperties.MessageType, It.IsAny <string>()), Times.Never);
            }
        }
Beispiel #5
0
        public void CorrelationTokenIsNotPropagatedOutwardWhenEmpty()
        {
            using (var inputStream = new MemoryStream(Encoding.UTF8.GetBytes("<root xmlns='urn:ns'></root>")))
            {
                MessageMock.Object.BodyPart.Data = inputStream;
                MessageMock.Setup(m => m.GetProperty(BtsProperties.OutboundTransportLocation)).Returns("outbound-transport-location");

                var sut = new SBMessagingContextPropagator();
                sut.Execute(PipelineContextMock.Object, MessageMock.Object);

                MessageMock.Verify(m => m.SetProperty(SBMessagingProperties.CorrelationId, It.IsAny <string>()), Times.Never);
            }
        }
Beispiel #6
0
        public void CorrelationIdIsPromotedInward()
        {
            var token = Guid.NewGuid().ToString();

            MessageMock.Setup(m => m.GetProperty(BtsProperties.InboundTransportLocation)).Returns("inbound-transport-location");
            MessageMock.Setup(m => m.GetProperty(SBMessagingProperties.CorrelationId)).Returns(token);

            var sut = new SBMessagingContextPropagator();

            sut.Execute(PipelineContextMock.Object, MessageMock.Object);

            MessageMock.Verify(m => m.Promote(BizTalkFactoryProperties.CorrelationToken, token), Times.Once);
            MessageMock.Verify(m => m.SetProperty(BizTalkFactoryProperties.CorrelationToken, It.IsAny <string>()), Times.Never);
        }
Beispiel #7
0
        public void CorrelationTokenIsPropagatedOutward()
        {
            using (var inputStream = new MemoryStream(Encoding.UTF8.GetBytes("<root xmlns='urn:ns'></root>")))
            {
                MessageMock.Object.BodyPart.Data = inputStream;
                var token = Guid.NewGuid().ToString();
                MessageMock.Setup(m => m.GetProperty(BtsProperties.OutboundTransportLocation)).Returns("outbound-transport-location");
                MessageMock.Setup(m => m.GetProperty(BizTalkFactoryProperties.CorrelationToken)).Returns(token);

                var sut = new SBMessagingContextPropagator();
                sut.Execute(PipelineContextMock.Object, MessageMock.Object);

                MessageMock.Verify(m => m.SetProperty(SBMessagingProperties.CorrelationId, token), Times.Once);
            }
        }
Beispiel #8
0
        public void MessageTypeIsProbedWhenUnknown()
        {
            using (var inputStream = new MemoryStream(Encoding.UTF8.GetBytes("non xml payload")))
            {
                MessageMock.Object.BodyPart.Data = inputStream;
                MessageMock.Setup(m => m.GetProperty(BtsProperties.OutboundTransportLocation)).Returns("outbound-transport-location");

                var probeStreamMock = new Mock <IProbeStream>();
                StreamExtensions.StreamProberFactory = stream => probeStreamMock.Object;

                var sut = new SBMessagingContextPropagator();
                sut.Execute(PipelineContextMock.Object, MessageMock.Object);

                probeStreamMock.VerifyGet(ps => ps.MessageType, Times.Once);
            }
        }
Beispiel #9
0
        public void SBMessagingPropertiesAreOnlyPromotedInward()
        {
            using (var inputStream = new MemoryStream(Encoding.UTF8.GetBytes("<root xmlns='urn:ns'></root>")))
            {
                MessageMock.Object.BodyPart.Data = inputStream;
                MessageMock.Setup(m => m.GetProperty(BtsProperties.OutboundTransportLocation)).Returns("outbound-transport-location");
                MessageMock.Setup(m => m.GetProperty(SBMessagingProperties.CorrelationId)).Returns(Guid.NewGuid().ToString);
                MessageMock.Setup(m => m.GetProperty(BrokeredProperties.MessageType)).Returns("urn:ns#root");

                var sut = new SBMessagingContextPropagator();
                sut.Execute(PipelineContextMock.Object, MessageMock.Object);

                MessageMock.Verify(m => m.SetProperty(BizTalkFactoryProperties.CorrelationToken, It.IsAny <string>()), Times.Never);
                MessageMock.Verify(m => m.Promote(BizTalkFactoryProperties.CorrelationToken, It.IsAny <string>()), Times.Never);
                MessageMock.Verify(m => m.SetProperty(BtsProperties.MessageType, It.IsAny <string>()), Times.Never);
                MessageMock.Verify(m => m.Promote(BtsProperties.MessageType, It.IsAny <string>()), Times.Never);
            }
        }