Coverage for tests/test_response_model_invalid.py: 100%

26 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-05-05 00:03 +0000

1from typing import List 1abcdef

2 

3import pytest 1abcdef

4from fastapi import FastAPI 1abcdef

5from fastapi.exceptions import FastAPIError 1abcdef

6 

7 

8class NonPydanticModel: 1abcdef

9 pass 1abcdef

10 

11 

12def test_invalid_response_model_raises(): 1abcdef

13 with pytest.raises(FastAPIError): 1ghijkl

14 app = FastAPI() 1ghijkl

15 

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

17 def read_root(): 1ghijkl

18 pass # pragma: nocover 

19 

20 

21def test_invalid_response_model_sub_type_raises(): 1abcdef

22 with pytest.raises(FastAPIError): 1mnopqr

23 app = FastAPI() 1mnopqr

24 

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

26 def read_root(): 1mnopqr

27 pass # pragma: nocover 

28 

29 

30def test_invalid_response_model_in_responses_raises(): 1abcdef

31 with pytest.raises(FastAPIError): 1stuvwx

32 app = FastAPI() 1stuvwx

33 

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

35 def read_root(): 1stuvwx

36 pass # pragma: nocover 

37 

38 

39def test_invalid_response_model_sub_type_in_responses_raises(): 1abcdef

40 with pytest.raises(FastAPIError): 1yzABCD

41 app = FastAPI() 1yzABCD

42 

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

44 def read_root(): 1yzABCD

45 pass # pragma: nocover