@Test public void fromBodyAndMessageRange() { byte[] bytes = "foobar".getBytes(); Message message1 = MessageBuilder.withBody(bytes, 2, 5) .andProperties(this.setAll(MessagePropertiesBuilder.newInstance()) .build()) .build(); assertTrue(Arrays.equals("oba".getBytes(), message1.getBody())); Message message2 = MessageBuilder.fromClonedMessage(message1).build(); assertNotSame(message1.getBody(), message2.getBody()); assertTrue(Arrays.equals(message1.getBody(), message2.getBody())); assertEquals(message1.getMessageProperties(), message2.getMessageProperties()); }
Message message2 = MessageBuilder.fromClonedMessage(message1) .setReplyToAddress(foo) .build(); assertEquals(foo.toString(), message2.getMessageProperties().getReplyToAddress().toString()); Message message3 = MessageBuilder.fromClonedMessage(message1) .setReplyToAddressIfAbsent(foo) .build(); assertEquals(replyTo.toString(), message3.getMessageProperties().getReplyToAddress().toString()); Message message4 = MessageBuilder.fromClonedMessage(message1) .setReplyToAddress(null) .setReplyToAddressIfAbsent(foo)
@Test public void fromBodyAndMessage() { byte[] bytes = "foo".getBytes(); MessageProperties properties = this.setAll(MessagePropertiesBuilder.newInstance()) .setReplyTo("replyTo") .setReplyToIfAbsent("foo") .build(); Message message1 = MessageBuilder.withBody(bytes) .andProperties(properties) .build(); assertSame(bytes, message1.getBody()); assertEquals("replyTo", message1.getMessageProperties().getReplyTo()); Message message2 = MessageBuilder.fromMessage(message1) .setReplyTo("foo") .build(); assertSame(bytes, message2.getBody()); assertNotSame(message1.getMessageProperties(), message2.getMessageProperties()); assertEquals(message1.getMessageProperties(), MessageBuilder.fromMessage(message2).setReplyTo("replyTo").build().getMessageProperties()); assertEquals("foo", message2.getMessageProperties().getReplyTo()); Message message3 = MessageBuilder.fromClonedMessage(message1) .setReplyToIfAbsent("foo") .build(); assertEquals("replyTo", message3.getMessageProperties().getReplyTo()); Message message4 = MessageBuilder.fromClonedMessage(message1) .setReplyTo(null) .setReplyToIfAbsent("foo") .build(); assertEquals("foo", message4.getMessageProperties().getReplyTo()); }