Search in sources :

Example 1 with Interceptor

use of uk.gov.justice.services.core.interceptor.Interceptor in project microservice_framework by CJSCommonPlatform.

the class EventBufferInterceptorTest method ensureStreamCLosedIfExceptionOccurs.

@Test
public void ensureStreamCLosedIfExceptionOccurs() throws Exception {
    final Deque<Interceptor> interceptors = new LinkedList<>();
    interceptors.add(eventBufferInterceptor);
    interceptors.add(new ExceptionThrowingInterceptor());
    target = new TestTarget();
    interceptorChain = new DefaultInterceptorChain(interceptors, target);
    final InterceptorContext inputContext = interceptorContextWithInput(envelope_1);
    final StreamCloseSpy streamSpy = new StreamCloseSpy();
    final Stream<JsonEnvelope> envelopes = Stream.of(this.envelope_1, envelope_2).onClose(streamSpy);
    when(eventBufferService.currentOrderedEventsWith(this.envelope_1)).thenReturn(envelopes);
    try {
        interceptorChain.processNext(inputContext);
    } catch (TestException expected) {
    // do nothing
    }
    assertThat(streamSpy.streamClosed(), is(true));
}
Also used : StreamCloseSpy(uk.gov.justice.services.test.utils.common.stream.StreamCloseSpy) InterceptorContext(uk.gov.justice.services.core.interceptor.InterceptorContext) JsonEnvelope(uk.gov.justice.services.messaging.JsonEnvelope) Interceptor(uk.gov.justice.services.core.interceptor.Interceptor) LinkedList(java.util.LinkedList) DefaultInterceptorChain(uk.gov.justice.services.core.interceptor.DefaultInterceptorChain) Test(org.junit.Test)

Example 2 with Interceptor

use of uk.gov.justice.services.core.interceptor.Interceptor in project microservice_framework by CJSCommonPlatform.

the class EventFilterInterceptorCodeGeneratorTest method nowTestTheFailureCase.

private void nowTestTheFailureCase(final Class<?> generatedClass) throws Exception {
    final String eventName = "an.event.name";
    final String aDifferentventName = "a.different.event.name";
    final Interceptor interceptor = buildTheClassForTest(generatedClass, new MyCustomEventFilter(eventName));
    final InterceptorContext interceptorContext_1 = mock(InterceptorContext.class, "interceptorContext_1");
    final InterceptorContext interceptorContext_2 = mock(InterceptorContext.class, "interceptorContext_2");
    final InterceptorChain interceptorChain = mock(InterceptorChain.class);
    final JsonEnvelope jsonEnvelope = mock(JsonEnvelope.class);
    final Metadata metadata = mock(Metadata.class);
    when(interceptorContext_1.inputEnvelope()).thenReturn(jsonEnvelope);
    when(jsonEnvelope.metadata()).thenReturn(metadata);
    when(metadata.name()).thenReturn(aDifferentventName);
    when(interceptorChain.processNext(interceptorContext_1)).thenReturn(interceptorContext_2);
    assertThat(interceptor.process(interceptorContext_1, interceptorChain), is(interceptorContext_1));
}
Also used : InterceptorChain(uk.gov.justice.services.core.interceptor.InterceptorChain) InterceptorContext(uk.gov.justice.services.core.interceptor.InterceptorContext) Metadata(uk.gov.justice.services.messaging.Metadata) JsonEnvelope(uk.gov.justice.services.messaging.JsonEnvelope) Interceptor(uk.gov.justice.services.core.interceptor.Interceptor)

Example 3 with Interceptor

use of uk.gov.justice.services.core.interceptor.Interceptor in project microservice_framework by CJSCommonPlatform.

the class EventFilterInterceptorCodeGeneratorTest method buildTheClassForTest.

private Interceptor buildTheClassForTest(final Class<?> generatedClass, final MyCustomEventFilter myCustomEventFilter) throws Exception {
    final Object myCustomEventFilterInterceptor = generatedClass.newInstance();
    final Field eventFilterField = generatedClass.getDeclaredField("eventFilter");
    eventFilterField.setAccessible(true);
    eventFilterField.set(myCustomEventFilterInterceptor, myCustomEventFilter);
    return (Interceptor) myCustomEventFilterInterceptor;
}
Also used : Field(java.lang.reflect.Field) Interceptor(uk.gov.justice.services.core.interceptor.Interceptor)

Example 4 with Interceptor

