content: 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();
    }
  }
  