diff --git a/tests/main.py b/tests/main.py index de8009eea..fe042e870 100644 --- a/tests/main.py +++ b/tests/main.py @@ -193,8 +193,10 @@ def get_query_param_required_type(query: int = Query()): def get_mapping_query_params(queries: Dict[str, str] = Query({})): return {"queries": queries} + from pydantic import OnErrorOmit + @app.get("/query/mixed-params") def get_mixed_mapping_query_params( sequence_mapping_queries: Dict[str, List[Union[str, OnErrorOmit[int]]]] = Query({}), @@ -209,8 +211,11 @@ def get_mixed_mapping_query_params( } } + @app.get("/query/mapping-sequence-params") -def get_sequence_mapping_query_params(queries: Dict[str, List[OnErrorOmit[int]]] = Query({})): +def get_sequence_mapping_query_params( + queries: Dict[str, List[OnErrorOmit[int]]] = Query({}), +): return {"queries": queries} diff --git a/tests/test_query.py b/tests/test_query.py index c17823c60..1a1fb6146 100644 --- a/tests/test_query.py +++ b/tests/test_query.py @@ -426,11 +426,13 @@ def test_mapping_query(): assert response.status_code == 200 assert response.json() == {"queries": {"bar": "buzz", "foo": "fuzz"}} + def test_sequence_mapping_query(): response = client.get("/query/mapping-sequence-params/?foo=1&foo=2") assert response.status_code == 200 assert response.json() == {"queries": {"foo": [1, 2]}} + def test_mapping_with_non_mapping_query(): response = client.get("/query/mixed-params/?foo=fuzz&foo=baz&bar=buzz&query=fizz") assert response.status_code == 200