@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; } },
@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; } },
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(); }
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(); }
@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 addCause_throws_IAE_if_arg_contains_only_spaces() { Health.Builder builder = newHealthCheckBuilder(); expectCauseCannotBeEmptyIAE(); builder.addCause(Strings.repeat(" ", 1 + random.nextInt(5))); }
public HardcodedHealthClusterCheck(Health.Status status) { this.health = newHealthCheckBuilder().setStatus(status).build(); }
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(); }
@Test public void green_constant() { assertThat(Health.GREEN).isEqualTo(newHealthCheckBuilder().setStatus(Health.Status.GREEN).build()); }
@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())); }
@Test public void getStatus_returns_status_from_builder() { Health underTest = newHealthCheckBuilder().setStatus(anyStatus).build(); assertThat(underTest.getStatus()).isEqualTo(anyStatus); }
@Test public void build_throws_NPE_if_status_is_null() { Health.Builder builder = newHealthCheckBuilder(); expectStatusNotNullNPE(); builder.build(); }
private ClusterHealth randomStatusMinimalClusterHealth() { return new ClusterHealth(newHealthCheckBuilder() .setStatus(Health.Status.values()[random.nextInt(Health.Status.values().length)]) .build(), emptySet()); }
@Test public void addCause_throws_IAE_if_arg_is_empty() { Health.Builder builder = newHealthCheckBuilder(); expectCauseCannotBeEmptyIAE(); builder.addCause(""); }
@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 addCause_throws_NPE_if_arg_is_null() { Health.Builder builder = newHealthCheckBuilder(); expectedException.expect(NullPointerException.class); expectedException.expectMessage("cause can't be null"); builder.addCause(null); }
@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(); }
@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); }
@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()); }