Fix test (good catch - 200 for GET /api/, and 404 for bad version doc pages)

This commit is contained in:
2023-03-30 11:53:11 -05:00
parent 944a93bd99
commit f6f2cb7070
4 changed files with 55 additions and 2 deletions

View File

@ -104,6 +104,10 @@ public class GenerateOpenApiSpecAction extends AbstractQActionFunction<GenerateO
QInstance qInstance = QContext.getQInstance();
ApiInstanceMetaData apiInstanceMetaData = ApiInstanceMetaData.of(qInstance);
if(!apiInstanceMetaData.getSupportedVersions().contains(new APIVersion(version)))
{
throw (new QException("[" + version + "] is not a supported API Version."));
}
OpenAPI openAPI = new OpenAPI()
.withVersion("3.0.3")

View File

@ -482,6 +482,12 @@ public class QJavalinApiHandler
QBrandingMetaData branding = qInstance.getBranding();
ApiInstanceMetaData apiInstanceMetaData = ApiInstanceMetaData.of(qInstance);
if(!apiInstanceMetaData.getSupportedVersions().contains(new APIVersion(version)))
{
doPathNotFound(context);
return;
}
//////////////////////////////////
// read html from resource file //
//////////////////////////////////
@ -1634,6 +1640,24 @@ public class QJavalinApiHandler
public static void respondWithError(Context context, HttpStatus.Code statusCode, String errorMessage)
{
context.status(statusCode.getCode());
try
{
String accept = context.header("accept");
if(accept != null && accept.toLowerCase().startsWith(ContentType.HTML))
{
context.contentType(ContentType.HTML);
context.result("Error: " + errorMessage);
return;
}
}
catch(Exception e)
{
///////////////////////////
// just do default thing //
///////////////////////////
}
context.result(JsonUtils.toJson(Map.of("error", errorMessage)));
}