Coverage for tests / test_invalid_sequence_param.py: 100%
32 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
1from typing import Optional 1abcd
3import pytest 1abcd
4from fastapi import FastAPI, Query 1abcd
5from pydantic import BaseModel 1abcd
8def test_invalid_sequence(): 1abcd
9 with pytest.raises( 1efg
10 AssertionError,
11 match="Query parameter 'q' must be one of the supported types",
12 ):
13 app = FastAPI() 1efg
15 class Item(BaseModel): 1efg
16 title: str 1efg
18 @app.get("/items/") 1efg
19 def read_items(q: list[Item] = Query(default=None)): 1efg
20 pass # pragma: no cover
23def test_invalid_tuple(): 1abcd
24 with pytest.raises( 1hij
25 AssertionError,
26 match="Query parameter 'q' must be one of the supported types",
27 ):
28 app = FastAPI() 1hij
30 class Item(BaseModel): 1hij
31 title: str 1hij
33 @app.get("/items/") 1hij
34 def read_items(q: tuple[Item, Item] = Query(default=None)): 1hij
35 pass # pragma: no cover
38def test_invalid_dict(): 1abcd
39 with pytest.raises( 1klm
40 AssertionError,
41 match="Query parameter 'q' must be one of the supported types",
42 ):
43 app = FastAPI() 1klm
45 class Item(BaseModel): 1klm
46 title: str 1klm
48 @app.get("/items/") 1klm
49 def read_items(q: dict[str, Item] = Query(default=None)): 1klm
50 pass # pragma: no cover
53def test_invalid_simple_dict(): 1abcd
54 with pytest.raises( 1nop
55 AssertionError,
56 match="Query parameter 'q' must be one of the supported types",
57 ):
58 app = FastAPI() 1nop
60 class Item(BaseModel): 1nop
61 title: str 1nop
63 @app.get("/items/") 1nop
64 def read_items(q: Optional[dict] = Query(default=None)): 1nop
65 pass # pragma: no cover