use of org.springframework.boot.actuate.endpoint.InvocationContext in project spring-boot by spring-projects.
the class CloudFoundryWebEndpointDiscovererTests method getEndpointsShouldAddCloudFoundryHealthExtension.
@Test
void getEndpointsShouldAddCloudFoundryHealthExtension() {
load(TestConfiguration.class, (discoverer) -> {
Collection<ExposableWebEndpoint> endpoints = discoverer.getEndpoints();
assertThat(endpoints.size()).isEqualTo(2);
for (ExposableWebEndpoint endpoint : endpoints) {
if (endpoint.getEndpointId().equals(EndpointId.of("health"))) {
WebOperation operation = findMainReadOperation(endpoint);
assertThat(operation.invoke(new InvocationContext(mock(SecurityContext.class), Collections.emptyMap()))).isEqualTo("cf");
}
}
});
}
use of org.springframework.boot.actuate.endpoint.InvocationContext in project spring-boot by spring-projects.
the class CachingOperationInvokerTests method targetInvokedWithDifferentApiVersion.
@Test
void targetInvokedWithDifferentApiVersion() {
OperationInvoker target = mock(OperationInvoker.class);
Object expectedV2 = new Object();
Object expectedV3 = new Object();
InvocationContext contextV2 = new InvocationContext(mock(SecurityContext.class), Collections.emptyMap(), new ApiVersionArgumentResolver(ApiVersion.V2));
InvocationContext contextV3 = new InvocationContext(mock(SecurityContext.class), Collections.emptyMap(), new ApiVersionArgumentResolver(ApiVersion.V3));
given(target.invoke(contextV2)).willReturn(expectedV2);
given(target.invoke(contextV3)).willReturn(expectedV3);
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
Object responseV2 = invoker.invoke(contextV2);
assertThat(responseV2).isSameAs(expectedV2);
then(target).should().invoke(contextV2);
Object responseV3 = invoker.invoke(contextV3);
assertThat(responseV3).isNotSameAs(responseV2);
then(target).should().invoke(contextV3);
}
use of org.springframework.boot.actuate.endpoint.InvocationContext in project spring-boot by spring-projects.
the class CachingOperationInvokerTests method assertCacheIsUsed.
private void assertCacheIsUsed(Map<String, Object> parameters, Principal principal) {
OperationInvoker target = mock(OperationInvoker.class);
Object expected = new Object();
SecurityContext securityContext = mock(SecurityContext.class);
if (principal != null) {
given(securityContext.getPrincipal()).willReturn(principal);
}
InvocationContext context = new InvocationContext(securityContext, parameters);
given(target.invoke(context)).willReturn(expected);
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
Object response = invoker.invoke(context);
assertThat(response).isSameAs(expected);
then(target).should().invoke(context);
Object cachedResponse = invoker.invoke(context);
assertThat(cachedResponse).isSameAs(response);
then(target).shouldHaveNoMoreInteractions();
}
use of org.springframework.boot.actuate.endpoint.InvocationContext in project spring-boot by spring-projects.
the class CachingOperationInvokerTests method targetAlwaysInvokedWithDifferentPrincipals.
@Test
void targetAlwaysInvokedWithDifferentPrincipals() {
OperationInvoker target = mock(OperationInvoker.class);
Map<String, Object> parameters = new HashMap<>();
SecurityContext securityContext = mock(SecurityContext.class);
given(securityContext.getPrincipal()).willReturn(mock(Principal.class), mock(Principal.class), mock(Principal.class));
InvocationContext context = new InvocationContext(securityContext, parameters);
Object result1 = new Object();
Object result2 = new Object();
Object result3 = new Object();
given(target.invoke(context)).willReturn(result1, result2, result3);
CachingOperationInvoker invoker = new CachingOperationInvoker(target, CACHE_TTL);
assertThat(invoker.invoke(context)).isEqualTo(result1);
assertThat(invoker.invoke(context)).isEqualTo(result2);
assertThat(invoker.invoke(context)).isEqualTo(result3);
then(target).should(times(3)).invoke(context);
}
use of org.springframework.boot.actuate.endpoint.InvocationContext in project spring-boot by spring-projects.
the class CachingOperationInvokerTests method invokeWithUniquePrincipal.
private void invokeWithUniquePrincipal(CachingOperationInvoker invoker) {
SecurityContext securityContext = mock(SecurityContext.class);
Principal principal = mock(Principal.class);
given(securityContext.getPrincipal()).willReturn(principal);
InvocationContext context = new InvocationContext(securityContext, Collections.emptyMap());
((Mono<?>) invoker.invoke(context)).block();
}
Aggregations