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

1from fastapi import FastAPI 1abcd

2from fastapi.testclient import TestClient 1abcd

3from pydantic import BaseModel, Field 1abcd

4 

5app = FastAPI() 1abcd

6 

7 

8class ResponseModel(BaseModel): 1abcd

9 code: int = 200 1abcd

10 message: str = Field(default_factory=lambda: "Successful operation.") 1aefbghcdij

11 

12 

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

19 

20 

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

27 

28 

29client = TestClient(app) 1abcd

30 

31 

32def test_response_model_has_default_factory_return_dict(): 1abcd

33 response = client.get("/response_model_has_default_factory_return_dict") 1egi

34 

35 assert response.status_code == 200, response.text 1egi

36 

37 assert response.json()["code"] == 200 1egi

38 assert response.json()["message"] == "Successful operation." 1egi

39 

40 

41def test_response_model_has_default_factory_return_model(): 1abcd

42 response = client.get("/response_model_has_default_factory_return_model") 1fhj

43 

44 assert response.status_code == 200, response.text 1fhj

45 

46 assert response.json()["code"] == 200 1fhj

47 assert response.json()["message"] == "Successful operation." 1fhj