-
-
Save kigawas/b26a4905d4f7118bd70ed8c532fd2321 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
============================= test session starts ============================== | |
platform darwin -- Python 3.8.6, pytest-6.1.1, py-1.9.0, pluggy-0.13.1 | |
rootdir: /Users/kigawas/works/py/connexion | |
collected 43 items | |
tests/sanic/test_sanic_bootstrap.py ......F............................. [ 83%] | |
....... [100%] | |
=================================== FAILURES =================================== | |
______________________ test_app_with_different_uri_parser ______________________ | |
sanic_api_spec_dir = PosixPath('/Users/kigawas/works/py/connexion/tests/fixtures/sanic') | |
def test_app_with_different_uri_parser(sanic_api_spec_dir): | |
from connexion.decorators.uri_parsing import FirstValueURIParser | |
app = App( | |
__name__, | |
port=5001, | |
specification_dir="tests" / sanic_api_spec_dir.relative_to(TEST_FOLDER), | |
options={"uri_parser_class": FirstValueURIParser}, | |
debug=True, | |
) | |
app.add_api("swagger.yaml") | |
app_client = app.app.test_client | |
_, resp = app_client.get( | |
"/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f" | |
) # type: httpx.models.Response | |
assert resp.status_code == 200 | |
j = resp.json | |
> assert j == ["a", "b", "c"] | |
E AssertionError: assert ['d'] == ['a', 'b', 'c'] | |
E At index 0 diff: 'd' != 'a' | |
E Right contains 2 more items, first extra item: 'b' | |
E Use -v to get the full diff | |
tests/sanic/test_sanic_bootstrap.py:112: AssertionError | |
----------------------------- Captured stdout call ----------------------------- | |
[2020-11-06 14:17:58 +0900] [80437] [INFO] http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f | |
[2020-11-06 14:17:58 +0900] - (sanic.access)[INFO][127.0.0.1:49188]: GET http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f 200 6 | |
[2020-11-06 14:17:58 +0900] [80437] [INFO] Starting worker [80437] | |
[2020-11-06 14:17:58 +0900] [80437] [INFO] Stopping worker [80437] | |
[2020-11-06 14:17:58 +0900] [80437] [INFO] Server Stopped | |
----------------------------- Captured stderr call ----------------------------- | |
DEBUG:connexion.app:Root Path: . | |
DEBUG:connexion.app:Specification directory: tests/fixtures/sanic | |
DEBUG:connexion.app:Setting error handlers | |
DEBUG:connexion.apis.abstract:Loading specification: tests/fixtures/sanic/swagger.yaml | |
DEBUG:openapi_spec_validator.decorators:Attaching x-scope to {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'/greeting/{name}': {'post': {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}}, '/greeting/{name}/{remainder}': {'post': {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]}}, '/greetings/{name}': {'get': {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}}, '/bye/{name}': {'get': {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]}}, '/flask_response_tuple': {'get': {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}}}, '/list/{name}': {'get': {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]}}, '/test_no_content_response': {'get': {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}}}, '/multimime': {'get': {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}}}, '/empty': {'get': {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}}}, '/test-redirect-endpoint': {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}}}, '/test-redirect-response-endpoint': {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}}}, '/test-default-object-body': {'post': {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}}}, '/test-default-integer-body': {'post': {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}}}, '/test-empty-object-body': {'post': {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}}}, '/resolver-test/method': {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}}}, '/resolver-test/classmethod': {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}}}, '/test_parameter_validation': {'get': {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_apikey_query_parameter_validation': {'get': {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}}}, '/test_required_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_csv_form_param': {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_pipes_form_param': {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_csv_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_multi_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_pipes_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_unsupported_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}}}, '/test-int-path/{someint}': {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-float-path/{somefloat}': {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-default-query-parameter': {'get': {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}}}, '/test-falsy-param': {'get': {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-param': {'post': {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-missing-param': {'post': {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-file-upload': {'post': {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-file-upload-missing-param': {'post': {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-bool-param': {'get': {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}}}, '/test-bool-array-param': {'get': {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}}}, '/test-required-param': {'get': {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/parameters-in-root-path': {'parameters': [{'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True}], 'get': {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}}}, '/goodday/{name}': {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}}, '/goodday/noheader': {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}}}, '/goodevening/{name}': {'post': {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]}}, '/test-204-with-headers': {'get': {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}}, '/test-204-with-headers-nocontent-obj': {'get': {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}}, '/test-array-in-path/{names}': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}}}, '/nullable-parameters': {'post': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}, 'put': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}, 'get': {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/custom-json-response': {'get': {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}}}, '/blob-response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}}}, '/binary-response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}}}, '/query-params-as-kwargs': {'get': {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}}}, '/text-request': {'post': {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}}}, '/param-sanitization': {'post': {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}}}, '/body-sanitization': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}}, '/body-sanitization-additional-properties': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}}}, '/body-sanitization-additional-properties-defined': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}}}, '/body-not-allowed-additional-properties': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}}}, '/get_non_conforming_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}}}, '/post_wrong_content_type': {'post': {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}}}, '/get_unicode_request': {'get': {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}}}, '/get_unicode_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}}}, '/get_enum_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}}, '/get_httpstatus_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}}, '/get_bad_default_response/{response_code}': {'get': {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}}}, '/forward': {'post': {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'image_version': {'type': 'string', 'description': 'Docker image version to deploy'}}, 'required': ['image_version']} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'int', 'in': 'query', 'type': 'integer'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'bool', 'in': 'query', 'type': 'boolean'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'int', 'in': 'query', 'type': 'integer'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'bool', 'in': 'query', 'type': 'boolean'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'n', 'in': 'query', 'type': 'number', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'n', 'in': 'query', 'type': 'number', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'simple', 'type': 'string', 'in': 'query', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'simple', 'type': 'string', 'in': 'query', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'parameters': [{'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True}], 'get': {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'parameters': [{'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True}], 'get': {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}, 'put': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}, 'get': {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}, 'put': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}, 'get': {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'name': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'name': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'price', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'price', 'in': 'query', 'type': 'string'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'type': 'object'} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {} | |
DEBUG:openapi_spec_validator.validators:Dereferencing {} | |
DEBUG:connexion.apis.abstract:Read specification | |
DEBUG:connexion.apis.abstract:Options Loaded | |
DEBUG:connexion.apis.sanic_api:Creating API blueprint: /v1.0 | |
DEBUG:connexion.apis.abstract:Security Definitions: {'api_key': {'type': 'apiKey', 'name': 'apikey', 'in': 'query', 'x-apikeyInfoFunc': 'fakeapi.sanic_handlers.apikey_info'}} | |
DEBUG:connexion.apis.abstract:Validate Responses: False | |
DEBUG:connexion.apis.abstract:Strict Request Validation: False | |
DEBUG:connexion.apis.abstract:Pythonic params: False | |
DEBUG:connexion.apis.abstract:pass_context_arg_name: None | |
DEBUG:connexion.apis.sanic_api:Adding spec json: /v1.0//swagger.json | |
DEBUG:connexion.apis.sanic_api:Adding spec yaml: /v1.0//swagger.yaml | |
DEBUG:connexion.apis.sanic_api:Adding swagger-ui: /v1.0/ui/ | |
DEBUG:connexion.apis.abstract:Adding /v1.0/greeting/{name}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'greeting response', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.post_greeting | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104fbf940>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/greeting/{name}' -> '/greeting/<name>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/greeting/{name}/{remainder}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.post_greeting_url | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104ff9820>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/greeting/{name}/{remainder}' -> '/greeting/<name>/<remainder>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/greetings/{name}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'greeting response', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/x.connexion+json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_greetings | |
DEBUG:connexion.operations.abstract:... Produces: ['application/x.connexion+json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051e35e0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/greetings/{name}' -> '/greetings/<name>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/bye/{name}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['text/plain'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_bye | |
DEBUG:connexion.operations.abstract:... Produces: ['text/plain'] | |
DEBUG:connexion.operations.abstract:... Produces text/plain | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<Produces: text/plain>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/bye/{name}' -> '/bye/<name>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/flask_response_tuple... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'json response', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_flask_response_tuple | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10503c0d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/flask_response_tuple' -> '/flask_response_tuple' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/list/{name}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_list | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10504a280>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/list/{name}' -> '/list/<name>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_no_content_response... | |
DEBUG:connexion.operations.swagger2:{'204': {'description': 'No content returned'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_no_content_response | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105008b80>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_no_content_response' -> '/test_no_content_response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/multimime... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json', 'application/xml'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.multimime | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json', 'application/xml'] | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<BaseSerializer: text/plain>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/multimime' -> '/multimime' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/empty... | |
DEBUG:connexion.operations.swagger2:{'204': {'description': 'empty'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.empty | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10502f280>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/empty' -> '/empty' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-redirect-endpoint... | |
DEBUG:connexion.operations.swagger2:{'302': {'description': '302 Found'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_redirect_endpoint | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105067310>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-redirect-endpoint' -> '/test-redirect-endpoint' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-redirect-response-endpoint... | |
DEBUG:connexion.operations.swagger2:{'302': {'description': '302 Found'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_redirect_response_endpoint | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10513fc10>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-redirect-response-endpoint' -> '/test-redirect-response-endpoint' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-default-object-body... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_default_object_body | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10513c9d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-default-object-body' -> '/test-default-object-body' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-default-integer-body... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_default_integer_body | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105157430>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-default-integer-body' -> '/test-default-integer-body' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-empty-object-body... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_empty_object_body | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051ef670>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-empty-object-body' -> '/test-empty-object-body' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/resolver-test/method... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.class_instance.test_method | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051f33a0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/resolver-test/method' -> '/resolver-test/method' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/resolver-test/classmethod... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.DummyClass.test_classmethod | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051fb9d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/resolver-test/classmethod' -> '/resolver-test/classmethod' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_parameter_validation... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_parameter_validation | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105201700>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_parameter_validation' -> '/test_parameter_validation' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_apikey_query_parameter_validation... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_apikey_query_parameter_validation | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105205700>) | |
DEBUG:connexion.operations.secure:... Security: [{'api_key': []}] | |
DEBUG:connexion.operations.abstract:... Adding security decorator (functools.partial(<bound method AbstractAsyncSecurityHandlerFactory.verify_security of <class 'connexion.security.sanic_security_handler_factory.SanicSecurityHandlerFactory'>>, [<function AbstractSecurityHandlerFactory.verify_api_key.<locals>.wrapper at 0x10520b310>], None)) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_apikey_query_parameter_validation' -> '/test_apikey_query_parameter_validation' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_required_query_param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_required_query_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051eb670>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_required_query_param' -> '/test_required_query_param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_array_csv_form_param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/x-www-form-urlencoded'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_array_csv_form_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052181f0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_array_csv_form_param' -> '/test_array_csv_form_param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_array_pipes_form_param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/x-www-form-urlencoded'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_array_pipes_form_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052233a0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_array_pipes_form_param' -> '/test_array_pipes_form_param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_array_csv_query_param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_array_csv_query_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052288b0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_array_csv_query_param' -> '/test_array_csv_query_param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_array_multi_query_param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_array_multi_query_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104fa58b0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_array_multi_query_param' -> '/test_array_multi_query_param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_array_pipes_query_param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_array_pipes_query_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104d890d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_array_pipes_query_param' -> '/test_array_pipes_query_param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test_array_unsupported_query_param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_array_unsupported_query_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104e123a0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test_array_unsupported_query_param' -> '/test_array_unsupported_query_param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-int-path/{someint}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_get_someint | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052365e0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-int-path/{someint}' -> '/test-int-path/<someint>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-float-path/{somefloat}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_get_somefloat | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105256d30>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-float-path/{somefloat}' -> '/test-float-path/<somefloat>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-default-query-parameter... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_default_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052561f0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-default-query-parameter' -> '/test-default-query-parameter' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-falsy-param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_falsy_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052e34c0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-falsy-param' -> '/test-falsy-param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-formData-param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/x-www-form-urlencoded'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_formdata_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10504d430>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-formData-param' -> '/test-formData-param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-formData-missing-param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_formdata_missing_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104fd2f70>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-formData-missing-param' -> '/test-formData-missing-param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-formData-file-upload... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['multipart/form-data'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_formdata_file_upload | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105071940>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-formData-file-upload' -> '/test-formData-file-upload' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-formData-file-upload-missing-param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['multipart/form-data'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_formdata_file_upload_missing_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052ea040>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-formData-file-upload-missing-param' -> '/test-formData-file-upload-missing-param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-bool-param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_bool_default_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052ee4c0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-bool-param' -> '/test-bool-param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-bool-array-param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_bool_array_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052f4670>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-bool-array-param' -> '/test-bool-array-param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-required-param... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_required_param | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053e9040>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-required-param' -> '/test-required-param' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/parameters-in-root-path... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.path_parameters_in_get_method | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053e9820>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/parameters-in-root-path' -> '/parameters-in-root-path' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/goodday/{name}... | |
DEBUG:connexion.operations.swagger2:{'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.post_goodday | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053ebf70>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/goodday/{name}' -> '/goodday/<name>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/goodday/noheader... | |
DEBUG:connexion.operations.swagger2:{'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.post_goodday_no_header | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053f1b80>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/goodday/noheader' -> '/goodday/noheader' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/goodevening/{name}... | |
DEBUG:connexion.operations.swagger2:{'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['text/plain'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.post_goodevening | |
DEBUG:connexion.operations.abstract:... Produces: ['text/plain'] | |
DEBUG:connexion.operations.abstract:... Produces text/plain | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<Produces: text/plain>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/goodevening/{name}' -> '/goodevening/<name>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-204-with-headers... | |
DEBUG:connexion.operations.swagger2:{'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_204_with_headers | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053f64c0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-204-with-headers' -> '/test-204-with-headers' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-204-with-headers-nocontent-obj... | |
DEBUG:connexion.operations.swagger2:{'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_nocontent_obj_with_headers | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053fc670>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-204-with-headers-nocontent-obj' -> '/test-204-with-headers-nocontent-obj' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/test-array-in-path/{names}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_array_in_path | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053fcaf0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/test-array-in-path/{names}' -> '/test-array-in-path/<names>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/nullable-parameters... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/x-www-form-urlencoded'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_nullable_param_post | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105401dc0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/nullable-parameters' -> '/nullable-parameters' | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding PUT -> fakeapi.sanic_handlers.test_nullable_param_put | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105405b80>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/nullable-parameters' -> '/nullable-parameters' | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_nullable_parameters | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10540b9d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/nullable-parameters' -> '/nullable-parameters' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/custom-json-response... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_custom_json_response | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054139d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/custom-json-response' -> '/custom-json-response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/blob-response... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/octet-stream'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_blob_data | |
DEBUG:connexion.operations.abstract:... Produces: ['application/octet-stream'] | |
DEBUG:connexion.operations.abstract:... Produces application/octet-stream | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<Produces: application/octet-stream>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/blob-response' -> '/blob-response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/binary-response... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/octet-stream'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_data_as_binary | |
DEBUG:connexion.operations.abstract:... Produces: ['application/octet-stream'] | |
DEBUG:connexion.operations.abstract:... Produces application/octet-stream | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<Produces: application/octet-stream>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/binary-response' -> '/binary-response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/query-params-as-kwargs... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.test_args_kwargs | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10541e3a0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/query-params-as-kwargs' -> '/query-params-as-kwargs' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/text-request... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['text/plain'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.get_data_as_text | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054263a0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/text-request' -> '/text-request' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/param-sanitization... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['multipart/form-data'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_param_sanitization | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10542aaf0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/param-sanitization' -> '/param-sanitization' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/body-sanitization... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_body_sanitization | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10542d670>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/body-sanitization' -> '/body-sanitization' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/body-sanitization-additional-properties... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_body_sanitization_additional_properties | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1050570d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/body-sanitization-additional-properties' -> '/body-sanitization-additional-properties' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/body-sanitization-additional-properties-defined... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105026f70>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/body-sanitization-additional-properties-defined' -> '/body-sanitization-additional-properties-defined' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/body-not-allowed-additional-properties... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.test_body_not_allowed_additional_properties | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105437dc0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/body-not-allowed-additional-properties' -> '/body-not-allowed-additional-properties' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/get_non_conforming_response... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_empty_dict | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10543d040>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/get_non_conforming_response' -> '/get_non_conforming_response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/post_wrong_content_type... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.post_wrong_content_type | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10543dc10>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/post_wrong_content_type' -> '/post_wrong_content_type' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/get_unicode_request... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'OK'}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: [] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_unicode_query | |
DEBUG:connexion.operations.abstract:... Produces: [] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105442dc0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/get_unicode_request' -> '/get_unicode_request' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/get_unicode_response... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_unicode_data | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105442af0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/get_unicode_response' -> '/get_unicode_response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/get_enum_response... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_enum_response | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054dd0d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/get_enum_response' -> '/get_enum_response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/get_httpstatus_response... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_httpstatus_response | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054e1e50>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/get_httpstatus_response' -> '/get_httpstatus_response' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/get_bad_default_response/{response_code}... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding GET -> fakeapi.sanic_handlers.get_bad_default_response | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054e70d0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/get_bad_default_response/{response_code}' -> '/get_bad_default_response/<response_code>' | |
DEBUG:connexion.apis.abstract:Adding /v1.0/forward... | |
DEBUG:connexion.operations.swagger2:{'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}} | |
DEBUG:connexion.operations.swagger2:consumes: ['application/json'] | |
DEBUG:connexion.operations.swagger2:produces: ['application/json'] | |
DEBUG:connexion.apis.sanic_api:... Adding POST -> fakeapi.sanic_handlers.forward | |
DEBUG:connexion.operations.abstract:... Produces: ['application/json'] | |
DEBUG:connexion.operations.abstract:... Produces json | |
DEBUG:connexion.operations.abstract:... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054e7ee0>) | |
DEBUG:connexion.operations.secure:... Security: None | |
DEBUG:connexion.operations.abstract:... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG:connexion.apis.sanic_api:... Replace '/forward' -> '/forward' | |
INFO:sanic.root:http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f | |
DEBUG:connexion.apis.sanic_api:Getting data and status code | |
DEBUG:connexion.decorators.validation:http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f validating parameters... | |
DEBUG:connexion.decorators.parameter:Function Arguments: ['request', '__hidden'] | |
DEBUG:connexion.operations.abstract:Query Parameter 'items' in function arguments | |
DEBUG:connexion.operations.abstract:items is a {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG:connexion.apis.abstract:Getting data and status code | |
DEBUG:connexion.apis.abstract:Prepared body and status code (200) | |
DEBUG:connexion.apis.abstract:Got framework response | |
INFO:sanic.access: | |
DEBUG:httpx._client:HTTP Request: GET http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f "HTTP/1.1 200 OK" | |
INFO:sanic.root:Starting worker [80437] | |
INFO:sanic.root:Stopping worker [80437] | |
INFO:sanic.root:Server Stopped | |
------------------------------ Captured log call ------------------------------- | |
DEBUG connexion.app:abstract.py:56 Root Path: . | |
DEBUG connexion.app:abstract.py:64 Specification directory: tests/fixtures/sanic | |
DEBUG connexion.app:abstract.py:67 Setting error handlers | |
DEBUG connexion.apis.abstract:abstract.py:69 Loading specification: tests/fixtures/sanic/swagger.yaml | |
DEBUG openapi_spec_validator.decorators:decorators.py:41 Attaching x-scope to {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'/greeting/{name}': {'post': {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}}, '/greeting/{name}/{remainder}': {'post': {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]}}, '/greetings/{name}': {'get': {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}}, '/bye/{name}': {'get': {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]}}, '/flask_response_tuple': {'get': {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}}}, '/list/{name}': {'get': {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]}}, '/test_no_content_response': {'get': {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}}}, '/multimime': {'get': {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}}}, '/empty': {'get': {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}}}, '/test-redirect-endpoint': {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}}}, '/test-redirect-response-endpoint': {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}}}, '/test-default-object-body': {'post': {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}}}, '/test-default-integer-body': {'post': {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}}}, '/test-empty-object-body': {'post': {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}}}, '/resolver-test/method': {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}}}, '/resolver-test/classmethod': {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}}}, '/test_parameter_validation': {'get': {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_apikey_query_parameter_validation': {'get': {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}}}, '/test_required_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_csv_form_param': {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_pipes_form_param': {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_csv_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_multi_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_pipes_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}}, '/test_array_unsupported_query_param': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}}}, '/test-int-path/{someint}': {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-float-path/{somefloat}': {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-default-query-parameter': {'get': {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}}}, '/test-falsy-param': {'get': {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-param': {'post': {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-missing-param': {'post': {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-file-upload': {'post': {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-formData-file-upload-missing-param': {'post': {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/test-bool-param': {'get': {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}}}, '/test-bool-array-param': {'get': {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}}}, '/test-required-param': {'get': {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/parameters-in-root-path': {'parameters': [{'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True}], 'get': {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}}}, '/goodday/{name}': {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}}, '/goodday/noheader': {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}}}, '/goodevening/{name}': {'post': {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]}}, '/test-204-with-headers': {'get': {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}}, '/test-204-with-headers-nocontent-obj': {'get': {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}}, '/test-array-in-path/{names}': {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}}}, '/nullable-parameters': {'post': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}, 'put': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}, 'get': {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}}, '/custom-json-response': {'get': {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}}}, '/blob-response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}}}, '/binary-response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}}}, '/query-params-as-kwargs': {'get': {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}}}, '/text-request': {'post': {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}}}, '/param-sanitization': {'post': {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}}}, '/body-sanitization': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}}, '/body-sanitization-additional-properties': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}}}, '/body-sanitization-additional-properties-defined': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}}}, '/body-not-allowed-additional-properties': {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}}}, '/get_non_conforming_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}}}, '/post_wrong_content_type': {'post': {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}}}, '/get_unicode_request': {'get': {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}}}, '/get_unicode_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}}}, '/get_enum_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}}, '/get_httpstatus_response': {'get': {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}}, '/get_bad_default_response/{response_code}': {'get': {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}}}, '/forward': {'post': {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate greeting', 'description': 'Generates a greeting message.', 'operationId': 'fakeapi.sanic_handlers.post_greeting', 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate greeting and collect the remainder of the url', 'description': 'Generates a greeting message and includes the rest of the url.', 'operationId': 'fakeapi.sanic_handlers.post_greeting_url', 'responses': {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}, {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'}]} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'remainder', 'in': 'path', 'description': 'the rest of the url', 'required': True, 'type': 'string', 'format': 'path'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate greeting', 'description': 'Generates a greeting message with custom mimetype', 'operationId': 'fakeapi.sanic_handlers.get_greetings', 'produces': ['application/x.connexion+json'], 'responses': {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate goodbye', 'description': 'Generates a goodbye message.', 'operationId': 'fakeapi.sanic_handlers.get_bye', 'produces': ['text/plain'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'}]} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say bye.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Return flask response tuple', 'description': 'Test returning a flask response tuple', 'operationId': 'fakeapi.sanic_handlers.get_flask_response_tuple', 'produces': ['application/json'], 'responses': {'200': {'description': 'json response', 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate a greeting in a list', 'description': 'Generate a greeting in a list', 'operationId': 'fakeapi.sanic_handlers.get_list', 'produces': ['application/json'], 'responses': {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'}]} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say hello to.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_no_content_response', 'responses': {'204': {'description': 'No content returned'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Has multiple content types', 'description': 'Has multiple content types', 'operationId': 'fakeapi.sanic_handlers.multimime', 'produces': ['application/json', 'application/xml'], 'responses': {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Returns empty response', 'description': 'Returns empty response', 'operationId': 'fakeapi.sanic_handlers.empty', 'produces': ['application/json'], 'responses': {'204': {'description': 'empty'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_endpoint', 'responses': {'302': {'description': '302 Found'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Tests handlers returning flask.Response objects', 'operationId': 'fakeapi.sanic_handlers.test_redirect_response_endpoint', 'responses': {'302': {'description': '302 Found'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test if default object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'image_version': {'type': 'string', 'description': 'Docker image version to deploy'}}, 'required': ['image_version']} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'$ref': '#/definitions/new_stack', 'default': {'image_version': 'default_image'}, 'x-scope': ['']}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test if default integer body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_default_integer_body', 'parameters': [{'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'stack_version', 'in': 'body', 'schema': {'type': 'integer', 'format': 'int32', 'example': 1, 'default': 1}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test if empty object body param is passed to handler.', 'operationId': 'fakeapi.sanic_handlers.test_empty_object_body', 'parameters': [{'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'stack', 'in': 'body', 'schema': {'type': 'object'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.class_instance.test_method', 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test class instance method', 'operationId': 'fakeapi.sanic_handlers.DummyClass.test_classmethod', 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_parameter_validation', 'parameters': [{'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'}, {'name': 'int', 'in': 'query', 'type': 'integer'}, {'name': 'bool', 'in': 'query', 'type': 'boolean'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'int', 'in': 'query', 'type': 'integer'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'bool', 'in': 'query', 'type': 'boolean'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'date', 'in': 'query', 'type': 'string', 'format': 'date'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'int', 'in': 'query', 'type': 'integer'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'bool', 'in': 'query', 'type': 'boolean'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_apikey_query_parameter_validation', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string'}], 'security': [{'api_key': []}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_required_query_param', 'parameters': [{'name': 'n', 'in': 'query', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'n', 'in': 'query', 'type': 'number', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'n', 'in': 'query', 'type': 'number', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_csv_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_form_param', 'consumes': ['application/x-www-form-urlencoded'], 'parameters': [{'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'formData', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_csv_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_multi_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'multi'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_pipes_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'integer'}, 'collectionFormat': 'pipes'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_unsupported_query_param', 'parameters': [{'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'items', 'in': 'query', 'description': 'An pipe separated array of items', 'required': True, 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'tsv'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_someint', 'parameters': [{'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'someint', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test type casting of path parameter', 'operationId': 'fakeapi.sanic_handlers.test_get_somefloat', 'parameters': [{'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'somefloat', 'in': 'path', 'type': 'number', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test if default parameter is passed to function', 'operationId': 'fakeapi.sanic_handlers.test_default_param', 'parameters': [{'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'query', 'type': 'string', 'default': 'connexion'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test if default value when argument is falsy.', 'operationId': 'fakeapi.sanic_handlers.test_falsy_param', 'parameters': [{'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'falsy', 'type': 'integer', 'in': 'query', 'default': 1} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'consumes': ['application/x-www-form-urlencoded'], 'summary': 'Test formData parameter', 'operationId': 'fakeapi.sanic_handlers.test_formdata_param', 'parameters': [{'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test formData missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_missing_param', 'parameters': [{'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'missing_formData', 'type': 'string', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test formData with file type, for file upload', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test formData with file type, missing parameter in handler', 'operationId': 'fakeapi.sanic_handlers.test_formdata_file_upload_missing_param', 'consumes': ['multipart/form-data'], 'parameters': [{'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'missing_formData', 'type': 'file', 'in': 'formData', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test usage of boolean default value', 'operationId': 'fakeapi.sanic_handlers.test_bool_default_param', 'parameters': [{'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'thruthiness', 'type': 'boolean', 'in': 'query', 'default': False} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test usage of an array of booleans value', 'operationId': 'fakeapi.sanic_handlers.test_bool_array_param', 'parameters': [{'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'thruthiness', 'in': 'query', 'type': 'array', 'items': {'type': 'boolean'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test required param without default value', 'operationId': 'fakeapi.sanic_handlers.test_required_param', 'parameters': [{'name': 'simple', 'type': 'string', 'in': 'query', 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'simple', 'type': 'string', 'in': 'query', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'simple', 'type': 'string', 'in': 'query', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'parameters': [{'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True}], 'get': {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'parameters': [{'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True}], 'get': {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test the method GET with parameter from path', 'operationId': 'fakeapi.sanic_handlers.path_parameters_in_get_method', 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'in': 'query', 'name': 'title', 'type': 'string', 'description': 'Some parameter in the path', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'}]} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to greet.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate good day greeting', 'description': 'Generates a good day message.', 'operationId': 'fakeapi.sanic_handlers.post_goodday_no_header', 'responses': {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Generate good evening', 'description': 'Generates a good evening message.', 'operationId': 'fakeapi.sanic_handlers.post_goodevening', 'produces': ['text/plain'], 'responses': {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}}, 'parameters': [{'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'}]} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'name', 'in': 'path', 'description': 'Name of the person to say good evening.', 'required': True, 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Tests that response code 204 can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_204_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Tests that response code 204 using NoContent obj can have headers set', 'operationId': 'fakeapi.sanic_handlers.test_nocontent_obj_with_headers', 'responses': {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_array_in_path', 'produces': ['application/json'], 'parameters': [{'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'}], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'names', 'description': 'List of names.', 'in': 'path', 'type': 'array', 'items': {'type': 'string'}, 'required': True, 'collectionFormat': 'csv'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}, 'put': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}, 'get': {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}, 'put': {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}, 'get': {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_post', 'consumes': ['application/x-www-form-urlencoded'], 'produces': ['application/json'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'formData', 'type': 'number', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_nullable_param_put', 'produces': ['application/json'], 'parameters': [{'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'name': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'name': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'contents', 'description': 'Just a testing parameter.', 'in': 'body', 'x-nullable': True, 'required': True, 'schema': {'type': 'object', 'properties': {'name': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_nullable_parameters', 'produces': ['application/json'], 'parameters': [{'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'time_start', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'integer', 'format': 'int32', 'x-nullable': True, 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_custom_json_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_blob_data', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_data_as_binary', 'produces': ['application/octet-stream'], 'responses': {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_args_kwargs', 'produces': ['application/json'], 'parameters': [{'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'foo', 'description': 'Just a testing parameter.', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_data_as_text', 'consumes': ['text/plain'], 'parameters': [{'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'post_param', 'description': 'Just a testing parameter.', 'in': 'body', 'required': True, 'schema': {'type': 'string'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_param_sanitization', 'consumes': ['multipart/form-data'], 'produces': ['application/json'], 'parameters': [{'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'}, {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'}], 'responses': {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$query', 'description': 'Just a testing parameter with an invalid Python name', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$form', 'description': 'Just a testing parameter in the form data', 'in': 'formData', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': True}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.test_body_not_allowed_additional_properties', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}}, 'additionalProperties': False}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_empty_dict', 'responses': {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.post_wrong_content_type', 'consumes': ['application/json'], 'parameters': [{'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}}], 'responses': {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': '$body', 'description': 'Just a testing parameter in the body', 'in': 'body', 'required': True, 'schema': {'type': 'object', 'properties': {'body1': {'type': 'string'}, 'body2': {'type': 'string'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'summary': 'Test if a unicode string in query parameter works properly in Python 2', 'operationId': 'fakeapi.sanic_handlers.get_unicode_query', 'parameters': [{'name': 'price', 'in': 'query', 'type': 'string'}], 'responses': {'200': {'description': 'OK'}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'price', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'price', 'in': 'query', 'type': 'string'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_unicode_data', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_enum_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_httpstatus_response', 'produces': ['application/json'], 'responses': {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'get': {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.get_bad_default_response', 'produces': ['application/json'], 'parameters': [{'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True}], 'responses': {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'response_code', 'in': 'path', 'type': 'integer', 'required': True} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'post': {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'operationId': 'fakeapi.sanic_handlers.forward', 'consumes': ['application/json'], 'produces': ['application/json'], 'parameters': [{'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}}], 'responses': {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'type': 'object'} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {'name': 'body', 'in': 'body', 'required': True, 'schema': {'type': 'object'}} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {} | |
DEBUG openapi_spec_validator.validators:validators.py:30 Dereferencing {} | |
DEBUG connexion.apis.abstract:abstract.py:78 Read specification | |
DEBUG connexion.apis.abstract:abstract.py:82 Options Loaded | |
DEBUG connexion.apis.sanic_api:sanic_api.py:88 Creating API blueprint: /v1.0 | |
DEBUG connexion.apis.abstract:abstract.py:89 Security Definitions: {'api_key': {'type': 'apiKey', 'name': 'apikey', 'in': 'query', 'x-apikeyInfoFunc': 'fakeapi.sanic_handlers.apikey_info'}} | |
DEBUG connexion.apis.abstract:abstract.py:93 Validate Responses: False | |
DEBUG connexion.apis.abstract:abstract.py:96 Strict Request Validation: False | |
DEBUG connexion.apis.abstract:abstract.py:99 Pythonic params: False | |
DEBUG connexion.apis.abstract:abstract.py:102 pass_context_arg_name: None | |
DEBUG connexion.apis.sanic_api:sanic_api.py:121 Adding spec json: /v1.0//swagger.json | |
DEBUG connexion.apis.sanic_api:sanic_api.py:147 Adding spec yaml: /v1.0//swagger.yaml | |
DEBUG connexion.apis.sanic_api:sanic_api.py:165 Adding swagger-ui: /v1.0/ui/ | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/greeting/{name}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.post_greeting | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104fbf940>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/greeting/{name}' -> '/greeting/<name>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/greeting/{name}/{remainder}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'greeting response with url', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.post_greeting_url | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104ff9820>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/greeting/{name}/{remainder}' -> '/greeting/<name>/<remainder>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/greetings/{name}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'greeting response', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/x.connexion+json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_greetings | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/x.connexion+json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051e35e0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/greetings/{name}' -> '/greetings/<name>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/bye/{name}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}, 'default': {'description': 'unexpected error'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['text/plain'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_bye | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['text/plain'] | |
DEBUG connexion.operations.abstract:abstract.py:406 ... Produces text/plain | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<Produces: text/plain>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/bye/{name}' -> '/bye/<name>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/flask_response_tuple... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'json response', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_flask_response_tuple | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10503c0d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/flask_response_tuple' -> '/flask_response_tuple' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/list/{name}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'a greeting in a list', 'schema': {'type': 'array', 'items': {'type': 'string'}}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_list | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10504a280>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/list/{name}' -> '/list/<name>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_no_content_response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'204': {'description': 'No content returned'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_no_content_response | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105008b80>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_no_content_response' -> '/test_no_content_response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/multimime... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'goodbye response', 'schema': {'type': 'string'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json', 'application/xml'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.multimime | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json', 'application/xml'] | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<BaseSerializer: text/plain>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/multimime' -> '/multimime' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/empty... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'204': {'description': 'empty'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.empty | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10502f280>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/empty' -> '/empty' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-redirect-endpoint... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'302': {'description': '302 Found'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_redirect_endpoint | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105067310>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-redirect-endpoint' -> '/test-redirect-endpoint' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-redirect-response-endpoint... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'302': {'description': '302 Found'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_redirect_response_endpoint | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10513fc10>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-redirect-response-endpoint' -> '/test-redirect-response-endpoint' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-default-object-body... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_default_object_body | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10513c9d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-default-object-body' -> '/test-default-object-body' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-default-integer-body... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_default_integer_body | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105157430>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-default-integer-body' -> '/test-default-integer-body' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-empty-object-body... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_empty_object_body | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051ef670>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-empty-object-body' -> '/test-empty-object-body' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/resolver-test/method... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.class_instance.test_method | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051f33a0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/resolver-test/method' -> '/resolver-test/method' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/resolver-test/classmethod... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.DummyClass.test_classmethod | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051fb9d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/resolver-test/classmethod' -> '/resolver-test/classmethod' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_parameter_validation... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_parameter_validation | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105201700>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_parameter_validation' -> '/test_parameter_validation' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_apikey_query_parameter_validation... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_apikey_query_parameter_validation | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105205700>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: [{'api_key': []}] | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (functools.partial(<bound method AbstractAsyncSecurityHandlerFactory.verify_security of <class 'connexion.security.sanic_security_handler_factory.SanicSecurityHandlerFactory'>>, [<function AbstractSecurityHandlerFactory.verify_api_key.<locals>.wrapper at 0x10520b310>], None)) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_apikey_query_parameter_validation' -> '/test_apikey_query_parameter_validation' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_required_query_param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_required_query_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1051eb670>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_required_query_param' -> '/test_required_query_param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_array_csv_form_param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/x-www-form-urlencoded'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_array_csv_form_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052181f0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_array_csv_form_param' -> '/test_array_csv_form_param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_array_pipes_form_param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/x-www-form-urlencoded'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_array_pipes_form_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052233a0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_array_pipes_form_param' -> '/test_array_pipes_form_param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_array_csv_query_param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_array_csv_query_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052288b0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_array_csv_query_param' -> '/test_array_csv_query_param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_array_multi_query_param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_array_multi_query_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104fa58b0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_array_multi_query_param' -> '/test_array_multi_query_param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_array_pipes_query_param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_array_pipes_query_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104d890d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_array_pipes_query_param' -> '/test_array_pipes_query_param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test_array_unsupported_query_param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_array_unsupported_query_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104e123a0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test_array_unsupported_query_param' -> '/test_array_unsupported_query_param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-int-path/{someint}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_get_someint | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052365e0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-int-path/{someint}' -> '/test-int-path/<someint>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-float-path/{somefloat}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_get_somefloat | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105256d30>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-float-path/{somefloat}' -> '/test-float-path/<somefloat>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-default-query-parameter... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_default_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052561f0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-default-query-parameter' -> '/test-default-query-parameter' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-falsy-param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_falsy_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052e34c0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-falsy-param' -> '/test-falsy-param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-formData-param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/x-www-form-urlencoded'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_formdata_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10504d430>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-formData-param' -> '/test-formData-param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-formData-missing-param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_formdata_missing_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x104fd2f70>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-formData-missing-param' -> '/test-formData-missing-param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-formData-file-upload... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['multipart/form-data'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_formdata_file_upload | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105071940>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-formData-file-upload' -> '/test-formData-file-upload' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-formData-file-upload-missing-param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['multipart/form-data'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_formdata_file_upload_missing_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052ea040>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-formData-file-upload-missing-param' -> '/test-formData-file-upload-missing-param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-bool-param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_bool_default_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052ee4c0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-bool-param' -> '/test-bool-param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-bool-array-param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_bool_array_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1052f4670>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-bool-array-param' -> '/test-bool-array-param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-required-param... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_required_param | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053e9040>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-required-param' -> '/test-required-param' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/parameters-in-root-path... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.path_parameters_in_get_method | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053e9820>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/parameters-in-root-path' -> '/parameters-in-root-path' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/goodday/{name}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.post_goodday | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053ebf70>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/goodday/{name}' -> '/goodday/<name>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/goodday/noheader... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'201': {'description': 'gooday response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.post_goodday_no_header | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053f1b80>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/goodday/noheader' -> '/goodday/noheader' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/goodevening/{name}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'201': {'description': 'goodevening response', 'headers': {'Location': {'type': 'string', 'description': 'The URI of the created resource'}}, 'schema': {'type': 'string'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['text/plain'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.post_goodevening | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['text/plain'] | |
DEBUG connexion.operations.abstract:abstract.py:406 ... Produces text/plain | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<Produces: text/plain>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/goodevening/{name}' -> '/goodevening/<name>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-204-with-headers... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_204_with_headers | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053f64c0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-204-with-headers' -> '/test-204-with-headers' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-204-with-headers-nocontent-obj... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'204': {'headers': {'X-Something': {'description': 'A value that might be send in the response', 'type': 'string'}}, 'description': '204 no content'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_nocontent_obj_with_headers | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053fc670>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-204-with-headers-nocontent-obj' -> '/test-204-with-headers-nocontent-obj' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/test-array-in-path/{names}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK', 'schema': {'type': 'array', 'items': {'type': 'string'}}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_array_in_path | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1053fcaf0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/test-array-in-path/{names}' -> '/test-array-in-path/<names>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/nullable-parameters... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/x-www-form-urlencoded'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_nullable_param_post | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105401dc0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/nullable-parameters' -> '/nullable-parameters' | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding PUT -> fakeapi.sanic_handlers.test_nullable_param_put | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105405b80>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/nullable-parameters' -> '/nullable-parameters' | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_nullable_parameters | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10540b9d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/nullable-parameters' -> '/nullable-parameters' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/custom-json-response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK', 'schema': {'type': 'object', 'properties': {'theResult': {'type': 'string', 'description': 'the number we wanna test'}}}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_custom_json_response | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054139d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/custom-json-response' -> '/custom-json-response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/blob-response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Some blob response', 'schema': {'type': 'string', 'format': 'binary'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/octet-stream'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_blob_data | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/octet-stream'] | |
DEBUG connexion.operations.abstract:abstract.py:406 ... Produces application/octet-stream | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<Produces: application/octet-stream>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/blob-response' -> '/blob-response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/binary-response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Everything is ok', 'schema': {'type': 'string'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/octet-stream'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_data_as_binary | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/octet-stream'] | |
DEBUG connexion.operations.abstract:abstract.py:406 ... Produces application/octet-stream | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<Produces: application/octet-stream>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/binary-response' -> '/binary-response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/query-params-as-kwargs... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Return kwargs', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.test_args_kwargs | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10541e3a0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/query-params-as-kwargs' -> '/query-params-as-kwargs' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/text-request... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['text/plain'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.get_data_as_text | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054263a0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/text-request' -> '/text-request' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/param-sanitization... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Return parameters', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['multipart/form-data'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_param_sanitization | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10542aaf0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/param-sanitization' -> '/param-sanitization' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/body-sanitization... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_body_sanitization | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10542d670>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/body-sanitization' -> '/body-sanitization' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/body-sanitization-additional-properties... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_body_sanitization_additional_properties | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1050570d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/body-sanitization-additional-properties' -> '/body-sanitization-additional-properties' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/body-sanitization-additional-properties-defined... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_body_sanitization_additional_properties_defined | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105026f70>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/body-sanitization-additional-properties-defined' -> '/body-sanitization-additional-properties-defined' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/body-not-allowed-additional-properties... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.test_body_not_allowed_additional_properties | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105437dc0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/body-not-allowed-additional-properties' -> '/body-not-allowed-additional-properties' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/get_non_conforming_response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK', 'schema': {'type': 'object', 'required': ['some'], 'properties': {'some': {'type': 'string'}}}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_empty_dict | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10543d040>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/get_non_conforming_response' -> '/get_non_conforming_response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/post_wrong_content_type... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}, '215': {'description': 'NOT-OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.post_wrong_content_type | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x10543dc10>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/post_wrong_content_type' -> '/post_wrong_content_type' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/get_unicode_request... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'OK'}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: [] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_unicode_query | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: [] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105442dc0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/get_unicode_request' -> '/get_unicode_request' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/get_unicode_response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Some unicode response', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_unicode_data | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x105442af0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/get_unicode_response' -> '/get_unicode_response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/get_enum_response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_enum_response | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054dd0d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/get_enum_response' -> '/get_enum_response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/get_httpstatus_response... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Some HTTPStatus response', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_httpstatus_response | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054e1e50>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/get_httpstatus_response' -> '/get_httpstatus_response' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/get_bad_default_response/{response_code}... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'Some object response', 'schema': {'type': 'object'}}, 'default': {'description': 'Some array response', 'schema': {'type': 'array', 'items': {'type': 'integer'}}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding GET -> fakeapi.sanic_handlers.get_bad_default_response | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054e70d0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/get_bad_default_response/{response_code}' -> '/get_bad_default_response/<response_code>' | |
DEBUG connexion.apis.abstract:abstract.py:211 Adding /v1.0/forward... | |
DEBUG connexion.operations.swagger2:swagger2.py:115 {'200': {'description': 'The response containing the same data as were present in request body.\n', 'schema': {'type': 'object'}}} | |
DEBUG connexion.operations.swagger2:swagger2.py:117 consumes: ['application/json'] | |
DEBUG connexion.operations.swagger2:swagger2.py:118 produces: ['application/json'] | |
DEBUG connexion.apis.sanic_api:sanic_api.py:257 ... Adding POST -> fakeapi.sanic_handlers.forward | |
DEBUG connexion.operations.abstract:abstract.py:397 ... Produces: ['application/json'] | |
DEBUG connexion.operations.abstract:abstract.py:401 ... Produces json | |
DEBUG connexion.operations.abstract:abstract.py:358 ... Adding produces decorator (<function AbstractOperation.__content_type_decorator.<locals>.<lambda> at 0x1054e7ee0>) | |
DEBUG connexion.operations.secure:secure.py:69 ... Security: None | |
DEBUG connexion.operations.abstract:abstract.py:369 ... Adding security decorator (<function AbstractSecurityHandlerFactory.security_passthrough at 0x1040a89d0>) | |
DEBUG connexion.apis.sanic_api:sanic_api.py:264 ... Replace '/forward' -> '/forward' | |
INFO sanic.root:testing.py:39 http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f | |
DEBUG connexion.apis.sanic_api:sanic_api.py:280 Getting data and status code | |
DEBUG connexion.decorators.validation:validation.py:352 http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f validating parameters... | |
DEBUG connexion.decorators.parameter:parameter.py:86 Function Arguments: ['request', '__hidden'] | |
DEBUG connexion.operations.abstract:abstract.py:193 Query Parameter 'items' in function arguments | |
DEBUG connexion.operations.abstract:abstract.py:199 items is a {'name': 'items', 'in': 'query', 'description': 'An comma separated array of items', 'type': 'array', 'items': {'type': 'string'}, 'collectionFormat': 'csv', 'default': ['squash', 'banana']} | |
DEBUG connexion.apis.abstract:abstract.py:275 Getting data and status code | |
DEBUG connexion.apis.abstract:abstract.py:417 Prepared body and status code (200) | |
DEBUG connexion.apis.abstract:abstract.py:287 Got framework response | |
INFO sanic.access:server.py:497 | |
DEBUG httpx._client:_client.py:1524 HTTP Request: GET http://127.0.0.1:49187/v1.0/test_array_csv_query_param?items=a,b,c&items=d,e,f "HTTP/1.1 200 OK" | |
INFO sanic.root:server.py:911 Starting worker [80437] | |
INFO sanic.root:server.py:914 Stopping worker [80437] | |
INFO sanic.root:app.py:1140 Server Stopped | |
=============================== warnings summary =============================== | |
venv/lib/python3.8/site-packages/Flask-1.1.2-py3.8.egg/flask/json/__init__.py:31 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/Flask-1.1.2-py3.8.egg/flask/json/__init__.py:31: DeprecationWarning: Importing 'itsdangerous.json' is deprecated and will be removed in 2.1. Use Python's 'json' module instead. | |
_slash_escape = "\\/" not in _json.dumps("/") | |
venv/lib/python3.8/site-packages/Flask-1.1.2-py3.8.egg/flask/json/__init__.py:61 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/Flask-1.1.2-py3.8.egg/flask/json/__init__.py:61: DeprecationWarning: Importing 'itsdangerous.json' is deprecated and will be removed in 2.1. Use Python's 'json' module instead. | |
class JSONEncoder(_json.JSONEncoder): | |
venv/lib/python3.8/site-packages/Flask-1.1.2-py3.8.egg/flask/json/__init__.py:103 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/Flask-1.1.2-py3.8.egg/flask/json/__init__.py:103: DeprecationWarning: Importing 'itsdangerous.json' is deprecated and will be removed in 2.1. Use Python's 'json' module instead. | |
class JSONDecoder(_json.JSONDecoder): | |
venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:4 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:4: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated since Python 3.3, and in 3.9 it will stop working | |
from collections import Mapping | |
venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:109 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:109: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead | |
def context_processors_middleware(request, handler): | |
venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:119 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:119: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead | |
def request_processor(request): | |
venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:84 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/aiohttp_jinja2/__init__.py:84: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead | |
def wrapped(*args): | |
venv/lib/python3.8/site-packages/aiofiles/os.py:10 | |
venv/lib/python3.8/site-packages/aiofiles/os.py:10 | |
venv/lib/python3.8/site-packages/aiofiles/os.py:10 | |
venv/lib/python3.8/site-packages/aiofiles/os.py:10 | |
venv/lib/python3.8/site-packages/aiofiles/os.py:10 | |
venv/lib/python3.8/site-packages/aiofiles/os.py:10 | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/aiofiles/os.py:10: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead | |
def run(*args, loop=None, executor=None, **kwargs): | |
tests/sanic/test_sanic_bootstrap.py: 2502 warnings | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/connexion-2020.0.dev1-py3.8.egg/connexion/decorators/coroutine_wrappers.py:32: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead | |
return asyncio.coroutine(wrapper) | |
tests/sanic/test_sanic_bootstrap.py: 139 warnings | |
/Users/kigawas/works/py/connexion/venv/lib/python3.8/site-packages/connexion-2020.0.dev1-py3.8.egg/connexion/decorators/coroutine_wrappers.py:53: DeprecationWarning: "@coroutine" decorator is deprecated since Python 3.8, use "async def" instead | |
return asyncio.coroutine(wrapper) | |
-- Docs: https://docs.pytest.org/en/stable/warnings.html | |
=========================== short test summary info ============================ | |
FAILED tests/sanic/test_sanic_bootstrap.py::test_app_with_different_uri_parser | |
================= 1 failed, 42 passed, 2654 warnings in 10.97s ================= |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment