@Test public void testEchoConsumer() throws InterruptedException { vertx.eventBus().send(VertxObservers.TEST_ECHO, "hello", (r) -> { if (r.succeeded()) { VertxObservers.SYNCHRONIZER.add(r.result().body()); } }); assertEquals("hello", poll()); }
@Test public void testConsumerDependencies() throws InterruptedException { vertx.eventBus().send(VertxObservers.TEST_DEP, "ok", (r) -> { if (r.succeeded()) { VertxObservers.SYNCHRONIZER.add(r.result().body()); } }); Object result1 = poll(); vertx.eventBus().send(VertxObservers.TEST_DEP, "ok", (r) -> { if (r.succeeded()) { VertxObservers.SYNCHRONIZER.add(r.result().body()); } }); Object result2 = poll(); assertNotEquals(result1, result2); }
@Test public void testConsumerEventBusTimeout() throws InterruptedException { vertx.eventBus().send(VertxObservers.TEST_BUS_TIMEOUT, "time out!"); assertEquals("timeout", poll()); }
@Test public void testConsumerEventBus() throws InterruptedException { vertx.eventBus().send(VertxObservers.TEST_BUS, "oops"); // cdi observer sends a message to TEST_BUS_NEXT assertEquals("huhu", poll()); vertx.eventBus().send(VertxObservers.TEST_BUS_OPTIONS, "ignored"); Object headers = poll(); assertNotNull(headers); assertEquals("bar", ((MultiMap) headers).get("foo")); }
@Test public void testEchoConsumerFails() throws InterruptedException { vertx.eventBus().send(VertxObservers.TEST_ECHO, "fail", (r) -> { if (r.failed()) { VertxObservers.SYNCHRONIZER.add(r.cause()); } }); Object cause = poll(); assertNotNull(cause); ReplyException replyException = (ReplyException) cause; assertEquals(10, replyException.failureCode()); assertEquals("My failure!", replyException.getMessage()); assertEquals(ReplyFailure.RECIPIENT_FAILURE, replyException.failureType()); vertx.eventBus().send(VertxObservers.TEST_ECHO, "exception", (r) -> { if (r.failed()) { VertxObservers.SYNCHRONIZER.add(r.cause()); } }); cause = poll(); assertNotNull(cause); replyException = (ReplyException) cause; assertEquals(VertxEvent.OBSERVER_FAILURE_CODE, replyException.failureCode()); assertEquals("oops", replyException.getMessage()); assertEquals(ReplyFailure.RECIPIENT_FAILURE, replyException.failureType()); }