Coverage for tests / test_response_model_invalid.py: 100%

25 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-02-12 18:15 +0000

1import pytest 1abcd

2from fastapi import FastAPI 1abcd

3from fastapi.exceptions import FastAPIError 1abcd

4 

5 

6class NonPydanticModel: 1abcd

7 pass 1abcd

8 

9 

10def test_invalid_response_model_raises(): 1abcd

11 with pytest.raises(FastAPIError): 1efg

12 app = FastAPI() 1efg

13 

14 @app.get("/", response_model=NonPydanticModel) 1efg

15 def read_root(): 1efg

16 pass # pragma: nocover 

17 

18 

19def test_invalid_response_model_sub_type_raises(): 1abcd

20 with pytest.raises(FastAPIError): 1hij

21 app = FastAPI() 1hij

22 

23 @app.get("/", response_model=list[NonPydanticModel]) 1hij

24 def read_root(): 1hij

25 pass # pragma: nocover 

26 

27 

28def test_invalid_response_model_in_responses_raises(): 1abcd

29 with pytest.raises(FastAPIError): 1klm

30 app = FastAPI() 1klm

31 

32 @app.get("/", responses={"500": {"model": NonPydanticModel}}) 1klm

33 def read_root(): 1klm

34 pass # pragma: nocover 

35 

36 

37def test_invalid_response_model_sub_type_in_responses_raises(): 1abcd

38 with pytest.raises(FastAPIError): 1nop

39 app = FastAPI() 1nop

40 

41 @app.get("/", responses={"500": {"model": list[NonPydanticModel]}}) 1nop

42 def read_root(): 1nop

43 pass # pragma: nocover