package integration.custom; import integration.CustomNubesTestBase; import io.vertx.core.json.JsonObject; import io.vertx.ext.unit.Async; import io.vertx.ext.unit.TestContext; import mock.custom.handlers.InjectObjectProcessor; import org.junit.Test; public class InjectParams extends CustomNubesTestBase { @Test public void objectByType(TestContext context) { Async async = context.async(); getJSON("/custom/params", response -> { context.assertEquals(200, response.statusCode()); response.bodyHandler(buff -> { JsonObject json = new JsonObject(buff.toString("UTF-8")); context.assertEquals(new JsonObject().put("name", InjectObjectProcessor.obj.name), json); async.complete(); }); }); } @Test public void objectByName(TestContext context) { Async async = context.async(); getJSON("/custom/params/byName", response -> { context.assertEquals(200, response.statusCode()); response.bodyHandler(buff -> { JsonObject json = new JsonObject(buff.toString("UTF-8")); context.assertEquals(new JsonObject().put("name", "other-name"), json); async.complete(); }); }); } @Test public void annotatedParam(TestContext context) { Async async = context.async(); client().get("/custom/params/annotated", response -> { context.assertEquals(200, response.statusCode()); response.bodyHandler(buff -> { context.assertEquals("something", buff.toString("UTF-8")); async.complete(); }); }).end(); } }