content: package integration.exceptions;
  
  import integration.VertxNubesTestBase;
  import io.vertx.ext.unit.Async;
  import io.vertx.ext.unit.TestContext;
  import org.junit.Test;
  
  public class ExceptionsTest extends VertxNubesTestBase {
  
    @Test
    public void testBadRequest(TestContext context) {
      testException("badrequest", 400, context);
    }
  
    @Test
    public void testBadRequest2(TestContext context) {
      testException("badrequest2", 400, context);
    }
  
    @Test
    public void testForbidden(TestContext context) {
      testException("forbidden", 403, context);
    }
  
    @Test
    public void testForbidden2(TestContext context) {
      testException("forbidden2", 403, context);
    }
  
    @Test
    public void testNotFound(TestContext context) {
      testException("notfound", 404, context);
    }
  
    @Test
    public void testNotFound2(TestContext context) {
      testException("notfound2", 404, context);
    }
  
    @Test
    public void testUnauthorized(TestContext context) {
      testException("unauthorized", 401, context);
    }
  
    @Test
    public void testValidated(TestContext context) {
      testException("validation", 400, context);
    }
  
    private void testException(String path, int expectedStatus, TestContext context) {
      Async async = context.async();
      getJSON("/exceptions/" + path, response -> {
        context.assertEquals(expectedStatus, response.statusCode());
        async.complete();
      });
    }
  
  }
  