Browse Source

Update tests to filter warnings

pull/14583/head
Sebastián Ramírez 7 months ago
parent
commit
247e86daf2
  1. 4
      tests/test_datetime_custom_encoder.py
  2. 8
      tests/test_filter_pydantic_sub_model/app_pv1.py
  3. 20
      tests/test_get_model_definitions_formfeed_escape.py
  4. 4
      tests/test_read_with_orm_mode.py
  5. 4
      tests/test_response_model_as_return_annotation.py
  6. 7
      tests/test_tutorial/test_schema_extra_example/test_tutorial001_pv1.py

4
tests/test_datetime_custom_encoder.py

@ -1,3 +1,4 @@
import warnings
from datetime import datetime, timezone from datetime import datetime, timezone
from fastapi import FastAPI from fastapi import FastAPI
@ -48,6 +49,9 @@ def test_pydanticv1():
app = FastAPI() app = FastAPI()
model = ModelWithDatetimeField(dt_field=datetime(2019, 1, 1, 8)) model = ModelWithDatetimeField(dt_field=datetime(2019, 1, 1, 8))
with warnings.catch_warnings(record=True):
warnings.simplefilter("always")
@app.get("/model", response_model=ModelWithDatetimeField) @app.get("/model", response_model=ModelWithDatetimeField)
def get_model(): def get_model():
return model return model

8
tests/test_filter_pydantic_sub_model/app_pv1.py

@ -1,3 +1,4 @@
import warnings
from typing import Optional from typing import Optional
from fastapi import Depends, FastAPI from fastapi import Depends, FastAPI
@ -31,8 +32,11 @@ async def get_model_c() -> ModelC:
return ModelC(username="test-user", password="test-password") return ModelC(username="test-user", password="test-password")
@app.get("/model/{name}", response_model=ModelA) with warnings.catch_warnings(record=True):
async def get_model_a(name: str, model_c=Depends(get_model_c)): warnings.simplefilter("always")
@app.get("/model/{name}", response_model=ModelA)
async def get_model_a(name: str, model_c=Depends(get_model_c)):
return { return {
"name": name, "name": name,
"description": "model-a-desc", "description": "model-a-desc",

20
tests/test_get_model_definitions_formfeed_escape.py

@ -1,3 +1,5 @@
import warnings
import pytest import pytest
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
@ -36,11 +38,27 @@ def client_fixture(request: pytest.FixtureRequest) -> TestClient:
app = FastAPI() app = FastAPI()
if request.param == "pydantic-v1":
with warnings.catch_warnings(record=True):
warnings.simplefilter("always")
@app.get("/facilities/{facility_id}")
def get_facility(facility_id: str) -> Facility:
return Facility(
id=facility_id,
address=Address(
line_1="123 Main St", city="Anytown", state_province="CA"
),
)
else:
@app.get("/facilities/{facility_id}") @app.get("/facilities/{facility_id}")
def get_facility(facility_id: str) -> Facility: def get_facility(facility_id: str) -> Facility:
return Facility( return Facility(
id=facility_id, id=facility_id,
address=Address(line_1="123 Main St", city="Anytown", state_province="CA"), address=Address(
line_1="123 Main St", city="Anytown", state_province="CA"
),
) )
client = TestClient(app) client = TestClient(app)

4
tests/test_read_with_orm_mode.py

@ -1,3 +1,4 @@
import warnings
from typing import Any from typing import Any
from fastapi import FastAPI from fastapi import FastAPI
@ -73,6 +74,9 @@ def test_read_with_orm_mode_pv1() -> None:
app = FastAPI() app = FastAPI()
with warnings.catch_warnings(record=True):
warnings.simplefilter("always")
@app.post("/people/", response_model=PersonRead) @app.post("/people/", response_model=PersonRead)
def create_person(person: PersonCreate) -> Any: def create_person(person: PersonCreate) -> Any:
db_person = Person.from_orm(person) db_person = Person.from_orm(person)

4
tests/test_response_model_as_return_annotation.py

@ -1,3 +1,4 @@
import warnings
from typing import Union from typing import Union
import pytest import pytest
@ -521,6 +522,9 @@ def test_invalid_response_model_field_pv1():
class Model(v1.BaseModel): class Model(v1.BaseModel):
foo: str foo: str
with warnings.catch_warnings(record=True):
warnings.simplefilter("always")
with pytest.raises(FastAPIError) as e: with pytest.raises(FastAPIError) as e:
@app.get("/") @app.get("/")

7
tests/test_tutorial/test_schema_extra_example/test_tutorial001_pv1.py

@ -1,4 +1,5 @@
import importlib import importlib
import warnings
import pytest import pytest
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
@ -15,6 +16,12 @@ from ...utils import needs_py310, needs_pydanticv1
], ],
) )
def get_client(request: pytest.FixtureRequest): def get_client(request: pytest.FixtureRequest):
with warnings.catch_warnings(record=True):
warnings.filterwarnings(
"ignore",
message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*",
category=DeprecationWarning,
)
mod = importlib.import_module(f"docs_src.schema_extra_example.{request.param}") mod = importlib.import_module(f"docs_src.schema_extra_example.{request.param}")
client = TestClient(mod.app) client = TestClient(mod.app)

Loading…
Cancel
Save