pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
766 B
31 lines
766 B
from typing import Annotated
|
|
|
|
from fastapi import FastAPI, Form
|
|
from starlette.testclient import TestClient
|
|
|
|
app: FastAPI = FastAPI()
|
|
|
|
|
|
@app.post("/testing_alias")
|
|
async def check_alias(id_test: Annotated[int, Form(alias="otherId")]):
|
|
return {"other_id": id_test}
|
|
|
|
|
|
@app.patch("/testing")
|
|
async def check_without_alias(id_test: Annotated[int, Form()]):
|
|
return {"id_test": id_test}
|
|
|
|
|
|
client = TestClient(app)
|
|
|
|
|
|
def test_without_alias():
|
|
response = client.patch("/testing", data={"id_test": 1})
|
|
assert response.status_code == 200
|
|
assert response.json() == {"id_test": 1}
|
|
|
|
|
|
def test_get_alias():
|
|
response = client.post("/testing_alias", data={"otherId": "1"})
|
|
assert response.status_code == 200
|
|
assert response.json() == {"other_id": 1}
|
|
|