Beispiel #1
0
        public async Task Should_return_the_header_value_from_the_transport()
        {
            var message = new BagOfCrap
            {
                CommandId  = NewId.NextGuid(),
                ItemNumber = "27"
            };

            const string headerName  = "Random-Header";
            const string headerValue = "SomeValue";

            await InputQueueSendEndpoint.Send(message, x => x.Headers.Set(headerName, headerValue));

            ConsumeContext <Command> context = await _handled;

            Assert.That(context.ReceiveContext.ContentType, Is.EqualTo(RawJsonMessageSerializer.RawJsonContentType),
                        $"unexpected content-type {context.ReceiveContext.ContentType}");

            Assert.That(context.Message.CommandId, Is.EqualTo(message.CommandId));
            Assert.That(context.Message.ItemNumber, Is.EqualTo(message.ItemNumber));

            Assert.That(context.Headers.Get <string>(headerName), Is.EqualTo(headerValue));

            Assert.IsTrue(context.MessageId.HasValue);
            Assert.IsTrue(context.ConversationId.HasValue);
            Assert.IsTrue(context.CorrelationId.HasValue);
            Assert.IsTrue(context.SentTime.HasValue);
            Assert.IsNotNull(context.DestinationAddress);
            Assert.IsNotNull(context.Host);
            Assert.That(context.SupportedMessageTypes.Count(), Is.EqualTo(1));
        }
Beispiel #2
0
        public async Task Should_not_forward_transport_headers_from_raw_json()
        {
            var message = new BagOfCrap
            {
                CommandId  = NewId.NextGuid(),
                ItemNumber = "27"
            };

            const string headerName  = "Random-Header";
            const string headerValue = "SomeValue";

            await InputQueueSendEndpoint.Send(message, x =>
            {
                x.Headers.Set(headerName, headerValue);
                x.Serializer = new RawJsonMessageSerializer();
            });

            ConsumeContext <Command> commandContext = await _handler;

            Assert.That(commandContext.ReceiveContext.ContentType, Is.EqualTo(RawJsonMessageSerializer.RawJsonContentType),
                        $"unexpected content-type {commandContext.ReceiveContext.ContentType}");

            ConsumeContext <PingMessage> context = await _handled;

            Assert.That(context.ReceiveContext.ContentType, Is.EqualTo(JsonMessageSerializer.JsonContentType),
                        $"unexpected content-type {context.ReceiveContext.ContentType}");

            Assert.That(context.Message.CorrelationId, Is.EqualTo(message.CommandId));

            Assert.That(context.Headers.Get <string>(headerName), Is.EqualTo(default));
        public async Task Should_handle_any_requested_message_type()
        {
            var message = new BagOfCrap
            {
                CommandId  = NewId.NextGuid(),
                ItemNumber = "27",
            };

            await InputQueueSendEndpoint.Send(message);

            ConsumeContext <Command> context = await _handled;

            Assert.That(context.ReceiveContext.ContentType, Is.EqualTo(RawJsonMessageSerializer.RawJsonContentType),
                        $"unexpected content-type {context.ReceiveContext.ContentType}");

            Assert.That(context.Message.CommandId, Is.EqualTo(message.CommandId));
            Assert.That(context.Message.ItemNumber, Is.EqualTo(message.ItemNumber));
        }
Beispiel #4
0
        public async Task Should_have_the_original_headers()
        {
            var message = new BagOfCrap
            {
                CommandId  = NewId.NextGuid(),
                ItemNumber = "27",
                Crap       = "All"
            };

            await InputQueueSendEndpoint.Send(message);

            ConsumeContext <Command> handled = await _handled;

            Assert.That(handled.Message.CommandId, Is.EqualTo(message.CommandId));
            Assert.That(handled.Message.ItemNumber, Is.EqualTo(message.ItemNumber));

            ConsumeContext <BagOfCrap> forwarded = await _forwarded;

            Assert.That(forwarded.Message.CommandId, Is.EqualTo(message.CommandId));
            Assert.That(forwarded.Message.ItemNumber, Is.EqualTo(message.ItemNumber));
            Assert.That(forwarded.Message.Crap, Is.EqualTo("All"));
            Assert.That(forwarded.ReceiveContext.ContentType.MediaType, Is.EqualTo(XmlMessageSerializer.ContentTypeHeaderValue));
        }