@Test public void testNonSerializablePayload() throws Exception { // add a transformer to the registry that can convert a NonSerializable to byte[]. This // will be used during Serialization ((MuleContextWithRegistry) muleContext).getRegistry().registerTransformer(new NonSerializableToByteArray()); final Message message = InternalMessage.builder().value(new NonSerializable()).addOutboundProperty("foo", "bar").build(); currentMuleContext.set(muleContext); InternalMessage deserializedMessage = serializationRoundtrip(message); assertTrue(deserializedMessage.getPayload().getValue() instanceof byte[]); assertEquals(INNER_TEST_MESSAGE, getPayloadAsString(deserializedMessage)); }
@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 testStreamPayloadSerialization() throws Exception { InputStream stream = new ByteArrayInputStream(TEST_MESSAGE.getBytes()); final Message message = InternalMessage.builder().value(stream).addOutboundProperty("foo", "bar").build(); currentMuleContext.set(muleContext); InternalMessage deserializedMessage = serializationRoundtrip(message); assertEquals(byte[].class, deserializedMessage.getPayload().getDataType().getType()); byte[] payload = (byte[]) deserializedMessage.getPayload().getValue(); assertTrue(Arrays.equals(TEST_MESSAGE.getBytes(), payload)); }
@Test public void testNonSerializablePayload() throws Exception { // add a transformer to the registry that can convert a NonSerializable to byte[]. This // will be used during Serialization ((MuleContextWithRegistries) muleContext).getRegistry().registerTransformer(new NonSerializableToByteArray()); final Message message = InternalMessage.builder().value(new NonSerializable()).addOutboundProperty("foo", "bar").build(); currentMuleContext.set(muleContext); InternalMessage deserializedMessage = serializationRoundtrip(message); assertTrue(deserializedMessage.getPayload().getValue() instanceof byte[]); assertEquals(INNER_TEST_MESSAGE, getPayloadAsString(deserializedMessage)); }
@Test public void testSerializablePayload() throws Exception { final Message message = InternalMessage.builder().value(TEST_MESSAGE).addOutboundProperty("foo", "bar").build(); Message deserializedMessage = serializationRoundtrip(message); assertEquals(TEST_MESSAGE, deserializedMessage.getPayload().getValue()); assertEquals("bar", ((InternalMessage) deserializedMessage).getOutboundProperty("foo")); }
@Test public void testStreamPayloadSerialization() throws Exception { InputStream stream = new ByteArrayInputStream(TEST_MESSAGE.getBytes()); final Message message = InternalMessage.builder().value(stream).addOutboundProperty("foo", "bar").build(); currentMuleContext.set(muleContext); InternalMessage deserializedMessage = serializationRoundtrip(message); assertEquals(byte[].class, deserializedMessage.getPayload().getDataType().getType()); byte[] payload = (byte[]) deserializedMessage.getPayload().getValue(); assertTrue(Arrays.equals(TEST_MESSAGE.getBytes(), payload)); }
@Test public void testSerializablePayload() throws Exception { final Message message = InternalMessage.builder().value(TEST_MESSAGE).addOutboundProperty("foo", "bar").build(); Message deserializedMessage = serializationRoundtrip(message); assertEquals(TEST_MESSAGE, deserializedMessage.getPayload().getValue()); assertEquals("bar", ((InternalMessage) deserializedMessage).getOutboundProperty("foo")); }