public static void fromJson(Iterable<java.util.Map.Entry<String, Object>> json, EventOptions obj) { for (java.util.Map.Entry<String, Object> member : json) { switch (member.getKey()) { case "node": if (member.getValue() instanceof String) { obj.setNode((String)member.getValue()); } break; case "payload": if (member.getValue() instanceof String) { obj.setPayload((String)member.getValue()); } break; case "service": if (member.getValue() instanceof String) { obj.setService((String)member.getValue()); } break; case "tag": if (member.getValue() instanceof String) { obj.setTag((String)member.getValue()); } break; } } }
@Test public void watchEvents() throws InterruptedException { StateConsumer<String> consumer = new StateConsumer<>(); String evName = randomAlphaString(10); String p1 = randomAlphaString(10); String p2 = randomAlphaString(10); Watch<EventList> watch = Watch.events(evName, vertx, ctx.readClientOptions()) .setHandler(list -> { if (list.succeeded()) { consumer.consume(list.nextResult().getList() .stream().map(Event::getPayload).collect(Collectors.joining(","))); } }) .start(); consumer.await(""); Utils.<Event>getAsync(h -> ctx.writeClient().fireEventWithOptions(evName, new EventOptions().setPayload(p1), h)); Utils.<Event>getAsync(h -> ctx.writeClient().fireEventWithOptions(randomAlphaString(10), new EventOptions().setPayload(randomAlphaString(10)), h)); Utils.<Event>getAsync(h -> ctx.writeClient().fireEventWithOptions(evName, new EventOptions().setPayload(p2), h)); consumer.await(p1); consumer.await(p1 + "," + p2); consumer.check(); watch.stop(); }
private void runTest(TestContext tc, boolean timeout) { String name1 = randomAlphaString(10); String name2 = randomAlphaString(10); EventOptions opts = new EventOptions().setPayload(randomAlphaString(10)); ctx.writeClient().fireEventWithOptions(name1, opts, tc.asyncAssertSuccess(event -> { tc.assertEquals(name1, event.getName());