public void ResolveWithPayloadTypeAsWildcardAndNoConverter() { resolver = new MessageMethodArgumentResolver(); var message = MessageBuilder.WithPayload("test").Build(); var parameter = method.GetParameters()[0]; Assert.True(resolver.SupportsParameter(parameter)); Assert.Same(message, resolver.ResolveArgument(parameter, message)); }
public MessageMethodArgumentResolverTest() { method = typeof(MessageMethodArgumentResolverTest) .GetMethod( "Handle", BindingFlags.NonPublic | BindingFlags.Instance); mock = new Mock <IMessageConverter>(); converter = mock.Object; resolver = new MessageMethodArgumentResolver(converter); }
public void ResolveWithConversionNeededButNoConverter() { resolver = new MessageMethodArgumentResolver(); var message = MessageBuilder.WithPayload("test").Build(); var parameter = method.GetParameters()[1]; Assert.True(resolver.SupportsParameter(parameter)); var ex = Assert.Throws <MessageConversionException>(() => resolver.ResolveArgument(parameter, message)); Assert.Contains("Int32", ex.Message); Assert.Contains("String", ex.Message); }
public void ResolveWithNewtonJSonConverter() { var inMessage = MessageBuilder.WithPayload("{\"prop\":\"bar\"}").Build(); var parameter = method.GetParameters()[5]; resolver = new MessageMethodArgumentResolver(new NewtonJsonMessageConverter()); var actual = resolver.ResolveArgument(parameter, inMessage); var condition1 = actual is IMessage; Assert.True(condition1); var outMessage = (IMessage)actual; var condition = outMessage.Payload is Foo; Assert.True(condition); Assert.Equal("bar", ((Foo)outMessage.Payload).Prop); }