Coverage for tests / test_invalid_sequence_param.py: 100%

31 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +0000

1import pytest 1abcd

2from fastapi import FastAPI, Query 1abcd

3from pydantic import BaseModel 1abcd

4 

5 

6def test_invalid_sequence(): 1abcd

7 with pytest.raises( 1eqfg

8 AssertionError, 

9 match="Query parameter 'q' must be one of the supported types", 

10 ): 

11 app = FastAPI() 1eqfg

12 

13 class Item(BaseModel): 1eqfg

14 title: str 1efg

15 

16 @app.get("/items/") 1eqfg

17 def read_items(q: list[Item] = Query(default=None)): 1eqfg

18 pass # pragma: no cover 

19 

20 

21def test_invalid_tuple(): 1abcd

22 with pytest.raises( 1hrij

23 AssertionError, 

24 match="Query parameter 'q' must be one of the supported types", 

25 ): 

26 app = FastAPI() 1hrij

27 

28 class Item(BaseModel): 1hrij

29 title: str 1hij

30 

31 @app.get("/items/") 1hrij

32 def read_items(q: tuple[Item, Item] = Query(default=None)): 1hrij

33 pass # pragma: no cover 

34 

35 

36def test_invalid_dict(): 1abcd

37 with pytest.raises( 1kslm

38 AssertionError, 

39 match="Query parameter 'q' must be one of the supported types", 

40 ): 

41 app = FastAPI() 1kslm

42 

43 class Item(BaseModel): 1kslm

44 title: str 1klm

45 

46 @app.get("/items/") 1kslm

47 def read_items(q: dict[str, Item] = Query(default=None)): 1kslm

48 pass # pragma: no cover 

49 

50 

51def test_invalid_simple_dict(): 1abcd

52 with pytest.raises( 1ntop

53 AssertionError, 

54 match="Query parameter 'q' must be one of the supported types", 

55 ): 

56 app = FastAPI() 1ntop

57 

58 class Item(BaseModel): 1ntop

59 title: str 1nop

60 

61 @app.get("/items/") 1ntop

62 def read_items(q: dict | None = Query(default=None)): 1ntop

63 pass # pragma: no cover