diff --git a/org.springframework.integration/src/test/java/org/springframework/integration/message/MessageBuilderTests.java b/org.springframework.integration/src/test/java/org/springframework/integration/message/MessageBuilderTests.java index a549950563..5097403ee3 100644 --- a/org.springframework.integration/src/test/java/org/springframework/integration/message/MessageBuilderTests.java +++ b/org.springframework.integration/src/test/java/org/springframework/integration/message/MessageBuilderTests.java @@ -62,6 +62,44 @@ public class MessageBuilderTests { assertEquals("2", message2.getHeaders().get("bar")); } + @Test + public void copyHeadersIfAbsent() { + Message message1 = MessageBuilder.fromPayload("test1") + .setHeader("foo", "bar").build(); + Message message2 = MessageBuilder.fromPayload("test2") + .setHeader("foo", 123) + .copyHeadersIfAbsent(message1.getHeaders()) + .build(); + assertEquals("test2", message2.getPayload()); + assertEquals(123, message2.getHeaders().get("foo")); + } + + @Test + public void createFromMessage() { + Message message1 = MessageBuilder.fromPayload("test") + .setHeader("foo", "bar").build(); + Message message2 = MessageBuilder.fromMessage(message1).build(); + assertEquals("test", message2.getPayload()); + assertEquals("bar", message2.getHeaders().get("foo")); + } + + @Test + public void testPriority() { + Message importantMessage = MessageBuilder.fromPayload(1) + .setPriority(MessagePriority.HIGHEST).build(); + assertEquals(MessagePriority.HIGHEST, importantMessage.getHeaders().getPriority()); + } + + @Test + public void testNonDestructiveSet() { + Message message1 = MessageBuilder.fromPayload(1) + .setPriority(MessagePriority.HIGHEST).build(); + Message message2 = MessageBuilder.fromMessage(message1) + .setHeaderIfAbsent(MessageHeaders.PRIORITY, MessagePriority.LOW) + .build(); + assertEquals(MessagePriority.HIGHEST, message2.getHeaders().getPriority()); + } + @Test public void testExpirationDate() { Date past = new Date(System.currentTimeMillis() - (60 * 1000));