test_validate_response_dataclass.py — fastapi Source File
Architecture documentation for test_validate_response_dataclass.py, a python file in the fastapi codebase. 7 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR eb99f6c1_01a5_55ac_4b34_af9baff9828c["test_validate_response_dataclass.py"] 0dda2280_3359_8460_301c_e98c77e78185["typing"] eb99f6c1_01a5_55ac_4b34_af9baff9828c --> 0dda2280_3359_8460_301c_e98c77e78185 5befe8bf_65d1_d058_6b78_4a597a8488e9["pytest"] eb99f6c1_01a5_55ac_4b34_af9baff9828c --> 5befe8bf_65d1_d058_6b78_4a597a8488e9 534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"] eb99f6c1_01a5_55ac_4b34_af9baff9828c --> 534f6e44_61b8_3c38_8b89_6934a6df9802 01c652c5_d85c_f45e_848e_412c94ea4172["exceptions.py"] eb99f6c1_01a5_55ac_4b34_af9baff9828c --> 01c652c5_d85c_f45e_848e_412c94ea4172 6c4918cc_63d7_a03d_91ee_e65fc35b0746["ResponseValidationError"] eb99f6c1_01a5_55ac_4b34_af9baff9828c --> 6c4918cc_63d7_a03d_91ee_e65fc35b0746 a7c04dee_ee23_5891_b185_47ff6bed036d["testclient.py"] eb99f6c1_01a5_55ac_4b34_af9baff9828c --> a7c04dee_ee23_5891_b185_47ff6bed036d a913f820_c954_4542_736a_45cc1a22c6fd["pydantic.dataclasses"] eb99f6c1_01a5_55ac_4b34_af9baff9828c --> a913f820_c954_4542_736a_45cc1a22c6fd style eb99f6c1_01a5_55ac_4b34_af9baff9828c fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
from typing import Optional
import pytest
from fastapi import FastAPI
from fastapi.exceptions import ResponseValidationError
from fastapi.testclient import TestClient
from pydantic.dataclasses import dataclass
app = FastAPI()
@dataclass
class Item:
name: str
price: Optional[float] = None
owner_ids: Optional[list[int]] = None
@app.get("/items/invalid", response_model=Item)
def get_invalid():
return {"name": "invalid", "price": "foo"}
@app.get("/items/innerinvalid", response_model=Item)
def get_innerinvalid():
return {"name": "double invalid", "price": "foo", "owner_ids": ["foo", "bar"]}
@app.get("/items/invalidlist", response_model=list[Item])
def get_invalidlist():
return [
{"name": "foo"},
{"name": "bar", "price": "bar"},
{"name": "baz", "price": "baz"},
]
client = TestClient(app)
def test_invalid():
with pytest.raises(ResponseValidationError):
client.get("/items/invalid")
def test_double_invalid():
with pytest.raises(ResponseValidationError):
client.get("/items/innerinvalid")
def test_invalid_list():
with pytest.raises(ResponseValidationError):
client.get("/items/invalidlist")
Domain
Subdomains
Functions
Classes
Dependencies
- ResponseValidationError
- __init__.py
- exceptions.py
- pydantic.dataclasses
- pytest
- testclient.py
- typing
Source
Frequently Asked Questions
What does test_validate_response_dataclass.py do?
test_validate_response_dataclass.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Routing subdomain.
What functions are defined in test_validate_response_dataclass.py?
test_validate_response_dataclass.py defines 6 function(s): get_innerinvalid, get_invalid, get_invalidlist, test_double_invalid, test_invalid, test_invalid_list.
What does test_validate_response_dataclass.py depend on?
test_validate_response_dataclass.py imports 7 module(s): ResponseValidationError, __init__.py, exceptions.py, pydantic.dataclasses, pytest, testclient.py, typing.
Where is test_validate_response_dataclass.py in the architecture?
test_validate_response_dataclass.py is located at tests/test_validate_response_dataclass.py (domain: FastAPI, subdomain: Routing, directory: tests).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free