package com.deblox.solacemonitor.unit.test; //import io.vertx.codetrans.annotations.CodeTranslate; import io.vertx.core.Vertx; import io.vertx.core.http.HttpClient; import io.vertx.core.http.HttpServer; import io.vertx.ext.unit.Async; import io.vertx.ext.unit.TestOptions; import io.vertx.ext.unit.TestSuite; import io.vertx.ext.unit.report.ReportOptions; /* * Example of asynchronous unit test written in raw vertx-unit style * * @author <a href="http://tfox.org">Tim Fox</a> */ public class VertxUnitTest { public static void main(String[] args) { new VertxUnitTest().run(); } Vertx vertx; // @CodeTranslate // Not yet detected public void run() { TestOptions options = new TestOptions().addReporter(new ReportOptions().setTo("console")); TestSuite suite = TestSuite.create("com.deblox.myproject.unit.VertxUnitTest"); suite.before(context -> { vertx = Vertx.vertx(); Async async = context.async(); HttpServer server = vertx.createHttpServer().requestHandler(req -> req.response().end("foo")).listen(8080, res -> { if (res.succeeded()) { async.complete(); } else { context.fail(); } }); }); suite.after(context -> { Async async = context.async(); vertx.close(ar -> { if (ar.succeeded()) { async.complete(); } else if (ar.failed()) { context.fail(); } }); }); // Specifying the test names seems ugly... suite.test("some_test1", context -> { // Send a request and get a response HttpClient client = vertx.createHttpClient(); Async async = context.async(); client.getNow(8080, "localhost", "/", resp -> { resp.bodyHandler(body -> context.assertEquals("foo", body.toString("UTF-8"))); client.close(); async.complete(); }); }); suite.test("some_test2", context -> { // Deploy and undeploy a verticle Async async = context.async(); vertx.deployVerticle("com.deblox.myproject.PingVerticle", res -> { if (res.succeeded()) { String deploymentID = res.result(); vertx.undeploy(deploymentID, res2 -> { if (res2.succeeded()) { async.complete(); } else { context.fail(); } }); } else { context.fail(); } }); }); suite.run(options); } }