@Override public Supplier<CorrelationInfo> resolve(ExecutionContext executionContext) { return () -> { CoreEvent event = ((ExecutionContextAdapter) executionContext).getEvent(); return new ImmutableCorrelationInfo(event.getContext().getId(), true, event.getCorrelationId(), event.getItemSequenceInfo().orElse(null)); }; } }
@Before public void setUp() { when(event.getError()).thenReturn(empty()); when(event.getAuthentication()).thenReturn(empty()); Message msg = of(null); when(event.getMessage()).thenReturn(msg); when(event.asBindingContext()).thenReturn(getTargetBindingContext(msg)); when(event.getItemSequenceInfo()).thenReturn(empty()); }
private CoreEvent getEventWithError(Optional<Error> error) { CoreEvent event = mock(CoreEvent.class, RETURNS_DEEP_STUBS); doReturn(error).when(event).getError(); when(event.getMessage().getPayload()).thenReturn(new TypedValue<>(null, OBJECT)); when(event.getMessage().getAttributes()).thenReturn(new TypedValue<>(null, OBJECT)); when(event.getAuthentication()).thenReturn(empty()); when(event.getItemSequenceInfo()).thenReturn(empty()); return event; }
@Test public void noSequenceSizeItemSequenceInfoBinding() throws Exception { CoreEvent event = spy(testEvent()); when(event.getItemSequenceInfo()).thenReturn(of(ItemSequenceInfo.of(43))); TypedValue result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".position", event, BindingContext.builder().build()); assertThat(result.getValue(), is(43)); result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".sequenceSize", event, BindingContext.builder().build()); assertThat(result.getValue(), is(nullValue())); }
@Test public void itemSequenceInfoBinding() throws Exception { CoreEvent event = spy(testEvent()); when(event.getItemSequenceInfo()).thenReturn(of(ItemSequenceInfo.of(43, 100))); TypedValue result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".position", event, BindingContext.builder().build()); assertThat(result.getValue(), is(43)); result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".sequenceSize", event, BindingContext.builder().build()); assertThat(result.getValue(), is(100)); }
private CoreEvent getEventWithError(Optional<Error> error) { CoreEvent event = mock(CoreEvent.class, RETURNS_DEEP_STUBS); doReturn(error).when(event).getError(); when(event.getMessage().getPayload()).thenReturn(new TypedValue<>(null, OBJECT)); when(event.getMessage().getAttributes()).thenReturn(new TypedValue<>(null, OBJECT)); when(event.getAuthentication()).thenReturn(empty()); when(event.getItemSequenceInfo()).thenReturn(empty()); return event; }
@Override public LazyValue<CorrelationInfo> resolve(ExecutionContext executionContext) { return new LazyValue<>(() -> { CoreEvent event = ((ExecutionContextAdapter) executionContext).getEvent(); return new ImmutableCorrelationInfo(event.getContext().getId(), true, event.getCorrelationId(), event.getItemSequenceInfo().orElse(null)); }); } }
@Test public void noSequenceSizeItemSequenceInfoBinding() throws Exception { CoreEvent event = spy(testEvent()); when(event.getItemSequenceInfo()).thenReturn(of(ItemSequenceInfo.of(43))); TypedValue result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".position", event, BindingContext.builder().build()); assertThat(result.getValue(), is(43)); result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".sequenceSize", event, BindingContext.builder().build()); assertThat(result.getValue(), is(nullValue())); }
@Test public void itemSequenceInfoBinding() throws Exception { CoreEvent event = spy(testEvent()); when(event.getItemSequenceInfo()).thenReturn(of(ItemSequenceInfo.of(43, 100))); TypedValue result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".position", event, BindingContext.builder().build()); assertThat(result.getValue(), is(43)); result = expressionLanguage.evaluate(ITEM_SEQUENCE_INFO + ".sequenceSize", event, BindingContext.builder().build()); assertThat(result.getValue(), is(100)); }