committed by
GitHub
2 changed files with 48 additions and 0 deletions
@ -0,0 +1,47 @@ |
|||
from fastapi import FastAPI |
|||
from fastapi.testclient import TestClient |
|||
from pydantic import BaseModel, Field |
|||
|
|||
app = FastAPI() |
|||
|
|||
|
|||
class ResponseModel(BaseModel): |
|||
code: int = 200 |
|||
message: str = Field(default_factory=lambda: "Successful operation.") |
|||
|
|||
|
|||
@app.get( |
|||
"/response_model_has_default_factory_return_dict", |
|||
response_model=ResponseModel, |
|||
) |
|||
async def response_model_has_default_factory_return_dict(): |
|||
return {"code": 200} |
|||
|
|||
|
|||
@app.get( |
|||
"/response_model_has_default_factory_return_model", |
|||
response_model=ResponseModel, |
|||
) |
|||
async def response_model_has_default_factory_return_model(): |
|||
return ResponseModel() |
|||
|
|||
|
|||
client = TestClient(app) |
|||
|
|||
|
|||
def test_response_model_has_default_factory_return_dict(): |
|||
response = client.get("/response_model_has_default_factory_return_dict") |
|||
|
|||
assert response.status_code == 200, response.text |
|||
|
|||
assert response.json()["code"] == 200 |
|||
assert response.json()["message"] == "Successful operation." |
|||
|
|||
|
|||
def test_response_model_has_default_factory_return_model(): |
|||
response = client.get("/response_model_has_default_factory_return_model") |
|||
|
|||
assert response.status_code == 200, response.text |
|||
|
|||
assert response.json()["code"] == 200 |
|||
assert response.json()["message"] == "Successful operation." |
Loading…
Reference in new issue