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}"); }
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}"); }
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}"); } }
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)); }