INT-1082: Add tests for header expressions

This commit is contained in:
David Syer
2010-05-15 03:25:19 +00:00
parent 657d173fe7
commit 44ddbb8f92
3 changed files with 30 additions and 2 deletions

View File

@@ -18,6 +18,7 @@ import static org.junit.Assert.assertEquals;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.hamcrest.Description;
import org.junit.Ignore;
import org.junit.Rule;
import org.junit.Test;
import org.junit.internal.matchers.TypeSafeMatcher;
@@ -44,6 +45,21 @@ public class ExpressionEvaluatingMessageProcessorTests {
assertEquals("foo", processor.processMessage(new StringMessage("foo")));
}
@Test
public void testProcessMessageWithDollar() {
ExpressionEvaluatingMessageProcessor processor = new ExpressionEvaluatingMessageProcessor("headers['$id']");
StringMessage message = new StringMessage("foo");
assertEquals(message.getHeaders().getId(), processor.processMessage(message));
}
@Test
@Ignore // This doesn't work because the context root for the expression evaluated as the map key is the headers (seems like a bug)
public void testProcessMessageWithStaticKey() {
ExpressionEvaluatingMessageProcessor processor = new ExpressionEvaluatingMessageProcessor("headers[T(org.springframework.integration.core.MessageHeaders).ID]");
StringMessage message = new StringMessage("foo");
assertEquals(message.getHeaders().getId(), processor.processMessage(message));
}
@Test
public void testProcessMessageBadExpression() {
expected.expect(new TypeSafeMatcher<Exception>(Exception.class) {