test_pydantic_v1_error.py — fastapi Source File
Architecture documentation for test_pydantic_v1_error.py, a python file in the fastapi codebase. 10 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5["test_pydantic_v1_error.py"] 65099b90_26c1_5db5_09e6_30dc0ea421e3["sys"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 65099b90_26c1_5db5_09e6_30dc0ea421e3 9c2c9cad_dfd2_7d1a_1c6d_b8a448285db4["warnings"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 9c2c9cad_dfd2_7d1a_1c6d_b8a448285db4 0dda2280_3359_8460_301c_e98c77e78185["typing"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 0dda2280_3359_8460_301c_e98c77e78185 5befe8bf_65d1_d058_6b78_4a597a8488e9["pytest"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 5befe8bf_65d1_d058_6b78_4a597a8488e9 8fd7072e_05b0_6622_0f14_e1e357032855["utils.py"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 8fd7072e_05b0_6622_0f14_e1e357032855 a62a9334_f166_f5e2_dd2f_2f371121ebbe["skip_module_if_py_gte_314"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> a62a9334_f166_f5e2_dd2f_2f371121ebbe 534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 534f6e44_61b8_3c38_8b89_6934a6df9802 01c652c5_d85c_f45e_848e_412c94ea4172["exceptions.py"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 01c652c5_d85c_f45e_848e_412c94ea4172 29cbb417_bbf9_d7ad_9350_e32187134958["PydanticV1NotSupportedError"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> 29cbb417_bbf9_d7ad_9350_e32187134958 e196b5ee_ed27_19aa_2701_a14cdc5c0202["pydantic.v1"] 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 --> e196b5ee_ed27_19aa_2701_a14cdc5c0202 style 91d1a80c_1c46_e7d1_13fc_d70d9ed094b5 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import sys
import warnings
from typing import Union
import pytest
from tests.utils import skip_module_if_py_gte_314
if sys.version_info >= (3, 14):
skip_module_if_py_gte_314()
from fastapi import FastAPI
from fastapi.exceptions import PydanticV1NotSupportedError
with warnings.catch_warnings():
warnings.simplefilter("ignore", UserWarning)
from pydantic.v1 import BaseModel
def test_raises_pydantic_v1_model_in_endpoint_param() -> None:
class ParamModelV1(BaseModel):
name: str
app = FastAPI()
with pytest.raises(PydanticV1NotSupportedError):
@app.post("/param")
def endpoint(data: ParamModelV1): # pragma: no cover
return data
def test_raises_pydantic_v1_model_in_return_type() -> None:
class ReturnModelV1(BaseModel):
name: str
app = FastAPI()
with pytest.raises(PydanticV1NotSupportedError):
@app.get("/return")
def endpoint() -> ReturnModelV1: # pragma: no cover
return ReturnModelV1(name="test")
def test_raises_pydantic_v1_model_in_response_model() -> None:
class ResponseModelV1(BaseModel):
name: str
app = FastAPI()
with pytest.raises(PydanticV1NotSupportedError):
@app.get("/response-model", response_model=ResponseModelV1)
def endpoint(): # pragma: no cover
return {"name": "test"}
def test_raises_pydantic_v1_model_in_additional_responses_model() -> None:
class ErrorModelV1(BaseModel):
detail: str
app = FastAPI()
with pytest.raises(PydanticV1NotSupportedError):
@app.get(
"/responses", response_model=None, responses={400: {"model": ErrorModelV1}}
)
def endpoint(): # pragma: no cover
return {"ok": True}
def test_raises_pydantic_v1_model_in_union() -> None:
class ModelV1A(BaseModel):
name: str
app = FastAPI()
with pytest.raises(PydanticV1NotSupportedError):
@app.post("/union")
def endpoint(data: Union[dict, ModelV1A]): # pragma: no cover
return data
def test_raises_pydantic_v1_model_in_sequence() -> None:
class ModelV1A(BaseModel):
name: str
app = FastAPI()
with pytest.raises(PydanticV1NotSupportedError):
@app.post("/sequence")
def endpoint(data: list[ModelV1A]): # pragma: no cover
return data
Domain
Subdomains
Functions
- skip_module_if_py_gte_314()
- test_raises_pydantic_v1_model_in_additional_responses_model()
- test_raises_pydantic_v1_model_in_endpoint_param()
- test_raises_pydantic_v1_model_in_response_model()
- test_raises_pydantic_v1_model_in_return_type()
- test_raises_pydantic_v1_model_in_sequence()
- test_raises_pydantic_v1_model_in_union()
- warnings()
Dependencies
- PydanticV1NotSupportedError
- __init__.py
- exceptions.py
- pydantic.v1
- pytest
- skip_module_if_py_gte_314
- sys
- typing
- utils.py
- warnings
Source
Frequently Asked Questions
What does test_pydantic_v1_error.py do?
test_pydantic_v1_error.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Responses subdomain.
What functions are defined in test_pydantic_v1_error.py?
test_pydantic_v1_error.py defines 8 function(s): skip_module_if_py_gte_314, test_raises_pydantic_v1_model_in_additional_responses_model, test_raises_pydantic_v1_model_in_endpoint_param, test_raises_pydantic_v1_model_in_response_model, test_raises_pydantic_v1_model_in_return_type, test_raises_pydantic_v1_model_in_sequence, test_raises_pydantic_v1_model_in_union, warnings.
What does test_pydantic_v1_error.py depend on?
test_pydantic_v1_error.py imports 10 module(s): PydanticV1NotSupportedError, __init__.py, exceptions.py, pydantic.v1, pytest, skip_module_if_py_gte_314, sys, typing, and 2 more.
Where is test_pydantic_v1_error.py in the architecture?
test_pydantic_v1_error.py is located at tests/test_pydantic_v1_error.py (domain: FastAPI, subdomain: Responses, directory: tests).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free