use of uk.gov.justice.services.core.interceptor.InterceptorContext in project microservice_framework by CJSCommonPlatform.
the class DefaultInterceptorContextProviderTest method shouldProvideInterceptorContext.
@Test
public void shouldProvideInterceptorContext() {
final DefaultInterceptorContextProvider provider = new DefaultInterceptorContextProvider();
final JsonEnvelope jsonEnvelope = new DefaultJsonEnvelopeProvider().envelopeFrom(metadata, payload);
InterceptorContext interceptorContext = provider.interceptorContextWithInput(jsonEnvelope);
assertThat(interceptorContext, instanceOf(DefaultInterceptorContext.class));
}
use of uk.gov.justice.services.core.interceptor.InterceptorContext in project microservice_framework by CJSCommonPlatform.
the class LocalAccessControlInterceptorTest method shouldThrowAccessControlViolationExceptionIfAccessControlFailsForInput.
@Test
public void shouldThrowAccessControlViolationExceptionIfAccessControlFailsForInput() throws Exception {
final InterceptorContext inputContext = interceptorContextWithInput(envelope);
inputContext.setInputParameter("component", "command");
final AccessControlViolation accessControlViolation = new AccessControlViolation("reason");
when(accessControlService.checkAccessControl("command", envelope)).thenReturn(Optional.of(accessControlViolation));
when(accessControlFailureMessageGenerator.errorMessageFrom(envelope, accessControlViolation)).thenReturn("Error message");
exception.expect(AccessControlViolationException.class);
exception.expectMessage("Error message");
interceptorChain.processNext(inputContext);
}
use of uk.gov.justice.services.core.interceptor.InterceptorContext in project microservice_framework by CJSCommonPlatform.
the class LocalAccessControlInterceptorTest method shouldApplyAccessControlToInputIfLocalComponent.
@Test
public void shouldApplyAccessControlToInputIfLocalComponent() throws Exception {
final InterceptorContext inputContext = interceptorContextWithInput(envelope);
inputContext.setInputParameter("component", "command");
when(accessControlService.checkAccessControl("command", envelope)).thenReturn(Optional.empty());
interceptorChain.processNext(inputContext);
verify(accessControlService).checkAccessControl("command", envelope);
}
use of uk.gov.justice.services.core.interceptor.InterceptorContext in project microservice_framework by CJSCommonPlatform.
the class RestAdapterGenerator_GETMethodBodyTest method shouldCallInterceptorChainProcessor.
@Test
@SuppressWarnings({ "rawtypes", "unchecked" })
public void shouldCallInterceptorChainProcessor() throws Exception {
generator.run(restRamlWithQueryApiDefaults().with(resource("/path").with(httpActionWithDefaultMapping(GET).withDefaultResponseType())).build(), configurationWithBasePackage(BASE_PACKAGE, outputFolder, new CommonGeneratorProperties()));
final Class<?> resourceClass = compiler.compiledClassOf(BASE_PACKAGE, "resource", "DefaultQueryApiPathResource");
final Object resourceObject = getInstanceOf(resourceClass);
final Method method = firstMethodOf(resourceClass).get();
method.invoke(resourceObject);
ArgumentCaptor<Function> consumerCaptor = ArgumentCaptor.forClass(Function.class);
verify(restProcessor).process(anyString(), consumerCaptor.capture(), anyString(), any(HttpHeaders.class), any(Collection.class));
final InterceptorContext interceptorContext = interceptorContextWithInput(mock(JsonEnvelope.class));
consumerCaptor.getValue().apply(interceptorContext);
verify(interceptorChainProcessor).process(interceptorContext);
}
use of uk.gov.justice.services.core.interceptor.InterceptorContext in project microservice_framework by CJSCommonPlatform.
the class RestAdapterGenerator_POSTMethodBodyTest method shouldCallInterceptorChainProcessor.
@Test
@SuppressWarnings({ "rawtypes", "unchecked" })
public void shouldCallInterceptorChainProcessor() throws Exception {
generator.run(restRamlWithCommandApiDefaults().with(resource("/path").with(httpActionWithDefaultMapping(POST).withHttpActionOfDefaultRequestType())).build(), configurationWithBasePackage(BASE_PACKAGE, outputFolder, new CommonGeneratorProperties()));
final Class<?> resourceClass = compiler.compiledClassOf(BASE_PACKAGE, "resource", "DefaultCommandApiPathResource");
final Object resourceObject = getInstanceOf(resourceClass);
final Method method = firstMethodOf(resourceClass).get();
method.invoke(resourceObject, NOT_USED_JSONOBJECT);
final ArgumentCaptor<Function> functionCaptor = ArgumentCaptor.forClass(Function.class);
verify(restProcessor).process(anyString(), functionCaptor.capture(), anyString(), any(Optional.class), any(HttpHeaders.class), any(Collection.class));
final JsonEnvelope envelope = mock(JsonEnvelope.class);
final InterceptorContext interceptorContext = interceptorContextWithInput(envelope);
functionCaptor.getValue().apply(interceptorContext);
verify(interceptorChainProcessor).process(interceptorContext);
}
Aggregations