Coverage for tests/test_response_model_invalid.py: 100%

26 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-12-04 08:29 +0000

1from typing import List 1abcdefg

2 

3import pytest 1abcdefg

4from fastapi import FastAPI 1abcdefg

5from fastapi.exceptions import FastAPIError 1abcdefg

6 

7 

8class NonPydanticModel: 1abcdefg

9 pass 1abcdefg

10 

11 

12def test_invalid_response_model_raises(): 1abcdefg

13 with pytest.raises(FastAPIError): 1hijklmn

14 app = FastAPI() 1hijklmn

15 

16 @app.get("/", response_model=NonPydanticModel) 1hijklmn

17 def read_root(): 1hijklmn

18 pass # pragma: nocover 

19 

20 

21def test_invalid_response_model_sub_type_raises(): 1abcdefg

22 with pytest.raises(FastAPIError): 1opqrstu

23 app = FastAPI() 1opqrstu

24 

25 @app.get("/", response_model=List[NonPydanticModel]) 1opqrstu

26 def read_root(): 1opqrstu

27 pass # pragma: nocover 

28 

29 

30def test_invalid_response_model_in_responses_raises(): 1abcdefg

31 with pytest.raises(FastAPIError): 1vwxyzAB

32 app = FastAPI() 1vwxyzAB

33 

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

35 def read_root(): 1vwxyzAB

36 pass # pragma: nocover 

37 

38 

39def test_invalid_response_model_sub_type_in_responses_raises(): 1abcdefg

40 with pytest.raises(FastAPIError): 1CDEFGHI

41 app = FastAPI() 1CDEFGHI

42 

43 @app.get("/", responses={"500": {"model": List[NonPydanticModel]}}) 1CDEFGHI

44 def read_root(): 1CDEFGHI

45 pass # pragma: nocover