Ejemplo n.º 1
0
        public void TestTransformations(string source, string expectedResult)
        {
            var messagePostProcessor = new MessagePostProcessor(_wrapper);
            var result = messagePostProcessor.Process("a", Guid.Parse("d133c970-580f-4926-9588-3f49bb914162"), source);

            Assert.IsTrue(result.Equals(expectedResult), $"{nameof(result)} {result} != {nameof(expectedResult)} {expectedResult}");
        }
Ejemplo n.º 2
0
        public void TestPlainText(string text)
        {
            var messagePostProcessor = new MessagePostProcessor(_wrapper);
            var result = messagePostProcessor.Process("a", Guid.Parse("d133c970-580f-4926-9588-3f49bb914162"), text);

            Assert.IsTrue(text.Equals(result), $"{nameof(text)} {text} != {nameof(result)} {result}");
        }
Ejemplo n.º 3
0
        public void TestPlainTextWithLineBreaks(string text, bool mustBeEqual)
        {
            var messagePostProcessor = new MessagePostProcessor(_wrapper);
            var result           = messagePostProcessor.Process("a", Guid.Parse("d133c970-580f-4926-9588-3f49bb914162"), text);
            var comparisonResult = text.Equals(result);

            if (mustBeEqual)
            {
                Assert.IsTrue(comparisonResult, $"{nameof(text)} {text} != {nameof(result)} {result}");
            }
            else
            {
                Assert.IsFalse(comparisonResult, $"{nameof(text)} {text} == {nameof(result)} {result}");
            }
        }
Ejemplo n.º 4
0
        public void TestConverted()
        {
            var template = provider.GetRabbitTemplate();
            var foo1     = new Foo1
            {
                Bar = "bar"
            };
            var ctx       = provider.GetService <IApplicationContext>();
            var converter = ctx.GetService <ISmartMessageConverter>(JsonMessageConverter.DEFAULT_SERVICE_NAME) as JsonMessageConverter;

            converter.TypeMapper.DefaultType = typeof(Dictionary <string, object>);
            converter.Precedence             = TypePrecedence.TYPE_ID;
            var returned = template.ConvertSendAndReceive <Foo2>("test.converted", foo1);

            Assert.IsType <Foo2>(returned);
            Assert.Equal("bar", returned.Bar);
            converter.Precedence = TypePrecedence.INFERRED;

            template.MessageConverter = new Support.Converter.SimpleMessageConverter();
            var messagePostProcessor = new MessagePostProcessor();
            var returned2            = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.converted", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("{\"bar\":\"baz\"}", Encoding.UTF8.GetString(returned2));

            var returned3 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.converted.list", "[{ \"bar\" : \"baz\" }]", messagePostProcessor);

            Assert.Equal("{\"bar\":\"BAZZZZ\"}", Encoding.UTF8.GetString(returned3));

            var returned4 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.converted.array", "[{ \"bar\" : \"baz\" }]", messagePostProcessor);

            Assert.Equal("{\"bar\":\"BAZZxx\"}", Encoding.UTF8.GetString(returned4));

            var returned5 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.converted.args1", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"bar=baztest.converted.args1\"", Encoding.UTF8.GetString(returned5));

            var returned6 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.converted.args2", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"bar=baztest.converted.args2\"", Encoding.UTF8.GetString(returned6));

            var beanMethodHeaders = new List <string>();
            var mpp = new AfterReceivePostProcessors(beanMethodHeaders);

            template.SetAfterReceivePostProcessors(mpp);
            var returned7 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.converted.message", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"bar=bazFoo2MessageFoo2Service\"", Encoding.UTF8.GetString(returned7));
            Assert.Equal(2, beanMethodHeaders.Count);
            Assert.Equal("Foo2Service", beanMethodHeaders[0]);
            Assert.Equal("Foo2Message", beanMethodHeaders[1]);

            template.RemoveAfterReceivePostProcessor(mpp);
            var foo2Service = ctx.GetService <Foo2Service>();

            Assert.IsType <Foo2Service>(foo2Service.Bean);
            Assert.NotNull(foo2Service.Method);
            Assert.Equal("Foo2Message", foo2Service.Method.Name);

            var returned8 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.notconverted.message", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"fooMessage`1\"", Encoding.UTF8.GetString(returned8));
            Assert.Equal("string", foo2Service.StringHeader);
            Assert.Equal(42, foo2Service.IntHeader);

            var returned9 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.notconverted.channel", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"barAndChannel\"", Encoding.UTF8.GetString(returned9));

            var returned10 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.notconverted.messagechannel", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"bar=bazMessage`1AndChannel\"", Encoding.UTF8.GetString(returned10));

            var returned11 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.notconverted.messagingmessage", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"Message`1Dictionary`2\"", Encoding.UTF8.GetString(returned11));

            var returned12 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.converted.foomessage", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"Message`1Foo2guest\"", Encoding.UTF8.GetString(returned12));

            var returned13 = template.ConvertSendAndReceive <byte[]>(string.Empty, "test.notconverted.messagingmessagenotgeneric", "{ \"bar\" : \"baz\" }", messagePostProcessor);

            Assert.Equal("\"Message`1Dictionary`2\"", Encoding.UTF8.GetString(returned13));
        }