public void ToMessageWithEmptyParameterArray()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayload");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);

            mapper.ToMessage(new object[] {});
        }
        public void NoArgs()
        {
            MethodInfo method = typeof(TestService).GetMethod("NoArgs");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);

            mapper.ToMessage(new object[] {});
        }
        public void ToMessageWithTooManyParameters()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayload");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);

            mapper.ToMessage(new object[] { "test", "oops" });
        }
        public void OnlyHeaders()
        {
            MethodInfo method = typeof(TestService).GetMethod("OnlyHeaders");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);

            mapper.ToMessage(new object[] { "abc", "def" });
        }
示例#5
0
        public void FromMessageWithRequiredHeaderNotProvided()
        {
            MethodInfo method = typeof(TestService).GetMethod("RequiredHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);

            mapper.FromMessage(new StringMessage("foo"));
        }
        public void ToMessageWithPayloadAndRequiredHeaderButNullValue()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayloadAndHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);

            mapper.ToMessage(new object[] { "test", null });
        }
示例#7
0
        public void FromMessageWithOptionalAndRequiredHeaderAndOnlyOptionalHeaderProvided()
        {
            MethodInfo method = typeof(TestService).GetMethod("OptionalAndRequiredHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage message = MessageBuilder.WithPayload("foo").SetHeader("prop", "bar").Build();

            mapper.FromMessage(message);
        }
        public void ToMessageWithPayload()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayload");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage message = mapper.ToMessage(new object[] { "test" });

            Assert.That(message.Payload, Is.EqualTo("test"));
        }
        public void ToMessageWithMessageParameterAndRequiredHeaderButNullValue()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendMessageAndHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage inputMessage = MessageBuilder.WithPayload("test message").Build();

            mapper.ToMessage(new object[] { inputMessage, null });
        }
示例#10
0
        public void FromMessageWithOptionalHeader()
        {
            MethodInfo method = typeof(TestService).GetMethod("OptionalHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);

            object[] args = (object[])mapper.FromMessage(new StringMessage("foo"));
            Assert.That(args.Length, Is.EqualTo(1));
            Assert.IsNull(args[0]);
        }
        public void ToMessageWithPayloadAndOptionalHeaderWithNullValue()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayloadAndOptionalHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage message = mapper.ToMessage(new object[] { "test", null });

            Assert.That(message.Payload, Is.EqualTo("test"));
            Assert.IsFalse(message.Headers.ContainsKey("foo"));
        }
        public void ToMessageWithPayloadAndOptionalHeaderWithValueProvided()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayloadAndOptionalHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage message = mapper.ToMessage(new object[] { "test", "bar" });

            Assert.That(message.Payload, Is.EqualTo("test"));
            Assert.That(message.Headers["foo"], Is.EqualTo("bar"));
        }
        public void ToMessageWithPayloadAndHeadersMapWithNonStringKey()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayloadAndHeadersMap");
            MethodParameterMessageMapper mapper  = new MethodParameterMessageMapper(method);
            IDictionary <int, string>    headers = new Dictionary <int, string>();

            headers.Add(123, "abc");
            mapper.ToMessage(new object[] { "test", headers });
        }
        public void ToMessageWithMessageParameter()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendMessage");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage inputMessage = MessageBuilder.WithPayload("test message").Build();
            IMessage message      = mapper.ToMessage(new object[] { inputMessage });

            Assert.That(message.Payload, Is.EqualTo("test message"));
        }
