use of org.springframework.boot.actuate.health.HealthEndpointGroup in project spring-boot by spring-projects.
the class AutoConfiguredHealthEndpointGroupsTests method createWhenHasStatusAggregatorPropertyReturnsInstanceWithPropertyUsedForAllGroups.
@Test
void createWhenHasStatusAggregatorPropertyReturnsInstanceWithPropertyUsedForAllGroups() {
this.contextRunner.withPropertyValues("management.endpoint.health.status.order=up,down", "management.endpoint.health.group.a.include=*").run((context) -> {
HealthEndpointGroups groups = context.getBean(HealthEndpointGroups.class);
HealthEndpointGroup primary = groups.getPrimary();
HealthEndpointGroup groupA = groups.get("a");
assertThat(primary.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN)).isEqualTo(Status.UP);
assertThat(groupA.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN)).isEqualTo(Status.UP);
});
}
use of org.springframework.boot.actuate.health.HealthEndpointGroup in project spring-boot by spring-projects.
the class AutoConfiguredHealthEndpointGroupsTests method createWhenNoDefinedBeansAdaptsProperties.
@Test
void createWhenNoDefinedBeansAdaptsProperties() {
this.contextRunner.withPropertyValues("management.endpoint.health.show-components=always", "management.endpoint.health.show-details=never", "management.endpoint.health.status.order=up,down", "management.endpoint.health.status.http-mapping.down=200").run((context) -> {
HealthEndpointGroups groups = context.getBean(HealthEndpointGroups.class);
HealthEndpointGroup primary = groups.getPrimary();
assertThat(primary.showComponents(SecurityContext.NONE)).isTrue();
assertThat(primary.showDetails(SecurityContext.NONE)).isFalse();
assertThat(primary.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN)).isEqualTo(Status.UP);
assertThat(primary.getHttpCodeStatusMapper().getStatusCode(Status.DOWN)).isEqualTo(200);
});
}
use of org.springframework.boot.actuate.health.HealthEndpointGroup in project spring-boot by spring-projects.
the class AutoConfiguredHealthEndpointGroupsTests method createWhenHasStatusAggregatorBeanReturnsInstanceWithAggregatorUsedForAllGroups.
@Test
void createWhenHasStatusAggregatorBeanReturnsInstanceWithAggregatorUsedForAllGroups() {
this.contextRunner.withUserConfiguration(CustomStatusAggregatorConfiguration.class).withPropertyValues("management.endpoint.health.status.order=up,down", "management.endpoint.health.group.a.include=*").run((context) -> {
HealthEndpointGroups groups = context.getBean(HealthEndpointGroups.class);
HealthEndpointGroup primary = groups.getPrimary();
HealthEndpointGroup groupA = groups.get("a");
assertThat(primary.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN, Status.UNKNOWN)).isEqualTo(Status.UNKNOWN);
assertThat(groupA.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN, Status.UNKNOWN)).isEqualTo(Status.UNKNOWN);
});
}
use of org.springframework.boot.actuate.health.HealthEndpointGroup in project spring-boot by spring-projects.
the class AutoConfiguredHealthEndpointGroupsTests method createWhenHasStatusAggregatorBeanAndGroupSpecificPropertyReturnsInstanceThatUsesBeanOnlyForUnconfiguredGroups.
@Test
void createWhenHasStatusAggregatorBeanAndGroupSpecificPropertyReturnsInstanceThatUsesBeanOnlyForUnconfiguredGroups() {
this.contextRunner.withUserConfiguration(CustomStatusAggregatorConfiguration.class).withPropertyValues("management.endpoint.health.group.a.include=*", "management.endpoint.health.group.a.status.order=up,down", "management.endpoint.health.group.b.include=*").run((context) -> {
HealthEndpointGroups groups = context.getBean(HealthEndpointGroups.class);
HealthEndpointGroup primary = groups.getPrimary();
HealthEndpointGroup groupA = groups.get("a");
HealthEndpointGroup groupB = groups.get("b");
assertThat(primary.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN, Status.UNKNOWN)).isEqualTo(Status.UNKNOWN);
assertThat(groupA.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN, Status.UNKNOWN)).isEqualTo(Status.UP);
assertThat(groupB.getStatusAggregator().getAggregateStatus(Status.UP, Status.DOWN, Status.UNKNOWN)).isEqualTo(Status.UNKNOWN);
});
}
use of org.springframework.boot.actuate.health.HealthEndpointGroup in project spring-boot by spring-projects.
the class AdditionalHealthEndpointPathsWebFluxHandlerMapping method initHandlerMethods.
@Override
protected void initHandlerMethods() {
for (WebOperation operation : this.endpoint.getOperations()) {
WebOperationRequestPredicate predicate = operation.getRequestPredicate();
String matchAllRemainingPathSegmentsVariable = predicate.getMatchAllRemainingPathSegmentsVariable();
if (matchAllRemainingPathSegmentsVariable != null) {
for (HealthEndpointGroup group : this.groups) {
AdditionalHealthEndpointPath additionalPath = group.getAdditionalPath();
if (additionalPath != null) {
RequestMappingInfo requestMappingInfo = getRequestMappingInfo(operation, additionalPath.getValue());
registerReadMapping(requestMappingInfo, this.endpoint, operation);
}
}
}
}
}
Aggregations