@Override public ConsulService localChecks(Handler<AsyncResult<List<Check>>> resultHandler) { consulClient.localChecks(resultHandler); return this; }
/** * Return all the checks that are registered with the local agent. * @param resultHandler will be provided with list of checks * @return reference to this, for fluency */ public io.vertx.rxjava.ext.consul.ConsulClient localChecks(Handler<AsyncResult<List<Check>>> resultHandler) { delegate.localChecks(resultHandler); return this; }
/** * Return all the checks that are registered with the local agent. * @param resultHandler will be provided with list of checks * @return reference to this, for fluency */ public io.vertx.rxjava.ext.consul.ConsulClient localChecks(Handler<AsyncResult<List<Check>>> resultHandler) { delegate.localChecks(resultHandler); return this; }
public static io.vertx.ext.consul.ConsulClient localChecks(io.vertx.ext.consul.ConsulClient j_receiver, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<java.util.Map<String, Object>>>> resultHandler) { io.vertx.core.impl.ConversionHelper.fromObject(j_receiver.localChecks(resultHandler != null ? new io.vertx.core.Handler<io.vertx.core.AsyncResult<java.util.List<io.vertx.ext.consul.Check>>>() { public void handle(io.vertx.core.AsyncResult<java.util.List<io.vertx.ext.consul.Check>> ar) { resultHandler.handle(ar.map(event -> event != null ? event.stream().map(elt -> elt != null ? io.vertx.core.impl.ConversionHelper.fromJsonObject(elt.toJson()) : null).collect(java.util.stream.Collectors.toList()) : null)); } } : null)); return j_receiver; } public static io.vertx.ext.consul.ConsulClient registerCheck(io.vertx.ext.consul.ConsulClient j_receiver, java.util.Map<String, Object> checkOptions, io.vertx.core.Handler<io.vertx.core.AsyncResult<java.lang.Void>> resultHandler) {
void getCheckInfo(TestContext tc, String id, Handler<Check> resultHandler) { ctx.writeClient().localChecks(tc.asyncAssertSuccess(list -> { resultHandler.handle(list.stream() .filter(check -> check.getId().equals(id)) .findFirst() .orElseThrow(NoSuchElementException::new)); })); }
Check getCheckInfo(String id) { List<Check> checks = getAsync(h -> ctx.writeClient().localChecks(h)); return checks.stream() .filter(check -> check.getId().equals(id)) .findFirst() .get(); }
@Test(timeout = 3 * 60 * 1000) public void deregisterAfter(TestContext tc) { if (System.getProperty("skipDeregisterAfter") != null) { System.out.println("skip"); return; } CheckOptions opts = new CheckOptions() .setDeregisterAfter("1m") .setStatus(CheckStatus.PASSING) .setTtl("10s") .setName("checkName"); Async async = tc.async(); createCheck(tc, opts, checkId -> { getCheckInfo(tc, checkId, passing -> { tc.assertEquals(CheckStatus.PASSING, passing.getStatus()); vertx.setTimer(30000, l1 -> { getCheckInfo(tc, checkId, critical -> { tc.assertEquals(CheckStatus.CRITICAL, critical.getStatus()); vertx.setTimer(90000, l2 -> { ctx.writeClient().localChecks(tc.asyncAssertSuccess(checks -> { tc.assertEquals(checks.stream().filter(c -> c.getName().equals("checkName")).count(), (long) 0); async.complete(); })); }); }); }); }); }); }
runAsync(h -> ctx.writeClient().passCheck("service:" + serviceId, h)); List<Check> checks = getAsync(h -> ctx.writeClient().localChecks(h)); assertEquals(1, checks.size()); checks = getAsync(h -> ctx.writeClient().localChecks(h)); assertEquals(2, checks.size()); long cnt = checks.stream().filter(info -> info.getStatus() == CheckStatus.CRITICAL).count(); runAsync(h -> ctx.writeClient().maintenanceService(opts, h)); checks = getAsync(h -> ctx.writeClient().localChecks(h)); assertEquals(1, checks.size());
@Test public void bindCheckToService() { String serviceName = "serviceName"; ServiceOptions service = new ServiceOptions() .setName(serviceName) .setAddress("10.0.0.1") .setPort(8080); runAsync(h -> ctx.writeClient().registerService(service, h)); List<Service> services = getAsync(h -> ctx.writeClient().localServices(h)); Service s = services.stream().filter(i -> "serviceName".equals(i.getName())).findFirst().get(); String serviceId = s.getId(); assertEquals(s.getAddress(), "10.0.0.1"); assertEquals(s.getPort(), 8080); CheckOptions check = new CheckOptions() .setId("checkId") .setName("checkName") .setNotes("checkNotes") .setServiceId(serviceId) .setStatus(CheckStatus.PASSING) .setTtl("10s"); runAsync(h -> ctx.writeClient().registerCheck(check, h)); List<Check> checks = getAsync(h -> ctx.writeClient().localChecks(h)); Check c = checks.stream().filter(i -> "checkId".equals(i.getId())).findFirst().get(); assertEquals(c.getServiceId(), serviceId); assertEquals(c.getStatus(), CheckStatus.PASSING); assertEquals(c.getNotes(), "checkNotes"); runAsync(h -> ctx.writeClient().deregisterService(serviceId, h)); }
ctx.writeClient().localServices(tc.asyncAssertSuccess(services -> { String serviceId = checkService(tc, services, serviceName, opts); ctx.writeClient().localChecks(tc.asyncAssertSuccess(checks -> { Check c = checks.stream() .filter(i -> serviceName.equals(i.getServiceName()))