Coverage for tests / test_response_model_default_factory.py: 100%
24 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-12 18:15 +0000
1from fastapi import FastAPI 1abcd
2from fastapi.testclient import TestClient 1abcd
3from pydantic import BaseModel, Field 1abcd
5app = FastAPI() 1abcd
8class ResponseModel(BaseModel): 1abcd
9 code: int = 200 1abcd
10 message: str = Field(default_factory=lambda: "Successful operation.") 1aefbghcdij
13@app.get( 1abcd
14 "/response_model_has_default_factory_return_dict",
15 response_model=ResponseModel,
16)
17async def response_model_has_default_factory_return_dict(): 1abcd
18 return {"code": 200} 1egi
21@app.get( 1abcd
22 "/response_model_has_default_factory_return_model",
23 response_model=ResponseModel,
24)
25async def response_model_has_default_factory_return_model(): 1abcd
26 return ResponseModel() 1fhj
29client = TestClient(app) 1abcd
32def test_response_model_has_default_factory_return_dict(): 1abcd
33 response = client.get("/response_model_has_default_factory_return_dict") 1egi
35 assert response.status_code == 200, response.text 1egi
37 assert response.json()["code"] == 200 1egi
38 assert response.json()["message"] == "Successful operation." 1egi
41def test_response_model_has_default_factory_return_model(): 1abcd
42 response = client.get("/response_model_has_default_factory_return_model") 1fhj
44 assert response.status_code == 200, response.text 1fhj
46 assert response.json()["code"] == 200 1fhj
47 assert response.json()["message"] == "Successful operation." 1fhj