use of org.sonar.server.health.ClusterHealth in project sonarqube by SonarSource.
the class HealthActionTest method response_contains_status_and_causes_from_HealthChecker_checkCluster_when_standalone.
@Test
public void response_contains_status_and_causes_from_HealthChecker_checkCluster_when_standalone() {
authenticateWithRandomMethod();
Health.Status randomStatus = Health.Status.values()[random.nextInt(Health.Status.values().length)];
String[] causes = IntStream.range(0, random.nextInt(33)).mapToObj(i -> randomAlphanumeric(4)).toArray(String[]::new);
Health.Builder healthBuilder = newHealthCheckBuilder().setStatus(randomStatus);
Arrays.stream(causes).forEach(healthBuilder::addCause);
when(webServer.isStandalone()).thenReturn(false);
when(healthChecker.checkCluster()).thenReturn(new ClusterHealth(healthBuilder.build(), emptySet()));
System.HealthResponse clusterHealthResponse = underTest.newRequest().executeProtobuf(System.HealthResponse.class);
assertThat(clusterHealthResponse.getHealth().name()).isEqualTo(randomStatus.name());
assertThat(clusterHealthResponse.getCausesList()).extracting(System.Cause::getMessage).containsOnly(causes);
}
use of org.sonar.server.health.ClusterHealth in project sonarqube by SonarSource.
the class HealthActionTest method response_contains_information_of_nodes_when_clustered.
@Test
public void response_contains_information_of_nodes_when_clustered() {
authenticateWithRandomMethod();
NodeHealth nodeHealth = randomNodeHealth();
when(webServer.isStandalone()).thenReturn(false);
when(healthChecker.checkCluster()).thenReturn(new ClusterHealth(GREEN, singleton(nodeHealth)));
System.HealthResponse response = underTest.newRequest().executeProtobuf(System.HealthResponse.class);
assertThat(response.getNodes().getNodesList()).hasSize(1);
System.Node node = response.getNodes().getNodesList().iterator().next();
assertThat(node.getHealth().name()).isEqualTo(nodeHealth.getStatus().name());
assertThat(node.getCausesList()).extracting(System.Cause::getMessage).containsOnly(nodeHealth.getCauses().toArray(new String[0]));
assertThat(node.getName()).isEqualTo(nodeHealth.getDetails().getName());
assertThat(node.getHost()).isEqualTo(nodeHealth.getDetails().getHost());
assertThat(node.getPort()).isEqualTo(nodeHealth.getDetails().getPort());
assertThat(node.getStartedAt()).isEqualTo(formatDateTime(nodeHealth.getDetails().getStartedAt()));
assertThat(node.getType().name()).isEqualTo(nodeHealth.getDetails().getType().name());
}
Aggregations