|
|
@ -1,4 +1,9 @@ |
|
|
|
""" |
|
|
|
testing to fix incompatibility with alias and validation_alias between fastapi and PYDANTIC_V2 |
|
|
|
""" |
|
|
|
|
|
|
|
from fastapi import FastAPI, Form |
|
|
|
from fastapi._compat import PYDANTIC_V2 |
|
|
|
from starlette.testclient import TestClient |
|
|
|
|
|
|
|
app: FastAPI = FastAPI() |
|
|
@ -24,7 +29,11 @@ def test_get_alias(): |
|
|
|
|
|
|
|
|
|
|
|
def test_get_validation_alias(): |
|
|
|
response = client.post("/testing_validation_alias", data={"otherId": "1"}) |
|
|
|
if PYDANTIC_V2: |
|
|
|
data = {"otherId": "1"} |
|
|
|
else: |
|
|
|
data = {"id_test": "1"} |
|
|
|
response = client.post("/testing_validation_alias", data=data) |
|
|
|
assert response.status_code == 200 |
|
|
|
assert response.json() == {"other_id": 1} |
|
|
|
|
|
|
@ -32,18 +41,18 @@ def test_get_validation_alias(): |
|
|
|
def test_file_alias_schema(): |
|
|
|
response = client.get("/openapi.json") |
|
|
|
assert response.status_code == 200, response.text |
|
|
|
schema = response.json() |
|
|
|
|
|
|
|
assert ( |
|
|
|
"otherId" |
|
|
|
in schema["components"]["schemas"]["Body_check_alias_testing_alias_post"][ |
|
|
|
"properties" |
|
|
|
] |
|
|
|
) |
|
|
|
|
|
|
|
assert ( |
|
|
|
"otherId" |
|
|
|
in schema["components"]["schemas"][ |
|
|
|
"Body_check_validation_alias_testing_validation_alias_post" |
|
|
|
]["properties"] |
|
|
|
) |
|
|
|
if PYDANTIC_V2: |
|
|
|
schema = response.json() |
|
|
|
assert ( |
|
|
|
"otherId" |
|
|
|
in schema["components"]["schemas"]["Body_check_alias_testing_alias_post"][ |
|
|
|
"properties" |
|
|
|
] |
|
|
|
) |
|
|
|
|
|
|
|
assert ( |
|
|
|
"otherId" |
|
|
|
in schema["components"]["schemas"][ |
|
|
|
"Body_check_validation_alias_testing_validation_alias_post" |
|
|
|
]["properties"] |
|
|
|
) |
|
|
|