Check getCheckInfo(String id) { List<Check> checks = getAsync(h -> ctx.writeClient().localChecks(h)); return checks.stream() .filter(check -> check.getId().equals(id)) .findFirst() .get(); }
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)); })); }
public static void toJson(Check obj, java.util.Map<String, Object> json) { if (obj.getId() != null) { json.put("id", obj.getId()); } if (obj.getName() != null) { json.put("name", obj.getName()); } if (obj.getNodeName() != null) { json.put("nodeName", obj.getNodeName()); } if (obj.getNotes() != null) { json.put("notes", obj.getNotes()); } if (obj.getOutput() != null) { json.put("output", obj.getOutput()); } if (obj.getServiceId() != null) { json.put("serviceId", obj.getServiceId()); } if (obj.getServiceName() != null) { json.put("serviceName", obj.getServiceName()); } if (obj.getStatus() != null) { json.put("status", obj.getStatus().name()); } } }
@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)); }
@Test public void watchService() throws InterruptedException { StateConsumer<String> consumer = new StateConsumer<>(); ServiceOptions service = new ServiceOptions() .setCheckOptions(new CheckOptions() .setStatus(CheckStatus.PASSING) .setTtl("4s") .setName(randomAlphaString(10))) .setId(randomAlphaString(10)) .setName(randomAlphaString(10)); Watch<ServiceEntryList> watch = Watch.service(service.getName(), vertx, ctx.readClientOptions()) .setHandler(list -> { if (list.succeeded()) { consumer.consume(list.nextResult().getList() .stream().filter(s -> s.getService().getName().equals(service.getName())) .map(e -> e.getService().getName() + "/" + e.getChecks().stream() .filter(c -> c.getId().equals("service:" + service.getId())) .map(c -> c.getStatus().name()).findFirst().orElse("")) .findFirst().orElse("")); } }) .start(); consumer.await(""); runAsync(h -> ctx.writeClient().registerService(service, h)); consumer.await(service.getName() + "/" + CheckStatus.PASSING.name()); consumer.await(service.getName() + "/" + CheckStatus.CRITICAL.name()); consumer.check(); watch.stop(); runAsync(h -> ctx.writeClient().deregisterService(service.getId(), h)); }
assertEquals(list1.getList().get(0).getId(), "checkId1");
private void checkCheck(Check expected, Check actual) { assertEquals(expected, actual); assertEquals(expected.hashCode(), actual.hashCode()); assertEquals(expected.getId(), actual.getId()); assertEquals(expected.getName(), actual.getName()); assertEquals(expected.getNodeName(), actual.getNodeName()); assertEquals(expected.getNotes(), actual.getNotes()); assertEquals(expected.getOutput(), actual.getOutput()); assertEquals(expected.getServiceId(), actual.getServiceId()); assertEquals(expected.getServiceName(), actual.getServiceName()); assertEquals(expected.getStatus(), actual.getStatus()); }
.findFirst() .orElseThrow(NoSuchElementException::new); tc.assertEquals(c.getId(), "service:" + serviceName); tc.assertEquals(c.getNotes(), opts.getCheckOptions().getNotes()); ctx.writeClient().catalogNodeServices(ctx.nodeName(), tc.asyncAssertSuccess(nodeServices -> {