package io.vertx.ext.unit; import io.vertx.core.Vertx; import io.vertx.core.json.JsonObject; import io.vertx.ext.unit.collect.EventBusCollector; import io.vertx.test.core.AsyncTestBase; import io.vertx.test.core.VertxTestBase; import org.junit.*; import org.junit.Test; import java.io.IOException; import java.net.URL; import java.util.Enumeration; /** * @author <a href="mailto:julien@julienviet.com">Julien Viet</a> */ public class VerticleTest extends VertxTestBase { @org.junit.Test public void testCoordinated() { vertx.eventBus().<JsonObject>consumer("test").handler(msg -> { switch (msg.body().getString("type")) { case EventBusCollector.EVENT_TEST_SUITE_ERROR: // Replace with data object when done fail("Unexpected failure " + msg.body().getJsonObject("failure")); break; case EventBusCollector.EVENT_TEST_SUITE_END: testComplete(); break; } }); vertx.deployVerticle("js:verticle/coordinated/test", ar -> { assertTrue(ar.succeeded()); }); await(); } @org.junit.Test public void testJavaScriptTimer() { vertx.deployVerticle("js:verticle/timer", ar -> { assertTrue(ar.succeeded()); testComplete(); }); await(); } @org.junit.Test public void testJavaScriptFailure() { vertx.deployVerticle("js:verticle/failing", ar -> { assertTrue(ar.failed()); assertEquals("Error: the_failure", ar.cause().getMessage()); testComplete(); }); await(); } @Test public void testGroovyTimer() { vertx.deployVerticle("verticle/timer.groovy", ar -> { assertTrue(ar.succeeded()); testComplete(); }); await(); } @Test public void testGroovyFailure() { vertx.deployVerticle("verticle/failing.groovy", ar -> { assertTrue(ar.failed()); assertEquals("the_failure", ar.cause().getMessage()); testComplete(); }); await(); } @org.junit.Test public void testRubyFailure() { vertx.deployVerticle("verticle/failing.rb", ar -> { assertTrue(ar.failed()); assertEquals("(Exception) the_failure", ar.cause().getMessage()); testComplete(); }); await(); } @Test public void testGroovyExceptionHandler() { vertx.deployVerticle("verticle/exceptionHandler.groovy", ar -> { assertTrue(ar.failed()); assertEquals("the_failure", ar.cause().getMessage()); testComplete(); }); await(); } }