1
from fastapi import FastAPI
2
from fastapi.testclient import TestClient
3
from pydantic import BaseModel
12
class Model2(BaseModel):
16
class Model3(BaseModel):
21
@app.get("/", response_model=Model3)
23
return {"c": {}, "d": {"a": {}}}
26
client = TestClient(app)
29
def test_get_api_route():
30
response = client.get("/")
31
assert response.status_code == 200, response.text
32
assert response.json() == {"c": {}, "d": {"a": {}}}
35
def test_openapi_schema():
36
response = client.get("/openapi.json")
37
assert response.status_code == 200, response.text
38
assert response.json() == {
40
"info": {"title": "FastAPI", "version": "0.1.0"},
45
"operationId": "f__get",
48
"description": "Successful Response",
51
"schema": {"$ref": "#/components/schemas/Model3"}
61
"Model": {"title": "Model", "type": "object", "properties": {}},
66
"properties": {"a": {"$ref": "#/components/schemas/Model"}},
70
"required": ["c", "d"],
73
"c": {"$ref": "#/components/schemas/Model"},
74
"d": {"$ref": "#/components/schemas/Model2"},