From e665402f49fa7df1ff066396f966aeb49ba497d7 Mon Sep 17 00:00:00 2001 From: Tim van der Lippe Date: Thu, 2 Oct 2025 11:08:42 +0200 Subject: [PATCH] Beheer: voeg testcase toe voor missende version header Deze testcase miste nog. Hiermee zorgen we ervoor dat het duidelijk is waarom `nlgov:missing-version-header` als aparte regel bestaat, omdat anders OpenAPI specificaties zonder de header ook goedgekeurd zouden worden. --- .../expected-output.txt | 5 ++ .../version-header-missing/openapi.json | 73 +++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 linter/testcases/version-header-missing/expected-output.txt create mode 100644 linter/testcases/version-header-missing/openapi.json diff --git a/linter/testcases/version-header-missing/expected-output.txt b/linter/testcases/version-header-missing/expected-output.txt new file mode 100644 index 0000000..44b7a12 --- /dev/null +++ b/linter/testcases/version-header-missing/expected-output.txt @@ -0,0 +1,5 @@ + +/testcases/version-header-missing/openapi.json + 40:35 error nlgov:missing-version-header Return the full version number in a response header paths./openapi.json.get.responses[200].headers + +✖ 1 problem (1 error, 0 warnings, 0 infos, 0 hints) diff --git a/linter/testcases/version-header-missing/openapi.json b/linter/testcases/version-header-missing/openapi.json new file mode 100644 index 0000000..8c87a43 --- /dev/null +++ b/linter/testcases/version-header-missing/openapi.json @@ -0,0 +1,73 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "Baseline", + "description": "Deze OpenAPI specification bevat het minimale om aan alle regels te voldoen.", + "contact": { + "name": "Beheerder", + "url": "https://www.example.com", + "email": "mail@example.com" + }, + "version": "1.0.0" + }, + "servers": [ + { + "url": "https://example.com/api/v1" + } + ], + "security": [ + { + "default": [] + } + ], + "tags": [ + { + "name": "openapi" + } + ], + "paths": { + "/openapi.json": { + "get": { + "tags": [ + "openapi" + ], + "description": "OpenAPI document", + "operationId": "getOpenapiJSON", + "parameters": [], + "responses": { + "200": { + "description": "OK", + "headers": { + "access-control-allow-origin": { + "description": "Alle origins mogen bij deze resource", + "schema": { + "type": "string" + } + } + } + } + }, + "security": [ + { + "default": [] + } + ] + } + } + }, + "components": { + "schemas": { + }, + "securitySchemes": { + "default": { + "type": "oauth2", + "flows": { + "implicit": { + "authorizationUrl": "https://test.com", + "scopes": {} + } + } + } + } + } +} \ No newline at end of file