private boolean waitPeers() { int requests = MAX_REQUESTS; while (requests --> 0) { List<String> peers = getAsync(h -> ctx.readClient().peersStatus(h)); if (peers.size() == 1) { return true; } sleep(vertx, 1000); System.out.println("waiting for peers..."); } return false; }
private void getEntries(TestContext tc, String prefix, Handler<List<String>> resultHandler) { ctx.readClient().getValues(prefix, tc.asyncAssertSuccess(list -> { resultHandler.handle(list.getList().stream() .map(kv -> kv.getKey() + "/" + kv.getValue()).collect(Collectors.toList())); })); }
@Test public void catalogServicesBlocking() throws InterruptedException { testServicesBlocking(h -> ctx.readClient().catalogServices(h), (opts, h) -> ctx.readClient().catalogServicesWithOptions(opts, h)); }
@Test public void readClientCanReadValues(TestContext tc) { valuesAccess(tc, ctx.readClient()); }
@Test public void leader(TestContext tc) { ctx.readClient().leaderStatus(tc.asyncAssertSuccess(leader -> { tc.assertEquals(leader.substring(0, leader.indexOf(':')), "127.0.0.1"); })); }
@Test public void readClientCantWriteOneValue(TestContext tc) { ctx.readClient().putValue("foo/bar1", "value1", tc.asyncAssertFailure()); }
@Test public void peers(TestContext tc) { ctx.readClient().peersStatus(tc.asyncAssertSuccess(peers -> { tc.assertEquals(peers.size(), 1); })); }
@Test public void catalogNodeServicesBlocking() throws InterruptedException { testServicesBlocking(h -> ctx.readClient().catalogNodeServices(ctx.nodeName(), h), (opts, h) -> ctx.readClient().catalogNodeServicesWithOptions(ctx.nodeName(), opts, h)); }
@Test public void listSessionsBlocking(TestContext tc) throws InterruptedException { testSessionsBlocking(tc, (opts, h) -> ctx.readClient().listSessionsWithOptions(opts, h)); }
@Test public void canGetValueBlocking(TestContext tc) { blockingQuery(tc, (key, h) -> ctx.readClient().getValue(key, tc.asyncAssertSuccess(list -> h.handle(list.getModifyIndex())))); }
@Test public void canGetValuesBlocking(TestContext tc) { blockingQuery(tc, (key, h) -> ctx.readClient().getValues(key, tc.asyncAssertSuccess(list -> h.handle(list.getIndex())))); }
@Test public void datacenters(TestContext tc) { ctx.readClient().catalogDatacenters(tc.asyncAssertSuccess(datacenters -> { tc.assertEquals(datacenters.size(), 1); tc.assertEquals(datacenters.get(0), ctx.dc().getName()); })); }
@Test public void listNodeSessionsBlocking(TestContext tc) throws InterruptedException { testSessionsBlocking(tc, (opts, h) -> ctx.readClient().listNodeSessionsWithOptions(ctx.nodeName(), opts, h)); }
@Test public void nodes(TestContext tc) { ctx.readClient().catalogNodes(tc.asyncAssertSuccess(nodes -> { tc.assertEquals(nodes.getList().size(), 1); Node node = nodes.getList().get(0); tc.assertEquals(node.getName(), ctx.nodeName()); })); }
@Test public void info(TestContext tc) { ctx.readClient().agentInfo(tc.asyncAssertSuccess(info -> { JsonObject config = info.getJsonObject("Config"); tc.assertEquals(config.getString("Datacenter"), ctx.dc().getName()); })); } }
private void createKV(TestContext tc, String key, String value, Handler<Long> resultHandler) { ctx.writeClient().putValue(key, value, tc.asyncAssertSuccess(b -> { tc.assertTrue(b); ctx.readClient().getValue(key, tc.asyncAssertSuccess(pair -> { resultHandler.handle(pair.getModifyIndex()); })); })); } }
@Test public void keyNotFound(TestContext tc) { String key = randomFooBarUnicode(); ctx.readClient() .getValue(key, tc.asyncAssertSuccess(kv -> { tc.assertFalse(kv.isPresent()); })); }
@Test public void keysNotFound(TestContext tc) { String key = randomFooBarUnicode(); ctx.readClient() .getValues(key, tc.asyncAssertSuccess(list -> { tc.assertFalse(list.isPresent()); })); }
@Test public void canGetKeysList(TestContext tc) { String keyPrefix = randomFooBarAlpha(); String key = keyPrefix + randomAlphaString(10); ctx.writeClient() .putValue(key, randomAlphaString(10), tc.asyncAssertSuccess(b -> { tc.assertTrue(b); ctx.readClient().getKeys(keyPrefix, tc.asyncAssertSuccess(list -> { tc.assertTrue(list.contains(key)); ctx.writeClient().deleteValues(keyPrefix, tc.asyncAssertSuccess()); })); })); }
@Test public void readClientCanReadOneValue(TestContext tc) { String key = randomFooBarUnicode(); String value = randomUnicodeString(10); ctx.writeClient() .putValue(key, value, tc.asyncAssertSuccess(b -> { tc.assertTrue(b); ctx.readClient().getValue(key, tc.asyncAssertSuccess(pair -> { tc.assertEquals(key, pair.getKey()); tc.assertEquals(value, pair.getValue()); ctx.writeClient().deleteValue(key, tc.asyncAssertSuccess()); })); })); }