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
« prev ^ index » next coverage.py v7.6.1, created at 2025-05-05 00:03 +0000
1from typing import List 1abcdef
3import pytest 1abcdef
4from fastapi import FastAPI 1abcdef
5from fastapi.exceptions import FastAPIError 1abcdef
8class NonPydanticModel: 1abcdef
9 pass 1abcdef
12def test_invalid_response_model_raises(): 1abcdef
13 with pytest.raises(FastAPIError): 1ghijkl
14 app = FastAPI() 1ghijkl
16 @app.get("/", response_model=NonPydanticModel) 1ghijkl
17 def read_root(): 1ghijkl
18 pass # pragma: nocover
21def test_invalid_response_model_sub_type_raises(): 1abcdef
22 with pytest.raises(FastAPIError): 1mnopqr
23 app = FastAPI() 1mnopqr
25 @app.get("/", response_model=List[NonPydanticModel]) 1mnopqr
26 def read_root(): 1mnopqr
27 pass # pragma: nocover
30def test_invalid_response_model_in_responses_raises(): 1abcdef
31 with pytest.raises(FastAPIError): 1stuvwx
32 app = FastAPI() 1stuvwx
34 @app.get("/", responses={"500": {"model": NonPydanticModel}}) 1stuvwx
35 def read_root(): 1stuvwx
36 pass # pragma: nocover
39def test_invalid_response_model_sub_type_in_responses_raises(): 1abcdef
40 with pytest.raises(FastAPIError): 1yzABCD
41 app = FastAPI() 1yzABCD
43 @app.get("/", responses={"500": {"model": List[NonPydanticModel]}}) 1yzABCD
44 def read_root(): 1yzABCD
45 pass # pragma: nocover