예제 #1
0
        public void CanCreateEmptyAmqpProperties()
        {
            IMessage message = A.Fake <IMessage>();
            var      sut     = new AmqpPropertyBuilder();

            IAmqpProperties properties = sut.BuildPropertiesFromHeaders(message.Headers);

            properties.Should().NotBeNull(because: "Builder can build empty properties");
        }
예제 #2
0
        public void CanCreateAmqpPropertiesWithMessageId()
        {
            IMessage     message     = A.Fake <IMessage>();
            const string headerValue = "100500";

            A.CallTo(() => message.Headers)
            .Returns(new Dictionary <string, string> {
                { AmqpPropertyBuilder.MessageId, headerValue }
            });

            var sut = new AmqpPropertyBuilder();

            IAmqpProperties properties = sut.BuildPropertiesFromHeaders(message.Headers);

            properties.MessageId.Should().Be(headerValue);

            properties.Should().NotBeNull(because: "builder can build message id from message headers");
        }
예제 #3
0
        public void CanCreateAmqpPropertiesWithContentType()
        {
            IMessage     message     = A.Fake <IMessage>();
            const string headerValue = "text/plain";

            A.CallTo(() => message.Headers)
            .Returns(new Dictionary <string, string> {
                { AmqpPropertyBuilder.ContentType, headerValue }
            });

            var sut = new AmqpPropertyBuilder();

            IAmqpProperties properties = sut.BuildPropertiesFromHeaders(message.Headers);

            properties.ContentType.Should().Be(headerValue);

            properties.Should().NotBeNull(because: "builder can build content type from message headers");
        }
예제 #4
0
        public void CanCreateAmqpPropertiesWithPersistent()
        {
            IMessage     message     = A.Fake <IMessage>();
            const string headerValue = "true";

            A.CallTo(() => message.Headers)
            .Returns(new Dictionary <string, string> {
                { AmqpPropertyBuilder.Persistent, headerValue }
            });

            var sut = new AmqpPropertyBuilder();

            IAmqpProperties properties = sut.BuildPropertiesFromHeaders(message.Headers);

            properties.Persistent.Should().Be(bool.Parse(headerValue));

            properties.Should().NotBeNull(because: "builder can build persistent from message headers");
        }
예제 #5
0
        public void CanCreateAmqpPropertiesWithHeaderNotContainPresetHeaders()
        {
            IMessage message       = A.Fake <IMessage>();
            var      customHeaders = new Dictionary <string, string> {
                { "key1", "value1" }, { "key2", "value2" }
            };
            var allHeaders = new Dictionary <string, string>(customHeaders);

            allHeaders.Add(AmqpPropertyBuilder.ReplyTo, "some-address");
            allHeaders.Add(AmqpPropertyBuilder.ContentType, "some-address");

            A.CallTo(() => message.Headers).Returns(allHeaders);

            var sut = new AmqpPropertyBuilder();

            IAmqpProperties properties = sut.BuildPropertiesFromHeaders(message.Headers);

            properties.Headers.Should().BeEquivalentTo(customHeaders, because: "preset headers should be set to properties");
        }