use of uk.gov.justice.services.core.interceptor.Interceptor in project microservice_framework by CJSCommonPlatform.

the class InputStreamFileInterceptorTest method setup.

@Before
public void setup() throws Exception {
    final Deque<Interceptor> interceptors = new LinkedList<>();
    interceptors.add(inputStreamFileInterceptor);
    interceptorChain = new DefaultInterceptorChain(interceptors, this::processResult);
}
Also used : Interceptor(uk.gov.justice.services.core.interceptor.Interceptor) LinkedList(java.util.LinkedList) DefaultInterceptorChain(uk.gov.justice.services.core.interceptor.DefaultInterceptorChain) Before(org.junit.Before)

Example 5 with Interceptor

use of uk.gov.justice.services.core.interceptor.Interceptor in project microservice_framework by CJSCommonPlatform.

the class LocalAccessControlInterceptorTest method setup.

@Before
public void setup() throws Exception {
    final Deque<Interceptor> interceptors = new LinkedList<>();
    interceptors.add(localAccessControlInterceptor);
    final Target target = context -> context;
    interceptorChain = new DefaultInterceptorChain(interceptors, target);
}
Also used : InjectMocks(org.mockito.InjectMocks) Mock(org.mockito.Mock) RunWith(org.junit.runner.RunWith) Test(org.junit.Test) Mockito.when(org.mockito.Mockito.when) Deque(java.util.Deque) DefaultInterceptorChain(uk.gov.justice.services.core.interceptor.DefaultInterceptorChain) InterceptorContext.interceptorContextWithInput(uk.gov.justice.services.core.interceptor.InterceptorContext.interceptorContextWithInput) Mockito.verify(org.mockito.Mockito.verify) Inject(javax.inject.Inject) Rule(org.junit.Rule) MockitoJUnitRunner(org.mockito.runners.MockitoJUnitRunner) InterceptorChain(uk.gov.justice.services.core.interceptor.InterceptorChain) InterceptorContext(uk.gov.justice.services.core.interceptor.InterceptorContext) InterceptorChainProcessor(uk.gov.justice.services.core.interceptor.InterceptorChainProcessor) Target(uk.gov.justice.services.core.interceptor.Target) Optional(java.util.Optional) Adapter(uk.gov.justice.services.core.annotation.Adapter) LinkedList(java.util.LinkedList) COMMAND_API(uk.gov.justice.services.core.annotation.Component.COMMAND_API) ExpectedException(org.junit.rules.ExpectedException) Interceptor(uk.gov.justice.services.core.interceptor.Interceptor) JsonEnvelope(uk.gov.justice.services.messaging.JsonEnvelope) Before(org.junit.Before) Target(uk.gov.justice.services.core.interceptor.Target) Interceptor(uk.gov.justice.services.core.interceptor.Interceptor) LinkedList(java.util.LinkedList) DefaultInterceptorChain(uk.gov.justice.services.core.interceptor.DefaultInterceptorChain) Before(org.junit.Before)

Aggregations

Interceptor (uk.gov.justice.services.core.interceptor.Interceptor)8 LinkedList (java.util.LinkedList)5 DefaultInterceptorChain (uk.gov.justice.services.core.interceptor.DefaultInterceptorChain)5 InterceptorContext (uk.gov.justice.services.core.interceptor.InterceptorContext)5 JsonEnvelope (uk.gov.justice.services.messaging.JsonEnvelope)5 Before (org.junit.Before)4 InterceptorChain (uk.gov.justice.services.core.interceptor.InterceptorChain)4 Test (org.junit.Test)3 Deque (java.util.Deque)2 Inject (javax.inject.Inject)2 RunWith (org.junit.runner.RunWith)2 InjectMocks (org.mockito.InjectMocks)2 Mock (org.mockito.Mock)2 Mockito.verify (org.mockito.Mockito.verify)2 MockitoJUnitRunner (org.mockito.runners.MockitoJUnitRunner)2 Adapter (uk.gov.justice.services.core.annotation.Adapter)2 COMMAND_API (uk.gov.justice.services.core.annotation.Component.COMMAND_API)2 InterceptorChainProcessor (uk.gov.justice.services.core.interceptor.InterceptorChainProcessor)2 InterceptorContext.interceptorContextWithInput (uk.gov.justice.services.core.interceptor.InterceptorContext.interceptorContextWithInput)2 Target (uk.gov.justice.services.core.interceptor.Target)2