@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" + "}"))); }
private Message createTestMessage() { return new DefaultMessageBuilder().value(TEST_PAYLOAD).mediaType(TEXT).build(); }
public MessageBuilderDecorator withMediaType(MediaType mediaType) { builder.mediaType(mediaType); return this; }
private void doPayloadDataTypeTest(String expression) throws Exception { final DataType expectedDataType = DataType.builder().type(String.class).mediaType(JSON).charset(CUSTOM_ENCODING).build(); MVELExpressionLanguage expressionLanguage = new MVELExpressionLanguage(muleContext); final CompiledExpression compiledExpression = (CompiledExpression) compileExpression(expression, new ParserContext(expressionLanguage.getParserConfiguration())); PrivilegedEvent event = PrivilegedEvent.builder(testEvent()).message(InternalMessage.builder(testEvent().getMessage()).value(TEST_MESSAGE) .mediaType(expectedDataType.getMediaType()).build()).build(); assertThat(dataTypeResolver.resolve(event, compiledExpression), like(String.class, JSON, CUSTOM_ENCODING)); } }
/** * Prepares the given data to be sent as the mediaType of the payload of the {@link Event} to the configured flow. * * @param mediaType the mediaType to use in the message * @return this {@link EventBuilder} */ public EventBuilder withMediaType(MediaType mediaType) { muleMessageBuilder = muleMessageBuilder.mediaType(mediaType); return this; }
@Test public void setsNullPayloadWithDataType() throws Exception { Message muleMessage = of(TEST_PAYLOAD); assertDataType(InternalMessage.builder(muleMessage).nullValue().mediaType(APPLICATION_XML_CUSTOM).build(), Object.class, APPLICATION_XML, CUSTOM_ENCODING); }
private void doEnrichDataTypePropagationTest(EnrichExpressionPair pair) throws Exception { final DataType dataType = DataType.builder().type(String.class).mediaType(JSON).charset(UTF_16.name()).build(); MessageEnricher enricher = baseEnricher(); enricher.addEnrichExpressionPair(pair); enricher.setEnrichmentMessageProcessor((InternalTestProcessor) event -> CoreEvent.builder(event) .message(InternalMessage.builder(event.getMessage()).value("bar").mediaType(dataType.getMediaType()).build()).build()); CoreEvent out = process(enricher, testEvent()); assertEquals("bar", out.getVariables().get("foo").getValue()); assertThat(out.getVariables().get("foo").getDataType(), like(String.class, JSON, UTF_16)); }
@Test public void setsPayloadWithDataType() throws Exception { Message muleMessage = of(TEST_PAYLOAD); assertDataType(InternalMessage.builder(muleMessage).value(1).mediaType(APPLICATION_XML_CUSTOM).build(), Integer.class, APPLICATION_XML, CUSTOM_ENCODING); }
private Message createTestMessage() { return new DefaultMessageBuilder().value(TEST_PAYLOAD).mediaType(TEXT).build(); }
@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()); }
@Test public void setsPayloadWithDataType() throws Exception { Message muleMessage = of(TEST_PAYLOAD); assertDataType(InternalMessage.builder(muleMessage).value(1).mediaType(APPLICATION_XML_CUSTOM).build(), Integer.class, APPLICATION_XML, CUSTOM_ENCODING); }
@Test public void setsNullPayloadWithDataType() throws Exception { Message muleMessage = of(TEST_PAYLOAD); assertDataType(InternalMessage.builder(muleMessage).nullValue().mediaType(APPLICATION_XML_CUSTOM).build(), Object.class, APPLICATION_XML, CUSTOM_ENCODING); }
private void doPayloadDataTypeTest(String expression) throws Exception { final DataType expectedDataType = DataType.builder().type(String.class).mediaType(JSON).charset(CUSTOM_ENCODING).build(); MVELExpressionLanguage expressionLanguage = new MVELExpressionLanguage(muleContext); final CompiledExpression compiledExpression = (CompiledExpression) compileExpression(expression, new ParserContext(expressionLanguage.getParserConfiguration())); PrivilegedEvent event = PrivilegedEvent.builder(testEvent()).message(InternalMessage.builder(testEvent().getMessage()).value(TEST_MESSAGE) .mediaType(expectedDataType.getMediaType()).build()).build(); assertThat(dataTypeResolver.resolve(event, compiledExpression), like(String.class, JSON, CUSTOM_ENCODING)); } }