mirror of https://github.com/tiangolo/fastapi.git
🎨 Auto format
This commit is contained in:
parent
120a7d94b5
commit
d33d030fec
|
|
@ -49,11 +49,15 @@ def test_openapi_mixed_pydantic_models_with_separate_input_output_schemas() -> N
|
|||
app = FastAPI(separate_input_output_schemas=True)
|
||||
|
||||
@app.post("/v1-users/", response_model=UserV1)
|
||||
def create_v1_user(user: UserV1) -> UserV1: # pragma: no cover - behavior tested via OpenAPI
|
||||
def create_v1_user(
|
||||
user: UserV1,
|
||||
) -> UserV1: # pragma: no cover - behavior tested via OpenAPI
|
||||
return user
|
||||
|
||||
@app.post("/v2-users/", response_model=UserV2)
|
||||
def create_v2_user(user: UserV2) -> UserV2: # pragma: no cover - behavior tested via OpenAPI
|
||||
def create_v2_user(
|
||||
user: UserV2,
|
||||
) -> UserV2: # pragma: no cover - behavior tested via OpenAPI
|
||||
return user
|
||||
|
||||
client = TestClient(app)
|
||||
|
|
@ -71,19 +75,27 @@ def test_openapi_mixed_pydantic_models_with_separate_input_output_schemas() -> N
|
|||
|
||||
assert user_v1_keys, "Expected at least one schema for UserV1 (Pydantic v1 model)."
|
||||
assert user_v2_keys, "Expected at least one schema for UserV2 (Pydantic v2 model)."
|
||||
assert address_v1_keys, "Expected at least one schema for AddressV1 (Pydantic v1 model)."
|
||||
assert address_v2_keys, "Expected at least one schema for AddressV2 (Pydantic v2 model)."
|
||||
assert address_v1_keys, (
|
||||
"Expected at least one schema for AddressV1 (Pydantic v1 model)."
|
||||
)
|
||||
assert address_v2_keys, (
|
||||
"Expected at least one schema for AddressV2 (Pydantic v2 model)."
|
||||
)
|
||||
|
||||
# Ensure that references in the OpenAPI document point to schemas for both versions
|
||||
all_refs = list(_collect_refs(openapi_schema))
|
||||
assert any("UserV1" in ref for ref in all_refs), "Expected at least one $ref to a UserV1 schema."
|
||||
assert any("UserV2" in ref for ref in all_refs), "Expected at least one $ref to a UserV2 schema."
|
||||
assert any(
|
||||
"AddressV1" in ref for ref in all_refs
|
||||
), "Expected at least one $ref to an AddressV1 schema."
|
||||
assert any(
|
||||
"AddressV2" in ref for ref in all_refs
|
||||
), "Expected at least one $ref to an AddressV2 schema."
|
||||
assert any("UserV1" in ref for ref in all_refs), (
|
||||
"Expected at least one $ref to a UserV1 schema."
|
||||
)
|
||||
assert any("UserV2" in ref for ref in all_refs), (
|
||||
"Expected at least one $ref to a UserV2 schema."
|
||||
)
|
||||
assert any("AddressV1" in ref for ref in all_refs), (
|
||||
"Expected at least one $ref to an AddressV1 schema."
|
||||
)
|
||||
assert any("AddressV2" in ref for ref in all_refs), (
|
||||
"Expected at least one $ref to an AddressV2 schema."
|
||||
)
|
||||
|
||||
|
||||
@needs_pydanticv2
|
||||
|
|
@ -92,11 +104,15 @@ def test_openapi_mixed_pydantic_models_without_separate_input_output_schemas() -
|
|||
app = FastAPI(separate_input_output_schemas=False)
|
||||
|
||||
@app.post("/v1-users/", response_model=UserV1)
|
||||
def create_v1_user(user: UserV1) -> UserV1: # pragma: no cover - behavior tested via OpenAPI
|
||||
def create_v1_user(
|
||||
user: UserV1,
|
||||
) -> UserV1: # pragma: no cover - behavior tested via OpenAPI
|
||||
return user
|
||||
|
||||
@app.post("/v2-users/", response_model=UserV2)
|
||||
def create_v2_user(user: UserV2) -> UserV2: # pragma: no cover - behavior tested via OpenAPI
|
||||
def create_v2_user(
|
||||
user: UserV2,
|
||||
) -> UserV2: # pragma: no cover - behavior tested via OpenAPI
|
||||
return user
|
||||
|
||||
client = TestClient(app)
|
||||
|
|
@ -114,9 +130,15 @@ def test_openapi_mixed_pydantic_models_without_separate_input_output_schemas() -
|
|||
|
||||
assert user_v1_keys, "Expected at least one schema for UserV1 (Pydantic v1 model)."
|
||||
assert user_v2_keys, "Expected at least one schema for UserV2 (Pydantic v2 model)."
|
||||
assert address_v1_keys, "Expected at least one schema for AddressV1 (Pydantic v1 model)."
|
||||
assert address_v2_keys, "Expected at least one schema for AddressV2 (Pydantic v2 model)."
|
||||
assert address_v1_keys, (
|
||||
"Expected at least one schema for AddressV1 (Pydantic v1 model)."
|
||||
)
|
||||
assert address_v2_keys, (
|
||||
"Expected at least one schema for AddressV2 (Pydantic v2 model)."
|
||||
)
|
||||
|
||||
# Check that there are no obviously broken references (all $ref values should target components/schemas)
|
||||
all_refs = list(_collect_refs(openapi_schema))
|
||||
assert all(ref.startswith("#/components/schemas/") for ref in all_refs), "Found a $ref outside components/schemas."
|
||||
assert all(ref.startswith("#/components/schemas/") for ref in all_refs), (
|
||||
"Found a $ref outside components/schemas."
|
||||
)
|
||||
|
|
|
|||
Loading…
Reference in New Issue