From c64f8346ae500450a53b65d32561f93eac16b43e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Ram=C3=ADrez?= Date: Fri, 22 Mar 2019 21:47:54 +0400 Subject: [PATCH] :sparkles: Multi-value query parameters and duplicate headers (#95) * :memo: Document multi-value query parameters * :sparkles: Document and test multiple query values * :sparkles: Document receiving duplicate headers --- .../query-params-str-validations/image02.png | Bin 0 -> 72770 bytes docs/src/header_params/tutorial003.py | 10 ++ .../tutorial011.py | 11 +++ docs/tutorial/header-params.md | 33 +++++++ docs/tutorial/query-params-str-validations.md | 37 ++++++++ .../test_tutorial011.py | 88 ++++++++++++++++++ 6 files changed, 179 insertions(+) create mode 100644 docs/img/tutorial/query-params-str-validations/image02.png create mode 100644 docs/src/header_params/tutorial003.py create mode 100644 docs/src/query_params_str_validations/tutorial011.py create mode 100644 tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py diff --git a/docs/img/tutorial/query-params-str-validations/image02.png b/docs/img/tutorial/query-params-str-validations/image02.png new file mode 100644 index 0000000000000000000000000000000000000000..3851b88a27cc22e9a8f28ebc4516ca9f726c39a7 GIT binary patch literal 72770 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 + ## Declare more metadata You can add more information about the parameter. diff --git a/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py b/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py new file mode 100644 index 000000000..ff38574bc --- /dev/null +++ b/tests/test_tutorial/test_query_params_str_validations/test_tutorial011.py @@ -0,0 +1,88 @@ +from starlette.testclient import TestClient + +from query_params_str_validations.tutorial011 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": [ + { + "required": False, + "schema": { + "title": "Q", + "type": "array", + "items": {"type": "string"}, + }, + "name": "q", + "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_schema(): + response = client.get("/openapi.json") + assert response.status_code == 200 + assert response.json() == openapi_schema + + +def test_multi_query_values(): + url = "/items/?q=foo&q=bar" + response = client.get(url) + assert response.status_code == 200 + assert response.json() == {"q": ["foo", "bar"]}