public Health build() { checkStatus(this.status); return new Health(this); }
@Override public Health check() { if (isConnectedToDB()) { return Health.GREEN; } return RED_HEALTH; }
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; } },
public HardcodedHealthNodeCheck(Health.Status status) { this.health = newHealthCheckBuilder().setStatus(status).build(); }
public HealthAssert andCauses(String... causes) { isNotNull(); if (!checkCauses(causes)) { failWithMessage( "Expected causes of Health to contain only \n%s\n but was \n%s\n for NodeHealth \n%s", Arrays.asList(causes), actual.getCauses(), printStatusesAndTypes(this.nodeHealths)); } return this; }
@Test public void build_throws_NPE_if_status_is_null() { Health.Builder builder = newHealthCheckBuilder(); expectStatusNotNullNPE(); builder.build(); }
@Test public void addCause_throws_IAE_if_arg_is_empty() { Health.Builder builder = newHealthCheckBuilder(); expectCauseCannotBeEmptyIAE(); builder.addCause(""); }
@Test public void setStatus_throws_NPE_if_status_is_null() { Health.Builder builder = newHealthCheckBuilder(); expectStatusNotNullNPE(); builder.setStatus(null); }
public HealthAssert hasStatus(Health.Status expected) { isNotNull(); if (actual.getStatus() != expected) { failWithMessage( "Expected Status of Health to be <%s> but was <%s> for NodeHealth \n%s", expected, actual.getStatus(), printStatusesAndTypes(this.nodeHealths)); } return this; }
@Override public void write(JsonWriter json) throws InterruptedException { ClusterHealth clusterHealth = healthChecker.checkCluster(); writeHealth(clusterHealth.getHealth(), json); writeGlobalSections(json); writeApplicationNodes(json, clusterHealth); writeSearchNodes(json, clusterHealth); writeTelemetry(json); }
@Override protected void configureModule() { add( NodeHealthProviderImpl.class, HealthStateRefresherExecutorServiceImpl.class, HealthStateRefresher.class, SharedHealthStateImpl.class); } }
@Override public Health check() { return super.checkEsStatus(); } }
public Builder setStatus(Status status) { this.status = checkStatus(status); return this; }
@Override public Health check(Set<NodeHealth> nodeHealths) { return checkEsStatus(); }
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(); }
@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 HardcodedHealthClusterCheck(Health.Status status) { this.health = newHealthCheckBuilder().setStatus(status).build(); }