示例#15
0
        public void FromMessageWithRequiredHeaderProvided()
        {
            MethodInfo method = typeof(TestService).GetMethod("RequiredHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage message = MessageBuilder.WithPayload("foo").SetHeader("num", 123).Build();

            object[] args = (object[])mapper.FromMessage(message);
            Assert.That(args.Length, Is.EqualTo(1));
            Assert.That(args[0], Is.EqualTo(123));
        }
        public void ToMessageWithMessageParameterAndOptionalHeaderWithNull()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendMessageAndOptionalHeader");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage inputMessage = MessageBuilder.WithPayload("test message").Build();
            IMessage message      = mapper.ToMessage(new object[] { inputMessage, null });

            Assert.That(message.Payload, Is.EqualTo("test message"));
            Assert.That(message.Headers.ContainsKey("foo"), Is.False);
        }
 public void FromMessageWithOptionalAndRequiredHeaderAndBothHeadersProvided()
 {
     MethodInfo method = typeof (TestService).GetMethod("OptionalAndRequiredHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage message = MessageBuilder.WithPayload("foo").SetHeader("num", 123).SetHeader("prop", "bar").Build();
     object[] args = (object[]) mapper.FromMessage(message);
     Assert.That(args.Length, Is.EqualTo(2));
     Assert.That(args[0], Is.EqualTo("bar"));
     Assert.That(args[1], Is.EqualTo(123));
 }
 public void FromMessageWithMapMethodAndHeadersAnnotation()
 {
     MethodInfo method = typeof (TestService).GetMethod("MapHeaders");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage message =
         MessageBuilder.WithPayload("test").SetHeader("attrib1", 123).SetHeader("attrib2", 456).Build();
     object[] args = (object[]) mapper.FromMessage(message);
     IDictionary<string, object> result = (IDictionary<string, object>) args[0];
     Assert.That(result["attrib1"], Is.EqualTo(123));
     Assert.That(result["attrib2"], Is.EqualTo(456));
 }
示例#19
0
        private object ResolveParameters(MethodInfo method, IMessage message)
        {
            IOutboundMessageMapper mapper = messageMappers.ContainsKey(method) ? messageMappers[method] : null;

            if (mapper == null)
            {
                mapper = new MethodParameterMessageMapper(method);
                messageMappers.Add(method, mapper);
            }
            // TODO check
            return(mapper.FromMessage(message));
        }
示例#20
0
        public void FromMessageWithMapMethodAndHeadersAnnotation()
        {
            MethodInfo method = typeof(TestService).GetMethod("MapHeaders");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage message =
                MessageBuilder.WithPayload("test").SetHeader("attrib1", 123).SetHeader("attrib2", 456).Build();

            object[] args = (object[])mapper.FromMessage(message);
            IDictionary <string, object> result = (IDictionary <string, object>)args[0];

            Assert.That(result["attrib1"], Is.EqualTo(123));
            Assert.That(result["attrib2"], Is.EqualTo(456));
        }
        public void ToMessageWithPayloadAndHeadersMap()
        {
            MethodInfo method = typeof(TestService).GetMethod("SendPayloadAndHeadersMap");
            MethodParameterMessageMapper mapper  = new MethodParameterMessageMapper(method);
            IDictionary <string, object> headers = new Dictionary <string, object>();

            headers.Add("abc", 123);
            headers.Add("def", 456);
            IMessage message = mapper.ToMessage(new object[] { "test", headers });

            Assert.That(message.Payload, Is.EqualTo("test"));
            Assert.That(message.Headers["abc"], Is.EqualTo(123));
            Assert.That(message.Headers["def"], Is.EqualTo(456));
        }
示例#22
0
        public void FromMessageWithPropertiesMethodAndHeadersAnnotation()
        {
            MethodInfo method = typeof(TestService).GetMethod("PropertiesHeaders");
            MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
            IMessage message =
                MessageBuilder.WithPayload("test").SetHeader("prop1", "foo").SetHeader("prop2", "bar").Build();

            object[]   args   = (object[])mapper.FromMessage(message);
            Properties result = (Properties)args[0];

            Assert.That(result.Count, Is.EqualTo(2));
            Assert.That(result.GetProperty("prop1"), Is.EqualTo("foo"));
            Assert.That(result.GetProperty("prop2"), Is.EqualTo("bar"));
        }
 public void FromMessageWithMapMethodAndMapPayload()
 {
     MethodInfo method = typeof (TestService).GetMethod("MapPayload");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IDictionary<string, int> payload = new Dictionary<string, int>();
     payload.Add("attrib1", 123);
     payload.Add("attrib2", 456);
     IMessage message =
         MessageBuilder.WithPayload(payload).SetHeader("attrib1", 123).SetHeader("attrib2", 456).Build();
     object[] args = (object[]) mapper.FromMessage(message);
     IDictionary<string, int> result = (IDictionary<string, int>) args[0];
     Assert.That(result.Count, Is.EqualTo(2));
     Assert.That(result["attrib1"], Is.EqualTo(123));
     Assert.That(result["attrib2"], Is.EqualTo(456));
 }
示例#24
0
        public void FromMessageWithMapMethodAndMapPayload()
        {
            MethodInfo method = typeof(TestService).GetMethod("MapPayload");
            MethodParameterMessageMapper mapper  = new MethodParameterMessageMapper(method);
            IDictionary <string, int>    payload = new Dictionary <string, int>();

            payload.Add("attrib1", 123);
            payload.Add("attrib2", 456);
            IMessage message =
                MessageBuilder.WithPayload(payload).SetHeader("attrib1", 123).SetHeader("attrib2", 456).Build();

            object[] args = (object[])mapper.FromMessage(message);
            IDictionary <string, int> result = (IDictionary <string, int>)args[0];

            Assert.That(result.Count, Is.EqualTo(2));
            Assert.That(result["attrib1"], Is.EqualTo(123));
            Assert.That(result["attrib2"], Is.EqualTo(456));
        }
 public void ToMessageWithPayloadAndOptionalHeaderWithValueProvided()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayloadAndOptionalHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage message = mapper.ToMessage(new object[] {"test", "bar"});
     Assert.That(message.Payload, Is.EqualTo("test"));
     Assert.That(message.Headers["foo"], Is.EqualTo("bar"));
 }
 public void ToMessageWithPayloadAndOptionalHeaderWithNullValue()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayloadAndOptionalHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage message = mapper.ToMessage(new object[] {"test", null});
     Assert.That(message.Payload, Is.EqualTo("test"));
     Assert.IsFalse(message.Headers.ContainsKey("foo"));
 }
 public void ToMessageWithPayloadAndNullHeadersMap()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayloadAndHeadersMap");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage message = mapper.ToMessage(new object[] {"test", null});
     Assert.That(message.Payload, Is.EqualTo("test"));
 }
 public void ToMessageWithPayloadAndHeadersMapWithNonStringKey()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayloadAndHeadersMap");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IDictionary<int, string> headers = new Dictionary<int, string>();
     headers.Add(123, "abc");
     mapper.ToMessage(new object[] {"test", headers});
 }
 public void ToMessageWithPayloadAndHeadersMap()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayloadAndHeadersMap");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IDictionary<string, object> headers = new Dictionary<string, object>();
     headers.Add("abc", 123);
     headers.Add("def", 456);
     IMessage message = mapper.ToMessage(new object[] {"test", headers});
     Assert.That(message.Payload, Is.EqualTo("test"));
     Assert.That(message.Headers["abc"], Is.EqualTo(123));
     Assert.That(message.Headers["def"], Is.EqualTo(456));
 }
 public void NoArgs()
 {
     MethodInfo method = typeof (TestService).GetMethod("NoArgs");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     mapper.ToMessage(new object[] {});
 }
 private object ResolveParameters(MethodInfo method, IMessage message)
 {
     IOutboundMessageMapper mapper = messageMappers.ContainsKey(method) ? messageMappers[method] : null;
     if(mapper == null) {
         mapper = new MethodParameterMessageMapper(method);
         messageMappers.Add(method, mapper);
     }
     // TODO check
     return mapper.FromMessage(message);
 }
 public void FromMessageWithOptionalHeader()
 {
     MethodInfo method = typeof (TestService).GetMethod("OptionalHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     object[] args = (object[]) mapper.FromMessage(new StringMessage("foo"));
     Assert.That(args.Length, Is.EqualTo(1));
     Assert.IsNull(args[0]);
 }
 public void FromMessageWithPropertiesMethodAndPropertiesPayload()
 {
     MethodInfo method = typeof (TestService).GetMethod("PropertiesPayload");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     Properties payload = new Properties();
     payload.SetProperty("prop1", "foo");
     payload.SetProperty("prop2", "bar");
     IMessage message =
         MessageBuilder.WithPayload(payload).SetHeader("prop1", "not").SetHeader("prop2", "these").Build();
     object[] args = (object[]) mapper.FromMessage(message);
     Properties result = (Properties) args[0];
     Assert.That(result.Count, Is.EqualTo(2));
     Assert.That(result.GetProperty("prop1"), Is.EqualTo("foo"));
     Assert.That(result.GetProperty("prop2"), Is.EqualTo("bar"));
 }
 public void FromMessageWithRequiredHeaderNotProvided()
 {
     MethodInfo method = typeof (TestService).GetMethod("RequiredHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     mapper.FromMessage(new StringMessage("foo"));
 }
 public void ToMessageWithPayloadAndRequiredHeaderButNullValue()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayloadAndHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     mapper.ToMessage(new object[] {"test", null});
 }
 public void ToMessageWithMessageParameterAndOptionalHeaderWithValue()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendMessageAndOptionalHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage inputMessage = MessageBuilder.WithPayload("test message").Build();
     IMessage message = mapper.ToMessage(new object[] {inputMessage, "bar"});
     Assert.That(message.Payload, Is.EqualTo("test message"));
     Assert.That(message.Headers["foo"], Is.EqualTo("bar"));
 }
 public void ToMessageWithTooManyParameters()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayload");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     mapper.ToMessage(new object[] {"test", "oops"});
 }
 public void ToMessageWithMessageParameterAndRequiredHeaderButNullValue()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendMessageAndHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage inputMessage = MessageBuilder.WithPayload("test message").Build();
     mapper.ToMessage(new object[] {inputMessage, null});
 }
 public void OnlyHeaders()
 {
     MethodInfo method = typeof (TestService).GetMethod("OnlyHeaders");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     mapper.ToMessage(new object[] {"abc", "def"});
 }
 public void ToMessageWithEmptyParameterArray()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendPayload");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     mapper.ToMessage(new object[] {});
 }
 public void ToMessageWithMessageParameter()
 {
     MethodInfo method = typeof (TestService).GetMethod("SendMessage");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage inputMessage = MessageBuilder.WithPayload("test message").Build();
     IMessage message = mapper.ToMessage(new object[] {inputMessage});
     Assert.That(message.Payload, Is.EqualTo("test message"));
 }
 public void FromMessageWithOptionalAndRequiredHeaderAndOnlyOptionalHeaderProvided()
 {
     MethodInfo method = typeof (TestService).GetMethod("OptionalAndRequiredHeader");
     MethodParameterMessageMapper mapper = new MethodParameterMessageMapper(method);
     IMessage message = MessageBuilder.WithPayload("foo").SetHeader("prop", "bar").Build();
     mapper.FromMessage(message);
 }