@Test public void exceptionCausedBy() throws Exception { CoreEvent event = createEvent(); Message message = event.getMessage(); MessagingException me = new MessagingException(CoreMessages.createStaticMessage(""), InternalEvent.builder(context).message(message).build(), new IllegalAccessException()); when(mockError.getCause()).thenReturn(me); assertTrue((Boolean) evaluate("exception.causedBy(java.lang.IllegalAccessException)", event)); }
@Test public void overrideCorrelationIdInContext() { final Message message = of(TEST_PAYLOAD); final CoreEvent event = InternalEvent.builder(executionContextWithCorrelation).message(message) .groupCorrelation(empty()).build(); assertThat(event.getCorrelationId(), is(CUSTOM_CORRELATION_ID)); }
@Test public void correlationIdGiven() throws MuleException { final InternalEvent event = InternalEvent.builder(create("id", "serverId", TEST_CONNECTOR_LOCATION, "corr1", mock(FlowExceptionHandler.class))) .message(of(TEST_PAYLOAD)).build(); final DefaultInterceptionEvent interceptionEvent = new DefaultInterceptionEvent(event); assertThat(interceptionEvent.getCorrelationId(), is("corr1")); }
@Test public void correlationIdInContext() { final Message message = of(TEST_PAYLOAD); final CoreEvent event = InternalEvent.builder(executionContextWithCorrelation).message(message).build(); assertThat(event.getCorrelationId(), is(CUSTOM_CORRELATION_ID)); }
@Test public void noCorrelationIdInContext() { final Message message = of(TEST_PAYLOAD); final CoreEvent event = InternalEvent.builder(executionContext).message(message).build(); assertThat(event.getCorrelationId(), is(GENERATED_CORRELATION_ID)); }
@Before public void before() throws Exception { super.before(); error = mock(Error.class, RETURNS_DEEP_STUBS); muleEvent = InternalEvent.builder(muleEvent).error(error).build(); }
@Test public void addSession() throws MuleException { final InternalEvent event = this.<InternalEvent.Builder>getEventBuilder().message(of(TEST_PAYLOAD)).build(); final DefaultInterceptionEvent interceptionEvent = new DefaultInterceptionEvent(event); final MuleSession session = mock(MuleSession.class); interceptionEvent.session(session); assertThat(((PrivilegedEvent) interceptionEvent.resolve()).getSession(), sameInstance(session)); }
@Test public void correlationIdLegacy() throws MuleException { final InternalEvent event = InternalEvent.builder(create("id", "serverId", TEST_CONNECTOR_LOCATION, mock(FlowExceptionHandler.class))) .correlationId("corr1").message(of(TEST_PAYLOAD)).build(); final DefaultInterceptionEvent interceptionEvent = new DefaultInterceptionEvent(event); assertThat(interceptionEvent.getCorrelationId(), is("corr1")); }
@Test public void updateVariableFromSessionScope() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).build(); ((PrivilegedEvent) event).getSession().setProperty("foo", "bar"); assertEquals("bar_new", evaluate("foo='bar_new'", event)); }
@Test public void variableFromSessionScope() throws Exception { Message message = of(""); PrivilegedEvent event = (PrivilegedEvent) InternalEvent.builder(context).message(message).build(); event.getSession().setProperty("foo", "bar"); assertEquals(event.getSession().getProperty("foo"), evaluate("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)); }
@Test public void flowName() throws Exception { CoreEvent event = InternalEvent.builder(context).message(of("")).build(); assertEquals("flowName", evaluate("flow.name", event)); }
@Test public void updateSession() throws MuleException { final InternalEvent event = this.<InternalEvent.Builder>getEventBuilder().message(of(TEST_PAYLOAD)).build(); final DefaultInterceptionEvent interceptionEvent = new DefaultInterceptionEvent(event); final MuleSession session = ((PrivilegedEvent) event).getSession(); session.setProperty("myKey", "myValue"); interceptionEvent.session(session); assertThat(((PrivilegedEvent) interceptionEvent.resolve()).getSession().getProperty("myKey"), is("myValue")); } }
@Test public void localVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).build(); assertEquals("bar", evaluate("localVar='bar';localVar", event)); } }
@Test public void overrideCorrelationIdInContextSequence() { final Message message = of(TEST_PAYLOAD); final CoreEvent event = InternalEvent.builder(executionContextWithCorrelation).message(message).correlationId(CUSTOM_CORRELATION_ID) .groupCorrelation(Optional.of(GroupCorrelation.of(6))).build(); assertThat(event.getCorrelationId(), is(CUSTOM_CORRELATION_ID)); }
@Test public void assignValueToLocalVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).build(); evaluate("localVar='bar'", 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 sessionVariable() throws Exception { Message message = of(""); PrivilegedEvent event = (PrivilegedEvent) InternalEvent.builder(context).message(message).build(); event.getSession().setProperty("foo", "bar"); assertEquals(event.getSession().getProperty("foo"), evaluate("sessionVars['foo']", event)); }
@Test public void assignValueToNewFlowVariable() throws Exception { Message message = of(""); CoreEvent event = InternalEvent.builder(context).message(message).build(); CoreEvent.Builder eventBuilder = CoreEvent.builder(event); evaluate("flowVars['foo']='bar'", event, eventBuilder); assertEquals("bar", eventBuilder.build().getVariables().get("foo").getValue()); }