@Test
public void shouldProduceProcessorThatDispatchesEnvelope_FromAdapter() throws Exception {

    when(interceptorCache.getInterceptors("EVENT_LISTENER")).thenReturn(envelopeRecordingInterceptor());
    final MemberInjectionPoint injectionPoint = injectionPointWith(EventListenerAdapter.class.getDeclaredField("processor"));
    dispatcherCache.dispatcherFor(injectionPoint).register(envelopeRecordingHandler);
    final InterceptorChainProcessor processor = interceptorChainProcessorProducer.produceProcessor(injectionPoint);
    final JsonEnvelope dispatchedEnvelope = envelopeFrom(metadataBuilder().withId(randomUUID()).withName(ACTION_NAME), createObjectBuilder());
    processor.process(interceptorContextWithInput(dispatchedEnvelope));
    assertThat(envelopeRecordingInterceptor.firstRecordedEnvelope(), is(dispatchedEnvelope));
    assertThat(envelopeRecordingHandler.firstRecordedEnvelope(), is(dispatchedEnvelope));
}