@Test public void testPushAndPopSequenceDetailsMutable() throws Exception { Message<Integer> message1 = MutableMessageBuilder.withPayload(1).pushSequenceDetails("foo", 1, 2).build(); assertFalse(message1.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); Message<Integer> message2 = MutableMessageBuilder.fromMessage(message1).pushSequenceDetails("bar", 1, 1).build(); assertTrue(message2.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); Message<Integer> message3 = MutableMessageBuilder.fromMessage(message2).popSequenceDetails().build(); assertFalse(message3.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); }
@Test public void testPushAndPopSequenceDetailsWhenNoCorrelationIdMutable() throws Exception { Message<Integer> message1 = MutableMessageBuilder.withPayload(1).build(); assertFalse(message1.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); Message<Integer> message2 = MutableMessageBuilder.fromMessage(message1).pushSequenceDetails("bar", 1, 1).build(); assertFalse(message2.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); Message<Integer> message3 = MutableMessageBuilder.fromMessage(message2).popSequenceDetails().build(); assertFalse(message3.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); }
@Test public void testPushAndPopSequenceDetailsWhenNoSequenceMutable() throws Exception { Message<Integer> message1 = MutableMessageBuilder.withPayload(1).setCorrelationId("foo").build(); assertFalse(message1.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); Message<Integer> message2 = MutableMessageBuilder.fromMessage(message1).pushSequenceDetails("bar", 1, 1).build(); assertTrue(message2.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); Message<Integer> message3 = MutableMessageBuilder.fromMessage(message2).popSequenceDetails().build(); assertFalse(message3.getHeaders().containsKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS)); }
@Test public void testNoIdAndTimestampHeaders() { Message<String> message = MutableMessageBuilder.withPayload("foo", false) .pushSequenceDetails("bar", 1, 1) .build(); assertThat(message, hasHeaderKey(IntegrationMessageHeaderAccessor.CORRELATION_ID)); assertThat(message, hasHeaderKey(IntegrationMessageHeaderAccessor.SEQUENCE_NUMBER)); assertThat(message, hasHeaderKey(IntegrationMessageHeaderAccessor.SEQUENCE_SIZE)); assertThat(message, not(hasHeaderKey(IntegrationMessageHeaderAccessor.SEQUENCE_DETAILS))); assertThat(message, not(hasHeaderKey(MessageHeaders.ID))); assertThat(message, not(hasHeaderKey(MessageHeaders.TIMESTAMP))); }