@Test public void inboundProperty() { InternalMessage message = new DefaultMessageBuilder().value(TEST_PAYLOAD).addInboundProperty(PROPERTY_KEY, PROPERTY_VALUE).build(); assertThat(message.getInboundProperty(PROPERTY_KEY), equalTo(PROPERTY_VALUE)); assertThat(message.getInboundPropertyDataType(PROPERTY_KEY), equalTo(STRING)); assertThat(message.getInboundPropertyNames(), hasSize(1)); assertThat(message.getInboundPropertyNames(), hasItem(PROPERTY_KEY)); }
@Test public void inboundPropertyDataType() { InternalMessage message = new DefaultMessageBuilder().value(TEST_PAYLOAD).addInboundProperty(PROPERTY_KEY, PROPERTY_VALUE, HTML_STRING).build(); assertThat(message.getInboundProperty(PROPERTY_KEY), equalTo(PROPERTY_VALUE)); assertThat(message.getInboundPropertyDataType(PROPERTY_KEY), equalTo(HTML_STRING)); assertThat(message.getInboundPropertyNames(), hasSize(1)); assertThat(message.getInboundPropertyNames(), hasItem(PROPERTY_KEY)); }
@SuppressWarnings("unchecked") @Test public void inboundValues() throws Exception { Message message = event.getMessage(); event = CoreEvent.builder(event) .message(InternalMessage.builder(message).addInboundProperty("foo", "abc").addInboundProperty("bar", "xyz").build()) .build(); Collection<DataHandler> values = (Collection<DataHandler>) evaluate("message.inboundProperties.values()", event); assertEquals(2, values.size()); values.contains("abc"); values.contains("xyz"); }
@Benchmark public CoreEvent copyWith10FlowVarsAnd10PropertiesWrite1OfEach() throws Exception { return PrivilegedEvent.builder(eventWith10VariablesProperties) .session(new DefaultMuleSession(((PrivilegedEvent) eventWith10VariablesProperties).getSession())) .addVariable("newKey", "val") .message(InternalMessage.builder(eventWith10VariablesProperties.getMessage()).addInboundProperty("newKey", "val") .addOutboundProperty("newKey", "val").build()) .build(); }
@Benchmark public Message copyWith100PropertiesWrite1Outbound() { Builder builder = InternalMessage.builder(messageWith100Properties); for (int j = 1; j <= 10; j++) { builder.addInboundProperty("newKey" + j, "val"); } return builder.build(); }
@Test public void inboundSize() throws Exception { Message message = event.getMessage(); mock(DataHandler.class); event = CoreEvent.builder(event) .message(InternalMessage.builder(message).addInboundProperty("foo", "abc").addInboundProperty("bar", "xyz").build()) .build(); assertEquals(2, evaluate("message.inboundProperties.size()", event)); }
private CoreEvent createMuleEventWithFlowVarsAndProperties(int numProperties) { InternalMessage.Builder builder = InternalMessage.builder().value(PAYLOAD); for (int i = 1; i <= numProperties; i++) { builder.addInboundProperty("InBoUnDpRoPeRtYkEy" + i, "val"); } Message message = builder.build(); CoreEvent event = createMuleEvent(message, numProperties); return event; }
@Benchmark public CoreEvent copyWith100FlowVarsAndPropertiesWrite25OfEach() throws Exception { final PrivilegedEvent.Builder eventBuilder = PrivilegedEvent.builder(eventWith100VariablesProperties); eventBuilder.session(new DefaultMuleSession(((PrivilegedEvent) eventWith100VariablesProperties).getSession())).build(); InternalMessage.Builder builder = InternalMessage.builder(eventWith100VariablesProperties.getMessage()); for (int j = 1; j <= 25; j++) { eventBuilder.addVariable("newKey" + j, "val"); builder.addInboundProperty("newKey", "val").addOutboundProperty("newKey", "val").build(); } return eventBuilder.message(builder.build()).build(); }
@Benchmark public Message copyWith100PropertiesWrite50Outbound() { Builder builder = InternalMessage.builder(messageWith100Properties); for (int j = 1; j <= 50; j++) { builder.addInboundProperty("newKey" + j, "val"); } return builder.build(); }
@Test public void inboundIsEmpty() throws Exception { Message message = event.getMessage(); assertTrue((Boolean) evaluate("message.inboundProperties.isEmpty()", event)); event = CoreEvent.builder(event) .message(InternalMessage.builder(message).addInboundProperty("foo", "abc").addInboundProperty("bar", "xyz").build()) .build(); assertFalse((Boolean) evaluate("message.inboundProperties.isEmpty()", event)); }
@Test public void setsDefaultInboundScopePropertyDataType() throws Exception { InternalMessage message = InternalMessage.builder().value(TEST_PAYLOAD).addInboundProperty(TEST_PROPERTY, TEST_PAYLOAD).build(); assertDefaultInboundPropertyDataType(message); }
@Test public void setsDefaultInboundPropertyDataType() throws Exception { InternalMessage message = InternalMessage.builder().value(TEST_PAYLOAD).addInboundProperty(TEST_PROPERTY, TEST_PAYLOAD).build(); assertDefaultInboundPropertyDataType(message); }
@Benchmark public CoreEvent copyWith50FlowVarsAnd50PropertiesWrite1OfEach() throws Exception { return PrivilegedEvent.builder(eventWith50VariablesProperties) .session(new DefaultMuleSession(((PrivilegedEvent) eventWith50VariablesProperties).getSession())) .addVariable("newKey", "val") .message(InternalMessage.builder(eventWith50VariablesProperties.getMessage()).addInboundProperty("newKey", "val") .addOutboundProperty("newKey", "val").build()) .build(); }
@Benchmark public CoreEvent copyWith10FlowVarsAnd10PropertiesWrite5OfEach() throws Exception { final PrivilegedEvent.Builder eventBuilder = PrivilegedEvent.builder(eventWith50VariablesProperties); eventBuilder.session(new DefaultMuleSession(((PrivilegedEvent) eventWith50VariablesProperties).getSession())).build(); InternalMessage.Builder builder = InternalMessage.builder(eventWith50VariablesProperties.getMessage()); for (int j = 1; j <= 5; j++) { eventBuilder.addVariable("newKey" + j, "val"); builder.addInboundProperty("newKey", "val").addOutboundProperty("newKey", "val").build(); } return eventBuilder.message(builder.build()).build(); }
@Benchmark public Message copyWith20PopertiesWrite100Outbound() { Builder builder = InternalMessage.builder(messageWith20Properties); for (int j = 1; j <= 100; j++) { builder.addInboundProperty("newKey" + j, "val"); } return builder.build(); }
@Test public void inboundKeySet() throws Exception { Message message = event.getMessage(); mock(DataHandler.class); event = CoreEvent.builder(event) .message(InternalMessage.builder(message).addInboundProperty("foo", "abc").addInboundProperty("bar", "xyz").build()) .build(); assertThat((Iterable<String>) evaluate("message.inboundProperties.keySet()", event), hasItems("foo", "bar")); }
private Message createMuleMessageWithProperties(int numProperties) { Builder builder = InternalMessage.builder().value(PAYLOAD); for (int i = 1; i <= numProperties; i++) { builder.addInboundProperty("InBoUnDpRoPeRtYkEy" + i, "val"); } for (int i = 1; i <= numProperties; i++) { builder.addOutboundProperty("OuTBoUnDpRoPeRtYkEy" + i, "val"); } return builder.build(); }
@Test public void inboundContainsValue() throws Exception { Message message = event.getMessage(); event = CoreEvent.builder(event).message(InternalMessage.builder(message).addInboundProperty("foo", "abc").build()).build(); assertTrue((Boolean) evaluate("message.inboundProperties.containsValue('abc')", event)); assertFalse((Boolean) evaluate("message.inboundProperties.containsValue('xyz')", event)); }
@Test public void setsCustomInboundPropertyDataType() throws Exception { MediaType mediaType = APPLICATION_XML_CUSTOM; InternalMessage message = InternalMessage.builder().value(TEST_PAYLOAD) .addInboundProperty(TEST_PROPERTY, TEST_PAYLOAD, mediaType).build(); assertInboundPropertyDataType(message, DataType.builder().type(String.class).mediaType(mediaType).build()); }
@Benchmark public Message copyWith20PropertiesWrite1Outbound() { Builder builder = InternalMessage.builder(messageWith20Properties); for (int j = 1; j <= 10; j++) { builder.addInboundProperty("newKey" + j, "val"); } return builder.build(); }