From f6f2cb707062019adaaa12f7c499385ebff33fb9 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Thu, 30 Mar 2023 11:53:11 -0500 Subject: [PATCH] Fix test (good catch - 200 for GET /api/, and 404 for bad version doc pages) --- .../actions/GenerateOpenApiSpecAction.java | 4 ++++ .../qqq/api/javalin/QJavalinApiHandler.java | 24 +++++++++++++++++++ .../GenerateOpenApiSpecActionTest.java | 14 +++++++++++ .../api/javalin/QJavalinApiHandlerTest.java | 15 ++++++++++-- 4 files changed, 55 insertions(+), 2 deletions(-) diff --git a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java index c5254f7c..f3d29751 100644 --- a/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java +++ b/qqq-middleware-api/src/main/java/com/kingsrook/qqq/api/actions/GenerateOpenApiSpecAction.java @@ -104,6 +104,10 @@ public class GenerateOpenApiSpecAction extends AbstractQActionFunction s.contains("/internalName/"))); } + + + /******************************************************************************* + ** + *******************************************************************************/ + @Test + void testBadVersion() + { + assertThatThrownBy(() -> new GenerateOpenApiSpecAction().execute(new GenerateOpenApiSpecInput().withVersion("NotAVersion"))) + .isInstanceOf(QException.class) + .hasMessageContaining("not a supported API Version"); + } + } \ No newline at end of file diff --git a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandlerTest.java b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandlerTest.java index c91d1483..f43f8159 100644 --- a/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandlerTest.java +++ b/qqq-middleware-api/src/test/java/com/kingsrook/qqq/api/javalin/QJavalinApiHandlerTest.java @@ -147,9 +147,20 @@ class QJavalinApiHandlerTest extends BaseTest { assertErrorResponse(HttpStatus.NOT_FOUND_404, "Could not find any resources at path", Unirest.request(method, BASE_URL + "/api/" + VERSION + "/notATable/").asString()); assertErrorResponse(HttpStatus.NOT_FOUND_404, "Could not find any resources at path", Unirest.request(method, BASE_URL + "/api/" + VERSION + "/notATable/notAnId").asString()); - assertErrorResponse(HttpStatus.NOT_FOUND_404, "Could not find any resources at path", Unirest.request(method, BASE_URL + "/api/").asString()); - assertErrorResponse(HttpStatus.NOT_FOUND_404, "Could not find any resources at path", Unirest.request(method, BASE_URL + "/api/foo").asString()); assertErrorResponse(HttpStatus.NOT_FOUND_404, "Could not find any resources at path", Unirest.request(method, BASE_URL + "/api/" + VERSION + "/person/1/2").asString()); + assertErrorResponse(HttpStatus.NOT_FOUND_404, "Could not find any resources at path", Unirest.request(method, BASE_URL + "/api/foo").asString()); + + if(method.equals("get")) + { + ////////////////////////////////////////////// + // this path returns the doc site for a GET // + ////////////////////////////////////////////// + assertErrorResponse(HttpStatus.OK_200, null, Unirest.request(method, BASE_URL + "/api/").asString()); + } + else + { + assertErrorResponse(HttpStatus.NOT_FOUND_404, "Could not find any resources at path", Unirest.request(method, BASE_URL + "/api/").asString()); + } } }