@Test public void aggregateMultipleEventsAllButOneNull() { Message message1 = Message.of("test event A"); Message message2 = Message.of("test event B"); CoreEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key", "value").build(); CoreEvent event2 = InternalEvent.builder(context).message(message2).addVariable("key2", "value2").build(); List<CoreEvent> events = new ArrayList<>(); events.add(null); events.add(event2); CoreEvent result = resultsHandler.aggregateResults(events, event1); assertSame(event2, result); // Because same event instance is returned rather than MessageCollection // don't copy invocation properties assertThat(result.getVariables().keySet(), not(hasItem("key1"))); assertThat(result.getVariables().get("key2").getValue(), equalTo("value2")); }
@Test public void aggregateSingleMuleMessageCollection() { Message message1 = Message.of("test event A"); CoreEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key1", "value1").build(); Message message2 = Message.of("test event B"); Message message3 = Message.of("test event C"); List<Message> list = new ArrayList<>(); list.add(message2); list.add(message3); Message messageCollection = Message.of(list); CoreEvent event2 = InternalEvent.builder(context).message(messageCollection).addVariable("key2", "value2").build(); CoreEvent result = resultsHandler.aggregateResults(Collections.<CoreEvent>singletonList(event2), event1); assertSame(event2, result); // Because same event instance is returned rather than MessageCollection // don't copy invocation properties assertThat(result.getVariables().keySet(), not(hasItem("key1"))); assertThat(result.getVariables().get("key2").getValue(), equalTo("value2")); }
@Test public void aggregateMultipleMuleMessageCollections() { Message message1 = Message.of("test event A"); CoreEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key1", "value1").build(); Message messageCollection = Message.of(list); CoreEvent event2 = InternalEvent.builder(context).message(messageCollection).addVariable("key2", "value2").build(); Message messageCollection2 = Message.of(list2); CoreEvent event3 = InternalEvent.builder(context).message(messageCollection2).addVariable("key3", "value3").build();
@Test public void aggregateSingleEvent() { Message message1 = Message.of("test event A"); InternalEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key1", "value1").build(); event1.getSession().setProperty("key", "value"); Message message2 = Message.of("test event B"); InternalEvent event2 = InternalEvent.builder(context).message(message2).addVariable("key2", "value2").build(); event2.getSession().setProperty("key", "valueNEW"); event2.getSession().setProperty("key1", "value1"); CoreEvent result = resultsHandler.aggregateResults(singletonList(event2), event1); assertSame(event2, result); // Because same event instance is returned rather than MessageCollection // don't copy invocation properties assertThat(result.getVariables().keySet(), not(hasItem("key1"))); assertThat(result.getVariables().get("key2").getValue(), equalTo("value2")); PrivilegedEvent privilegedResult = (PrivilegedEvent) result; assertThat(privilegedResult.getSession().getProperty("key"), equalTo("valueNEW")); assertThat(privilegedResult.getSession().getProperty("key1"), equalTo("value1")); }
@Test public void aggregateSingleMuleMessageCollection() { Message message1 = Message.of("test event A"); CoreEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key1", "value1").build(); Message message2 = Message.of("test event B"); Message message3 = Message.of("test event C"); List<Message> list = new ArrayList<>(); list.add(message2); list.add(message3); Message messageCollection = Message.of(list); CoreEvent event2 = InternalEvent.builder(context).message(messageCollection).addVariable("key2", "value2").build(); CoreEvent result = resultsHandler.aggregateResults(Collections.<CoreEvent>singletonList(event2), event1); assertSame(event2, result); // Because same event instance is returned rather than MessageCollection // don't copy invocation properties assertThat(result.getVariables().keySet(), not(hasItem("key1"))); assertThat(result.getVariables().get("key2").getValue(), equalTo("value2")); }
@Test public void aggregateMultipleEventsAllButOneNull() { Message message1 = Message.of("test event A"); Message message2 = Message.of("test event B"); CoreEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key", "value").build(); CoreEvent event2 = InternalEvent.builder(context).message(message2).addVariable("key2", "value2").build(); List<CoreEvent> events = new ArrayList<>(); events.add(null); events.add(event2); CoreEvent result = resultsHandler.aggregateResults(events, event1); assertSame(event2, result); // Because same event instance is returned rather than MessageCollection // don't copy invocation properties assertThat(result.getVariables().keySet(), not(hasItem("key1"))); assertThat(result.getVariables().get("key2").getValue(), equalTo("value2")); }
@Test public void assignValueToFlowVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar_old").build(); CoreEvent.Builder eventBuilder = CoreEvent.builder(event); evaluate("flowVars['foo']='bar'", event, eventBuilder); assertEquals("bar", eventBuilder.build().getVariables().get("foo").getValue()); }
@Test public void flowVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar").build(); assertEquals(event.getVariables().get("foo").getValue(), evaluate("flowVars['foo']", event)); }
@Test public void updateVariableFromFlowScope() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar").build(); assertEquals("bar_new", evaluate("foo='bar_new'", event)); }
@Test public void variableFromFlowScope() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar").build(); ((PrivilegedEvent) event).getSession().setProperty("foo", "NOTbar"); assertEquals(event.getVariables().get("foo").getValue(), evaluate("foo", event)); }
@Override public DefaultInterceptionEvent addVariable(String key, Object value) { interceptedOutput = interceptedOutput.addVariable(key, value).removeInternalParameter(INTERCEPTION_RESOLVED_PARAMS); return this; }
@Override public DefaultInterceptionEvent addVariable(String key, Object value, DataType mediaType) { interceptedOutput = interceptedOutput.addVariable(key, value, mediaType).removeInternalParameter(INTERCEPTION_RESOLVED_PARAMS); return this; }
@Test public void assignValueToVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar_old").build(); CoreEvent.Builder eventBuilder = CoreEvent.builder(event); evaluate("foo='bar'", event, eventBuilder); assertEquals("bar", eventBuilder.build().getVariables().get("foo").getValue()); }
Message message3 = Message.of("test event C"); PrivilegedEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key1", "value1", simpleDateType1).build(); MuleSession session = event1.getSession(); PrivilegedEvent event2 = InternalEvent.builder(context).message(message2).session(session) .addVariable("key2", "value2", simpleDateType1).build(); InternalEvent event3 = InternalEvent.builder(context).message(message3).session(session) .addVariable("key3", "value3", simpleDateType1).build(); event1.getSession().setProperty("key", "value"); event2.getSession().setProperty("key1", "value1");
@Test public void aggregateSingleEvent() { Message message1 = Message.of("test event A"); InternalEvent event1 = InternalEvent.builder(context).message(message1).addVariable("key1", "value1").build(); event1.getSession().setProperty("key", "value"); Message message2 = Message.of("test event B"); InternalEvent event2 = InternalEvent.builder(context).message(message2).addVariable("key2", "value2").build(); event2.getSession().setProperty("key", "valueNEW"); event2.getSession().setProperty("key1", "value1"); CoreEvent result = resultsHandler.aggregateResults(singletonList(event2), event1); assertSame(event2, result); // Because same event instance is returned rather than MessageCollection // don't copy invocation properties assertThat(result.getVariables().keySet(), not(hasItem("key1"))); assertThat(result.getVariables().get("key2").getValue(), equalTo("value2")); PrivilegedEvent privilegedResult = (PrivilegedEvent) result; assertThat(privilegedResult.getSession().getProperty("key"), equalTo("valueNEW")); assertThat(privilegedResult.getSession().getProperty("key1"), equalTo("value1")); }
@Test public void updateVariableFromFlowScope() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar").build(); assertEquals("bar_new", evaluate("foo='bar_new'", event)); }
@Test public void variableFromFlowScope() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar").build(); ((PrivilegedEvent) event).getSession().setProperty("foo", "NOTbar"); assertEquals(event.getVariables().get("foo").getValue(), evaluate("foo", event)); }
@Test public void assignValueToVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar_old").build(); CoreEvent.Builder eventBuilder = CoreEvent.builder(event); evaluate("foo='bar'", event, eventBuilder); assertEquals("bar", eventBuilder.build().getVariables().get("foo").getValue()); }
@Test public void assignValueToFlowVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar_old").build(); CoreEvent.Builder eventBuilder = CoreEvent.builder(event); evaluate("flowVars['foo']='bar'", event, eventBuilder); assertEquals("bar", eventBuilder.build().getVariables().get("foo").getValue()); }
@Test public void flowVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).addVariable("foo", "bar").build(); assertEquals(event.getVariables().get("foo").getValue(), evaluate("flowVars['foo']", event)); }