From f71439837e40304bb12d13345485225ee1222e59 Mon Sep 17 00:00:00 2001 From: Erik Reid <erik.reid@geant.org> Date: Tue, 21 Mar 2023 07:10:35 +0100 Subject: [PATCH] utility for dumping openapi spec --- docs/dump-openapi-spec.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 docs/dump-openapi-spec.py diff --git a/docs/dump-openapi-spec.py b/docs/dump-openapi-spec.py new file mode 100644 index 0000000..9fa003c --- /dev/null +++ b/docs/dump-openapi-spec.py @@ -0,0 +1,22 @@ +import json +import os +import sys + +from fastapi.testclient import TestClient +import resource_management + +config_filename = os.path.join( + os.path.dirname(__file__), + '..', 'config-example.json') + +os.environ['SETTINGS_FILENAME'] = config_filename +app = resource_management.create_app() +client = TestClient(app) +rsp = client.get('/openapi.json') +openapi_doc = json.dumps(rsp.json(), indent=2) + +if len(sys.argv) > 1 and sys.argv[1]: + with open(sys.argv[1], 'w') as output: + output.write(openapi_doc) +else: + print(openapi_doc) -- GitLab