From c64f8346ae500450a53b65d32561f93eac16b43e Mon Sep 17 00:00:00 2001 From: =?utf8?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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 z 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 Vsq7{ + ## 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 0000000000..ff38574bcd --- /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"]} -- 2.47.3