From 3269e6a95c2f5afc01d92bd685941a4bb4852e13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Sat, 22 Dec 2018 08:47:44 +0400 Subject: [PATCH] :white_check_mark: Test custom responses --- .../test_custom_response/__init__.py | 0 .../test_custom_response/test_tutorial001.py | 36 ++++++++++++++ .../test_custom_response/test_tutorial004.py | 47 +++++++++++++++++++ 3 files changed, 83 insertions(+) create mode 100644 tests/test_tutorial/test_custom_response/__init__.py create mode 100644 tests/test_tutorial/test_custom_response/test_tutorial001.py create mode 100644 tests/test_tutorial/test_custom_response/test_tutorial004.py diff --git a/tests/test_tutorial/test_custom_response/__init__.py b/tests/test_tutorial/test_custom_response/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/test_tutorial/test_custom_response/test_tutorial001.py b/tests/test_tutorial/test_custom_response/test_tutorial001.py new file mode 100644 index 000000000..7801326f8 --- /dev/null +++ b/tests/test_tutorial/test_custom_response/test_tutorial001.py @@ -0,0 +1,36 @@ +from starlette.testclient import TestClient + +from custom_response.tutorial001 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": {}}}, + } + }, + "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 + + +def test_get_custom_response(): + response = client.get("/items/") + assert response.status_code == 200 + assert response.json() == [{"item_id": "Foo"}] diff --git a/tests/test_tutorial/test_custom_response/test_tutorial004.py b/tests/test_tutorial/test_custom_response/test_tutorial004.py new file mode 100644 index 000000000..99431ea3f --- /dev/null +++ b/tests/test_tutorial/test_custom_response/test_tutorial004.py @@ -0,0 +1,47 @@ +from starlette.testclient import TestClient + +from custom_response.tutorial004 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": {"text/html": {"schema": {"type": "string"}}}, + } + }, + "summary": "Read Items Get", + "operationId": "read_items_items__get", + } + } + }, +} + +html_contents = """ + + + Some HTML in here + + +

Look ma! HTML!

+ + + """ + + +def test_openapi_scheme(): + response = client.get("/openapi.json") + assert response.status_code == 200 + assert response.json() == openapi_schema + + +def test_get_custom_response(): + response = client.get("/items/") + assert response.status_code == 200 + assert response.text == html_contents