@Test public void messageSerializationKeepsMediaType() throws Exception { final Message message = InternalMessage.builder() .payload(new TypedValue<>(new ByteArrayInputStream("{\"id\":\"1\"}".getBytes()), DataType.JSON_STRING)).build(); currentMuleContext.set(muleContext); InternalMessage deserializedMessage = serializationRoundtrip(message); assertThat(deserializedMessage.getPayload().getDataType().getMediaType(), is(equalTo(message.getPayload().getDataType().getMediaType()))); }
@Test public void addingInboundAttachmentsRespectOrder() { InternalMessage message = InternalMessage.builder() .payload(TypedValue.of("test")) .mediaType(TEXT) .addInboundAttachment("another", new DataHandler(new ByteArrayDataSource("no".getBytes(), TEXT, "another"))) .addInboundAttachment("field1", new DataHandler(new ByteArrayDataSource("yes".getBytes(), TEXT, "field1"))) .exceptionPayload(new DefaultExceptionPayload(new NullPointerException("error"))) .build(); validateAttachments(message.getInboundAttachmentNames()); }
@Test public void addingOutboundAttachmentsRespectOrder() { InternalMessage message = InternalMessage.builder() .payload(TypedValue.of("test")) .mediaType(TEXT) .addOutboundAttachment("another", new DataHandler(new ByteArrayDataSource("no".getBytes(), TEXT, "another"))) .addOutboundAttachment("field1", new DataHandler(new ByteArrayDataSource("yes".getBytes(), TEXT, "field1"))) .exceptionPayload(new DefaultExceptionPayload(new NullPointerException("error"))) .build(); validateAttachments(message.getOutboundAttachmentNames()); }
@Test public void compatibilityToString() { Message message = InternalMessage.builder() .payload(TypedValue.of("test")) .attributes(new TypedValue<>("{}", JSON_STRING)) .mediaType(TEXT) .addInboundProperty("bar", "in") .addOutboundProperty(FOO_PROPERTY, "out") .exceptionPayload(new DefaultExceptionPayload(new NullPointerException("error"))) .build(); assertThat(message.toString(), is(equalToIgnoringLineBreaks("\n" + "org.mule.runtime.core.internal.message.DefaultMessageBuilder$MessageImplementation\n" + "{\n" + " payload=test\n" + " mediaType=text/plain\n" + " attributes={}\n" + " attributesMediaType=application/json\n" + " exceptionPayload:\n" + " message=error\n" + " exception=java.lang.NullPointerException: error\n" + " Message properties:\n" + " INBOUND scoped properties:\n" + " bar=in\n" + " OUTBOUND scoped properties:\n" + " foo=out\n" + "}"))); }
@Test public void outboundAttachmentsRespectOrder() { InternalMessage message = InternalMessage.builder() .payload(TypedValue.of("test")) .mediaType(TEXT) .outboundAttachments(getAttachments()) .exceptionPayload(new DefaultExceptionPayload(new NullPointerException("error"))) .build(); validateAttachments(message.getOutboundAttachmentNames()); }
@Test public void inboundAttachmentsRespectOrder() { InternalMessage message = InternalMessage.builder() .payload(TypedValue.of("test")) .mediaType(TEXT) .inboundAttachments(getAttachments()) .exceptionPayload(new DefaultExceptionPayload(new NullPointerException("error"))) .build(); validateAttachments(message.getInboundAttachmentNames()); }