From 6b9931f882534bb2967a3003c8d2c04e70013dd7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Sat, 22 Dec 2018 18:47:05 +0400 Subject: [PATCH] :white_check_mark: Add tests for metadata --- .../tutorial001.py | 0 .../tutorial002.py | 0 .../tutorial003.py | 0 docs/tutorial/application-configuration.md | 6 +- .../__init__.py | 0 .../test_tutorial001.py | 34 ++++++++ .../__init__.py | 0 .../test_tutorial001.py | 86 +++++++++++++++++++ 8 files changed, 123 insertions(+), 3 deletions(-) rename docs/src/{application-configuration => application_configuration}/tutorial001.py (100%) rename docs/src/{application-configuration => application_configuration}/tutorial002.py (100%) rename docs/src/{application-configuration => application_configuration}/tutorial003.py (100%) create mode 100644 tests/test_tutorial/test_application_configuration/__init__.py create mode 100644 tests/test_tutorial/test_application_configuration/test_tutorial001.py create mode 100644 tests/test_tutorial/test_query_params_str_validations/__init__.py create mode 100644 tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py diff --git a/docs/src/application-configuration/tutorial001.py b/docs/src/application_configuration/tutorial001.py similarity index 100% rename from docs/src/application-configuration/tutorial001.py rename to docs/src/application_configuration/tutorial001.py diff --git a/docs/src/application-configuration/tutorial002.py b/docs/src/application_configuration/tutorial002.py similarity index 100% rename from docs/src/application-configuration/tutorial002.py rename to docs/src/application_configuration/tutorial002.py diff --git a/docs/src/application-configuration/tutorial003.py b/docs/src/application_configuration/tutorial003.py similarity index 100% rename from docs/src/application-configuration/tutorial003.py rename to docs/src/application_configuration/tutorial003.py diff --git a/docs/tutorial/application-configuration.md b/docs/tutorial/application-configuration.md index f9e3b83f0..296c34272 100644 --- a/docs/tutorial/application-configuration.md +++ b/docs/tutorial/application-configuration.md @@ -1,13 +1,13 @@ Coming soon... ```Python -{!./src/application-configuration/tutorial001.py!} +{!./src/application_configuration/tutorial001.py!} ``` ```Python -{!./src/application-configuration/tutorial002.py!} +{!./src/application_configuration/tutorial002.py!} ``` ```Python -{!./src/application-configuration/tutorial003.py!} +{!./src/application_configuration/tutorial003.py!} ``` diff --git a/tests/test_tutorial/test_application_configuration/__init__.py b/tests/test_tutorial/test_application_configuration/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_tutorial/test_application_configuration/test_tutorial001.py b/tests/test_tutorial/test_application_configuration/test_tutorial001.py new file mode 100644 index 000000000..3f5b7fbda --- /dev/null +++ b/tests/test_tutorial/test_application_configuration/test_tutorial001.py @@ -0,0 +1,34 @@ +from starlette.testclient import TestClient + +from application_configuration.tutorial001 import app + +client = TestClient(app) + +openapi_schema = { + "openapi": "3.0.2", + "info": { + "title": "My Super Project", + "version": "2.5.0", + "description": "This is a very fancy project, with auto docs for the API and everything", + }, + "paths": { + "/items/": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": {"application/json": {"schema": {}}}, + } + }, + "summary": "Read Items Get", + "operationId": "read_items_items__get", + } + } + }, +} + + +def test_openapi_scheme(): + response = client.get("/openapi.json") + assert response.status_code == 200 + assert response.json() == openapi_schema diff --git a/tests/test_tutorial/test_query_params_str_validations/__init__.py b/tests/test_tutorial/test_query_params_str_validations/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py b/tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py new file mode 100644 index 000000000..5c8ecb242 --- /dev/null +++ b/tests/test_tutorial/test_query_params_str_validations/test_tutorial001.py @@ -0,0 +1,86 @@ +from starlette.testclient import TestClient + +from query_params_str_validations.tutorial010 import app + +client = TestClient(app) + +openapi_schema = { + "openapi": "3.0.2", + "info": {"title": "Fast API", "version": "0.1.0"}, + "paths": { + "/items/": { + "get": { + "responses": { + "200": { + "description": "Successful Response", + "content": {"application/json": {"schema": {}}}, + }, + "422": { + "description": "Validation Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + }, + }, + "summary": "Read Items Get", + "operationId": "read_items_items__get", + "parameters": [ + { + "description": "Query string for the items to search in the database that have a good match", + "required": False, + "deprecated": True, + "schema": { + "title": "Query string", + "maxLength": 50, + "minLength": 3, + "pattern": "^fixedquery$", + "type": "string", + "description": "Query string for the items to search in the database that have a good match", + }, + "name": "item-query", + "in": "query", + } + ], + } + } + }, + "components": { + "schemas": { + "ValidationError": { + "title": "ValidationError", + "required": ["loc", "msg", "type"], + "type": "object", + "properties": { + "loc": { + "title": "Location", + "type": "array", + "items": {"type": "string"}, + }, + "msg": {"title": "Message", "type": "string"}, + "type": {"title": "Error Type", "type": "string"}, + }, + }, + "HTTPValidationError": { + "title": "HTTPValidationError", + "type": "object", + "properties": { + "detail": { + "title": "Detail", + "type": "array", + "items": {"$ref": "#/components/schemas/ValidationError"}, + } + }, + }, + } + }, +} + + +def test_openapi_scheme(): + response = client.get("/openapi.json") + assert response.status_code == 200 + assert response.json() == openapi_schema