diff --git a/spring-integration-core/src/test/java/org/springframework/integration/message/MethodInvokingMessageSourceTests.java b/spring-integration-core/src/test/java/org/springframework/integration/message/MethodInvokingMessageSourceTests.java index 283a3027a7..11f65d4be0 100644 --- a/spring-integration-core/src/test/java/org/springframework/integration/message/MethodInvokingMessageSourceTests.java +++ b/spring-integration-core/src/test/java/org/springframework/integration/message/MethodInvokingMessageSourceTests.java @@ -19,8 +19,14 @@ package org.springframework.integration.message; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import java.util.HashMap; +import java.util.Map; + import org.junit.Test; +import org.springframework.expression.Expression; +import org.springframework.expression.common.LiteralExpression; +import org.springframework.expression.spel.standard.SpelExpressionParser; import org.springframework.integration.Message; import org.springframework.integration.MessagingException; import org.springframework.integration.endpoint.MethodInvokingMessageSource; @@ -41,6 +47,23 @@ public class MethodInvokingMessageSourceTests { assertEquals("valid", result.getPayload()); } + @Test + public void testHeaderExpressions() { + Map headerExpressions = new HashMap(); + headerExpressions.put("foo", new LiteralExpression("abc")); + headerExpressions.put("bar", new SpelExpressionParser().parseExpression("new Integer(123)")); + MethodInvokingMessageSource source = new MethodInvokingMessageSource(); + source.setObject(new TestBean()); + source.setMethodName("validMethod"); + source.setHeaderExpressions(headerExpressions); + Message result = source.receive(); + assertNotNull(result); + assertNotNull(result.getPayload()); + assertEquals("valid", result.getPayload()); + assertEquals("abc", result.getHeaders().get("foo")); + assertEquals(123, result.getHeaders().get("bar")); + } + @Test(expected=MessagingException.class) public void testNoMatchingMethodName() { MethodInvokingMessageSource source = new MethodInvokingMessageSource();