Coverage for tests / test_response_model_invalid.py: 100%

25 statements  

« prev     ^ index     » next       coverage.py v7.13.3, created at 2026-04-06 01:24 +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): 1efgh

12 app = FastAPI() 1efgh

13 

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

15 def read_root(): 1efgh

16 pass # pragma: nocover 

17 

18 

19def test_invalid_response_model_sub_type_raises(): 1abcd

20 with pytest.raises(FastAPIError): 1ijkl

21 app = FastAPI() 1ijkl

22 

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

24 def read_root(): 1ijkl

25 pass # pragma: nocover 

26 

27 

28def test_invalid_response_model_in_responses_raises(): 1abcd

29 with pytest.raises(FastAPIError): 1mnop

30 app = FastAPI() 1mnop

31 

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

33 def read_root(): 1mnop

34 pass # pragma: nocover 

35 

36 

37def test_invalid_response_model_sub_type_in_responses_raises(): 1abcd

38 with pytest.raises(FastAPIError): 1qrst

39 app = FastAPI() 1qrst

40 

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

42 def read_root(): 1qrst

43 pass # pragma: nocover