test_validation_error_context.py — fastapi Source File
Architecture documentation for test_validation_error_context.py, a python file in the fastapi codebase. 7 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 8a7b7b4a_2080_c120_2b62_a12cf15e706b["test_validation_error_context.py"] 534f6e44_61b8_3c38_8b89_6934a6df9802["__init__.py"] 8a7b7b4a_2080_c120_2b62_a12cf15e706b --> 534f6e44_61b8_3c38_8b89_6934a6df9802 01c652c5_d85c_f45e_848e_412c94ea4172["exceptions.py"] 8a7b7b4a_2080_c120_2b62_a12cf15e706b --> 01c652c5_d85c_f45e_848e_412c94ea4172 58bb043a_10d8_c308_5564_225558a63815["RequestValidationError"] 8a7b7b4a_2080_c120_2b62_a12cf15e706b --> 58bb043a_10d8_c308_5564_225558a63815 6c4918cc_63d7_a03d_91ee_e65fc35b0746["ResponseValidationError"] 8a7b7b4a_2080_c120_2b62_a12cf15e706b --> 6c4918cc_63d7_a03d_91ee_e65fc35b0746 b73e338b_e4cd_2e94_eb5a_5e6ac7b197b0["WebSocketRequestValidationError"] 8a7b7b4a_2080_c120_2b62_a12cf15e706b --> b73e338b_e4cd_2e94_eb5a_5e6ac7b197b0 a7c04dee_ee23_5891_b185_47ff6bed036d["testclient.py"] 8a7b7b4a_2080_c120_2b62_a12cf15e706b --> a7c04dee_ee23_5891_b185_47ff6bed036d 6913fbd4_39df_d14b_44bb_522e99b65b90["pydantic"] 8a7b7b4a_2080_c120_2b62_a12cf15e706b --> 6913fbd4_39df_d14b_44bb_522e99b65b90 style 8a7b7b4a_2080_c120_2b62_a12cf15e706b fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
from fastapi import FastAPI, Request, WebSocket
from fastapi.exceptions import (
RequestValidationError,
ResponseValidationError,
WebSocketRequestValidationError,
)
from fastapi.testclient import TestClient
from pydantic import BaseModel
class Item(BaseModel):
id: int
name: str
class ExceptionCapture:
def __init__(self):
self.exception = None
def capture(self, exc):
self.exception = exc
return exc
app = FastAPI()
sub_app = FastAPI()
captured_exception = ExceptionCapture()
app.mount(path="/sub", app=sub_app)
@app.exception_handler(RequestValidationError)
@sub_app.exception_handler(RequestValidationError)
async def request_validation_handler(request: Request, exc: RequestValidationError):
captured_exception.capture(exc)
raise exc
@app.exception_handler(ResponseValidationError)
@sub_app.exception_handler(ResponseValidationError)
async def response_validation_handler(_: Request, exc: ResponseValidationError):
captured_exception.capture(exc)
raise exc
@app.exception_handler(WebSocketRequestValidationError)
@sub_app.exception_handler(WebSocketRequestValidationError)
async def websocket_validation_handler(
websocket: WebSocket, exc: WebSocketRequestValidationError
):
captured_exception.capture(exc)
raise exc
@app.get("/users/{user_id}")
def get_user(user_id: int):
return {"user_id": user_id} # pragma: no cover
@app.get("/items/", response_model=Item)
// ... (109 more lines)
Domain
Subdomains
Functions
- get_item()
- get_sub_item()
- get_user()
- request_validation_handler()
- response_validation_handler()
- subapp_websocket_endpoint()
- test_request_validation_error_includes_endpoint_context()
- test_response_validation_error_includes_endpoint_context()
- test_subapp_request_validation_error_includes_endpoint_context()
- test_subapp_websocket_validation_error_includes_endpoint_context()
- test_validation_error_with_no_context()
- test_validation_error_with_only_path()
- test_websocket_validation_error_includes_endpoint_context()
- websocket_endpoint()
- websocket_validation_handler()
Classes
Dependencies
Source
Frequently Asked Questions
What does test_validation_error_context.py do?
test_validation_error_context.py is a source file in the fastapi codebase, written in python. It belongs to the FastAPI domain, Applications subdomain.
What functions are defined in test_validation_error_context.py?
test_validation_error_context.py defines 15 function(s): get_item, get_sub_item, get_user, request_validation_handler, response_validation_handler, subapp_websocket_endpoint, test_request_validation_error_includes_endpoint_context, test_response_validation_error_includes_endpoint_context, test_subapp_request_validation_error_includes_endpoint_context, test_subapp_websocket_validation_error_includes_endpoint_context, and 5 more.
What does test_validation_error_context.py depend on?
test_validation_error_context.py imports 7 module(s): RequestValidationError, ResponseValidationError, WebSocketRequestValidationError, __init__.py, exceptions.py, pydantic, testclient.py.
Where is test_validation_error_context.py in the architecture?
test_validation_error_context.py is located at tests/test_validation_error_context.py (domain: FastAPI, subdomain: Applications, directory: tests).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free