case "interval": if (member.getValue() instanceof String) { obj.setInterval((String)member.getValue());
@Test public void grpcCheckLifecycle(TestContext tc) { if (ctx.consulVersion().compareTo("1.0.3") < 0) { System.out.println("skip " + ctx.consulVersion() + " version"); return; } GrpcHealthReporter reporter = new GrpcHealthReporter(vertx); Async async = tc.async(); CheckOptions opts = new CheckOptions() .setGrpc("localhost:" + reporter.port() + "/testee") .setInterval("2s") .setName("checkName"); String checkId = createCheck(opts); reporter.start(tc.asyncAssertSuccess(v1 -> { vertx.setTimer(3000, t1 -> { getCheckInfo(tc, checkId, c1 -> { tc.assertEquals(CheckStatus.PASSING, c1.getStatus()); reporter.setStatus(HealthCheck.HealthCheckResponse.ServingStatus.NOT_SERVING); vertx.setTimer(3000, t2 -> { getCheckInfo(tc, checkId, c2 -> { tc.assertEquals(CheckStatus.CRITICAL, c2.getStatus()); reporter.close(tc.asyncAssertSuccess(v2 -> { ctx.writeClient().deregisterCheck(checkId, tc.asyncAssertSuccess(v -> async.complete())); })); }); }); }); }); })); }
@Test public void tcpCheckLifecycle() { HttpHealthReporter reporter = new HttpHealthReporter(vertx); CheckOptions opts = new CheckOptions() .setTcp("localhost:" + reporter.port()) .setInterval("2s") .setName("checkName"); String checkId = createCheck(opts); sleep(vertx, 3000); Check check = getCheckInfo(checkId); assertEquals(CheckStatus.PASSING, check.getStatus()); reporter.close(); sleep(vertx, 3000); check = getCheckInfo(checkId); assertEquals(CheckStatus.CRITICAL, check.getStatus()); runAsync(h -> ctx.writeClient().deregisterCheck(checkId, h)); }
@Test public void scriptCheckLifecycle() { ScriptHealthReporter reporter = new ScriptHealthReporter(); CheckOptions opts = new CheckOptions() .setScriptArgs(reporter.scriptArgs()) .setInterval("2s") .setName("checkName"); String checkId = createCheck(opts); sleep(vertx, 3000); Check check = getCheckInfo(checkId); assertEquals(CheckStatus.PASSING, check.getStatus()); reporter.setStatus(CheckStatus.WARNING); sleep(vertx, 3000); check = getCheckInfo(checkId); assertEquals(CheckStatus.WARNING, check.getStatus()); reporter.setStatus(CheckStatus.CRITICAL); sleep(vertx, 3000); check = getCheckInfo(checkId); assertEquals(CheckStatus.CRITICAL, check.getStatus()); runAsync(h -> ctx.writeClient().deregisterCheck(checkId, h)); }
@Test public void httpCheckLifecycle() { HttpHealthReporter reporter = new HttpHealthReporter(vertx); CheckOptions opts = new CheckOptions() .setHttp("http://localhost:" + reporter.port()) .setInterval("2s") .setName("checkName"); String checkId = createCheck(opts); sleep(vertx, 3000); Check check = getCheckInfo(checkId); assertEquals(CheckStatus.PASSING, check.getStatus()); reporter.setStatus(CheckStatus.WARNING); sleep(vertx, 3000); check = getCheckInfo(checkId); assertEquals(CheckStatus.WARNING, check.getStatus()); reporter.setStatus(CheckStatus.CRITICAL); sleep(vertx, 3000); check = getCheckInfo(checkId); assertEquals(CheckStatus.CRITICAL, check.getStatus()); reporter.close(); runAsync(h -> ctx.writeClient().deregisterCheck(checkId, h)); }