public void OptionalAndRequiredWithAnnotatedMethod() { var testService = new AnnotatedTestService(); var method = testService.GetType().GetMethod("OptionalAndRequiredHeader"); var context = GetDefaultContext(); var processor = new MethodInvokingMessageProcessor <object>(context, testService, method); var message = MessageBuilder.WithPayload("foo") .SetHeader("num", 42) .Build(); var result = processor.ProcessMessage(message); Assert.Equal("null42", result); message = MessageBuilder.WithPayload("foo") .SetHeader("prop", "bar") .SetHeader("num", 42) .Build(); result = processor.ProcessMessage(message); Assert.Equal("bar42", result); message = MessageBuilder.WithPayload("foo") .SetHeader("prop", "bar") .Build(); var ex = Assert.Throws <MessageHandlingException>(() => processor.ProcessMessage(message)); Assert.Contains("num", ex.InnerException.Message); }
public void ConvertedPayloadWithAnnotatedMethod() { AnnotatedTestService service = new AnnotatedTestService(); MethodInfo method = service.GetType().GetMethod("IntegerMethod"); MessageMappingMethodInvoker invoker = new MessageMappingMethodInvoker(service, method); object result = invoker.InvokeMethod(new StringMessage("456")); Assert.That(result, Is.EqualTo(456)); }
public void ConversionFailureWithAnnotatedMethod() { AnnotatedTestService service = new AnnotatedTestService(); MethodInfo method = service.GetType().GetMethod("IntegerMethod"); MessageMappingMethodInvoker invoker = new MessageMappingMethodInvoker(service, method); object result = invoker.InvokeMethod(new StringMessage("foo")); Assert.That(result, Is.EqualTo(123)); }
public void PayloadWithAnnotatedMethod() { AnnotatedTestService service = new AnnotatedTestService(); MethodInfo method = service.GetType().GetMethod("IntegerMethod"); MessageMappingMethodInvoker invoker = new MessageMappingMethodInvoker(service, method); object result = invoker.InvokeMethod(new Message <int>(123)); Assert.That(result, Is.EqualTo(123)); }
public void MessageOnlyWithAnnotatedMethod() { AnnotatedTestService service = new AnnotatedTestService(); MethodInfo method = service.GetType().GetMethod("MessageOnly"); MessageMappingMethodInvoker invoker = new MessageMappingMethodInvoker(service, method); object result = invoker.InvokeMethod(new StringMessage("foo")); Assert.That(result, Is.EqualTo("foo")); }
public void MessageAndHeaderWithAnnotatedMethod() { AnnotatedTestService service = new AnnotatedTestService(); MethodInfo method = service.GetType().GetMethod("MessageAndHeader"); MessageMappingMethodInvoker invoker = new MessageMappingMethodInvoker(service, method); IMessage message = MessageBuilder.WithPayload("foo").SetHeader("number", 42).Build(); object result = invoker.InvokeMethod(message); Assert.That(result, Is.EqualTo("foo-42")); }
public void ConversionFailureWithAnnotatedMethod() { var testService = new AnnotatedTestService(); var method = testService.GetType().GetMethod("IntegerMethod"); var context = GetDefaultContext(); var processor = new MethodInvokingMessageProcessor <object>(context, testService, method); var ex = Assert.Throws <MessageHandlingException>(() => processor.ProcessMessage(Message.Create("foo"))); Assert.IsType <MessageConversionException>(ex.InnerException); }
public void ConvertedPayloadWithAnnotatedMethod() { var testService = new AnnotatedTestService(); var method = testService.GetType().GetMethod("IntegerMethod"); var context = GetDefaultContext(); var processor = new MethodInvokingMessageProcessor <object>(context, testService, method); var result = processor.ProcessMessage(Message.Create("456")); Assert.Equal(456, result); }
public void MessageOnlyWithAnnotatedMethod() { var testService = new AnnotatedTestService(); var method = testService.GetType().GetMethod("MessageOnly"); var context = GetDefaultContext(); var processor = new MethodInvokingMessageProcessor <object>(context, testService, method); var result = processor.ProcessMessage(Message.Create("foo")); Assert.Equal("foo", result); }
public void MessageAndHeaderWithAnnotatedMethod() { var testService = new AnnotatedTestService(); var method = testService.GetType().GetMethod("MessageAndHeader"); var context = GetDefaultContext(); var processor = new MethodInvokingMessageProcessor <object>(context, testService, method); var request = MessageBuilder.WithPayload("foo").SetHeader("number", 42).Build(); var result = processor.ProcessMessage(request); Assert.NotNull(result); Assert.Equal("foo-42", result); }