예제 #1
0
        public void TestMissingContentType()
        {
            var bytes             = Encoding.UTF8.GetBytes("{\"name\" : \"foo\" }");
            var messageProperties = new MessageHeaders();
            var message           = Message.Create(bytes, messageProperties);
            var j2Converter       = new JsonMessageConverter();
            var typeMapper        = new DefaultTypeMapper
            {
                DefaultType = typeof(Foo)
            };

            j2Converter.TypeMapper = typeMapper;
            var foo = j2Converter.FromMessage(message, null);

            Assert.IsType <Foo>(foo);
            var accessor = RabbitHeaderAccessor.GetMutableAccessor(messageProperties);

            accessor.ContentType = null;

            foo = j2Converter.FromMessage(message, null);
            Assert.IsType <Foo>(foo);
            j2Converter.AssumeSupportedContentType = false;
            foo = j2Converter.FromMessage(message, null);
            Assert.Same(foo, bytes);
        }
예제 #2
0
        public void TestDefaultType()
        {
            var bytes             = Encoding.UTF8.GetBytes("{\"name\" : \"foo\" }");
            var messageProperties = new RabbitHeaderAccessor
            {
                ContentType = "application/json"
            };
            var message     = Message.Create(bytes, messageProperties.MessageHeaders);
            var converter   = new JsonMessageConverter();
            var classMapper = new DefaultTypeMapper
            {
                DefaultType = typeof(Foo)
            };

            converter.TypeMapper = classMapper;
            var foo = converter.FromMessage(message, null);

            Assert.IsType <Foo>(foo);
        }