@Before public void before() throws InterruptedException { when(globalInfoLoader.load()).thenReturn(Collections.singletonList(createSection("globalInfo"))); when(appNodesInfoLoader.load()).thenReturn(Collections.singletonList(createNodeInfo("appNodes"))); when(searchNodesInfoLoader.load()).thenReturn(Collections.singletonList(createNodeInfo("searchNodes"))); Health health = Health.newHealthCheckBuilder().setStatus(Health.Status.GREEN).build(); when(healthChecker.checkCluster()).thenReturn(new ClusterHealth(health, Collections.emptySet())); }
private Health randomHealth() { Health.Builder healthBuilder = newHealthCheckBuilder(); healthBuilder.setStatus(Health.Status.values()[random.nextInt(Health.Status.values().length)]); IntStream.range(0, random.nextInt(3)).mapToObj(i -> randomAlphanumeric(3)).forEach(healthBuilder::addCause); return healthBuilder.build(); }
public HardcodedHealthNodeCheck(String... causes) { Health.Builder builder = newHealthCheckBuilder().setStatus(Health.Status.values()[random.nextInt(3)]); Stream.of(causes).forEach(builder::addCause); this.health = builder.build(); }
@Test public void hashcode_is_based_on_status_and_causes() { Health.Builder builder1 = newHealthCheckBuilder(); Health.Builder builder2 = newHealthCheckBuilder(); builder1.setStatus(anyStatus); builder2.setStatus(anyStatus); randomCauses.forEach(s -> { builder1.addCause(s); builder2.addCause(s); }); assertThat(builder1.build().hashCode()) .isEqualTo(builder1.build().hashCode()) .isEqualTo(builder2.build().hashCode()) .isEqualTo(builder2.build().hashCode()); }
public HardcodedHealthNodeCheck(Health.Status status) { this.health = newHealthCheckBuilder().setStatus(status).build(); }
@Test public void request_returns_status_and_causes_from_HealthChecker_checkNode_method() { authenticateWithPasscode(); Health.Status randomStatus = Health.Status.values()[new Random().nextInt(Health.Status.values().length)]; Health.Builder builder = newHealthCheckBuilder() .setStatus(randomStatus); IntStream.range(0, new Random().nextInt(5)).mapToObj(i -> RandomStringUtils.randomAlphanumeric(3)).forEach(builder::addCause); Health health = builder.build(); when(healthChecker.checkNode()).thenReturn(health); TestRequest request = underTest.newRequest(); System.HealthResponse healthResponse = request.executeProtobuf(System.HealthResponse.class); assertThat(healthResponse.getHealth().name()).isEqualTo(randomStatus.name()); assertThat(health.getCauses()).isEqualTo(health.getCauses()); }
@Override public Health check() { Platform.Status platformStatus = platform.status(); if (platformStatus == Platform.Status.UP && VALID_DATABASEMIGRATION_STATUSES.contains(migrationState.getStatus()) && !restartFlagHolder.isRestarting()) { return Health.GREEN; } return newHealthCheckBuilder() .setStatus(Health.Status.RED) .addCause("SonarQube webserver is not up") .build(); } }
@Test public void green_constant() { assertThat(Health.GREEN).isEqualTo(newHealthCheckBuilder().setStatus(Health.Status.GREEN).build()); }
public HardcodedHealthClusterCheck(Health.Status status) { this.health = newHealthCheckBuilder().setStatus(status).build(); }
@Test public void verify_response_example() { authenticateWithPasscode(); when(healthChecker.checkNode()) .thenReturn(newHealthCheckBuilder() .setStatus(Health.Status.RED) .addCause("Application node app-1 is RED") .build()); TestResponse response = underTest.newRequest().execute(); assertJson(response.getInput()) .ignoreFields("nodes") .isSimilarTo(underTest.getDef().responseExampleAsString()); }
public HardcodedHealthClusterCheck(String... causes) { Health.Builder builder = newHealthCheckBuilder().setStatus(Health.Status.values()[random.nextInt(3)]); Stream.of(causes).forEach(builder::addCause); this.health = builder.build(); }
@Test public void getCause_returns_causes_from_builder() { Health.Builder builder = newHealthCheckBuilder().setStatus(anyStatus); randomCauses.forEach(builder::addCause); Health underTest = builder.build(); assertThat(underTest.getCauses()) .isEqualTo(randomCauses); }
@Test public void setStatus_throws_NPE_if_status_is_null() { Health.Builder builder = newHealthCheckBuilder(); expectStatusNotNullNPE(); builder.setStatus(null); }
@Test public void get_returns_APPLICATION_type() { setRequiredPropertiesForConstructor(); setStartedAt(); when(networkUtils.getHostname()).thenReturn(randomAlphanumeric(23)); when(healthChecker.checkNode()).thenReturn(Health.newHealthCheckBuilder() .setStatus(Health.Status.values()[random.nextInt(Health.Status.values().length)]) .build()); NodeHealthProviderImpl underTest = new NodeHealthProviderImpl(mapSettings.asConfig(), healthChecker, server, networkUtils); NodeHealth nodeHealth = underTest.get(); assertThat(nodeHealth.getDetails().getType()).isEqualTo(NodeDetails.Type.APPLICATION); }
@Override public Health check(Set<NodeHealth> appNodes) { int appNodeCount = appNodes.size(); if (appNodeCount == 1) { return newHealthCheckBuilder() .setStatus(Health.Status.YELLOW) .addCause("There should be at least two application nodes") .build(); } return Health.GREEN; } },
private ClusterHealth randomStatusMinimalClusterHealth() { return new ClusterHealth(newHealthCheckBuilder() .setStatus(Health.Status.values()[random.nextInt(Health.Status.values().length)]) .build(), emptySet()); }
@Override public Health check(Set<NodeHealth> appNodes) { int appNodeCount = appNodes.size(); if (appNodeCount == 0) { return newHealthCheckBuilder() .setStatus(Health.Status.RED) .addCause("No application node") .build(); } return Health.GREEN; } },
@Test public void getStatus_returns_status_from_builder() { Health underTest = newHealthCheckBuilder().setStatus(anyStatus).build(); assertThat(underTest.getStatus()).isEqualTo(anyStatus); }
@Override public Health apply(Health left, Health right) { builder.clear(); builder.setStatus(worseOf(left.getStatus(), right.getStatus())); left.getCauses().forEach(builder::addCause); right.getCauses().forEach(builder::addCause); return builder.build(); }
@Test public void request_succeeds_when_valid_passcode() { authenticateWithPasscode(); when(healthChecker.checkNode()) .thenReturn(newHealthCheckBuilder() .setStatus(Health.Status.values()[random.nextInt(Health.Status.values().length)]) .build()); TestRequest request = underTest.newRequest(); request.execute(); }