diff --git a/docs/dump-openapi-spec.py b/docs/dump-openapi-spec.py new file mode 100644 index 0000000000000000000000000000000000000000..9fa003c1f0870b95bc5087f85b837aeecd351719 --- /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)