Browse Source

Update tests to check for custom deprecation warning

pull/14605/head
Sebastián Ramírez 7 months ago
parent
commit
f7b0e3d038
  1. 9
      tests/test_compat_params_v1.py
  2. 9
      tests/test_pydantic_v1_deprecation_warnings.py
  3. 3
      tests/test_regex_deprecated_body.py
  4. 3
      tests/test_regex_deprecated_params.py
  5. 21
      tests/test_schema_extra_examples.py
  6. 3
      tests/test_tutorial/test_pydantic_v1_in_v2/test_tutorial002.py
  7. 3
      tests/test_tutorial/test_pydantic_v1_in_v2/test_tutorial003.py
  8. 3
      tests/test_tutorial/test_pydantic_v1_in_v2/test_tutorial004.py
  9. 2
      tests/test_tutorial/test_query_params_str_validations/test_tutorial004.py
  10. 3
      tests/test_tutorial/test_request_form_models/test_tutorial002_pv1.py
  11. 3
      tests/test_tutorial/test_schema_extra_example/test_tutorial001_pv1.py

9
tests/test_compat_params_v1.py

@ -3,6 +3,7 @@ import warnings
from typing import Optional from typing import Optional
import pytest import pytest
from fastapi.exceptions import FastAPIDeprecationWarning
from tests.utils import skip_module_if_py_gte_314 from tests.utils import skip_module_if_py_gte_314
@ -504,23 +505,23 @@ def test_body_repr():
# Deprecation warning tests for regex parameter # Deprecation warning tests for regex parameter
def test_query_regex_deprecation_warning(): def test_query_regex_deprecation_warning():
with pytest.warns(DeprecationWarning, match="`regex` has been deprecated"): with pytest.warns(FastAPIDeprecationWarning, match="`regex` has been deprecated"):
Query(regex="^test$") Query(regex="^test$")
def test_body_regex_deprecation_warning(): def test_body_regex_deprecation_warning():
with pytest.warns(DeprecationWarning, match="`regex` has been deprecated"): with pytest.warns(FastAPIDeprecationWarning, match="`regex` has been deprecated"):
Body(regex="^test$") Body(regex="^test$")
# Deprecation warning tests for example parameter # Deprecation warning tests for example parameter
def test_query_example_deprecation_warning(): def test_query_example_deprecation_warning():
with pytest.warns(DeprecationWarning, match="`example` has been deprecated"): with pytest.warns(FastAPIDeprecationWarning, match="`example` has been deprecated"):
Query(example="test example") Query(example="test example")
def test_body_example_deprecation_warning(): def test_body_example_deprecation_warning():
with pytest.warns(DeprecationWarning, match="`example` has been deprecated"): with pytest.warns(FastAPIDeprecationWarning, match="`example` has been deprecated"):
Body(example={"test": "example"}) Body(example={"test": "example"})

9
tests/test_pydantic_v1_deprecation_warnings.py

@ -1,6 +1,7 @@
import sys import sys
import pytest import pytest
from fastapi.exceptions import FastAPIDeprecationWarning
from tests.utils import skip_module_if_py_gte_314 from tests.utils import skip_module_if_py_gte_314
@ -19,7 +20,7 @@ def test_warns_pydantic_v1_model_in_endpoint_param() -> None:
app = FastAPI() app = FastAPI()
with pytest.warns( with pytest.warns(
DeprecationWarning, FastAPIDeprecationWarning,
match=r"pydantic\.v1 is deprecated.*Please update the param data:", match=r"pydantic\.v1 is deprecated.*Please update the param data:",
): ):
@ -40,7 +41,7 @@ def test_warns_pydantic_v1_model_in_return_type() -> None:
app = FastAPI() app = FastAPI()
with pytest.warns( with pytest.warns(
DeprecationWarning, FastAPIDeprecationWarning,
match=r"pydantic\.v1 is deprecated.*Please update the response model", match=r"pydantic\.v1 is deprecated.*Please update the response model",
): ):
@ -61,7 +62,7 @@ def test_warns_pydantic_v1_model_in_response_model() -> None:
app = FastAPI() app = FastAPI()
with pytest.warns( with pytest.warns(
DeprecationWarning, FastAPIDeprecationWarning,
match=r"pydantic\.v1 is deprecated.*Please update the response model", match=r"pydantic\.v1 is deprecated.*Please update the response model",
): ):
@ -82,7 +83,7 @@ def test_warns_pydantic_v1_model_in_additional_responses_model() -> None:
app = FastAPI() app = FastAPI()
with pytest.warns( with pytest.warns(
DeprecationWarning, FastAPIDeprecationWarning,
match=r"pydantic\.v1 is deprecated.*In responses=\{\}, please update", match=r"pydantic\.v1 is deprecated.*In responses=\{\}, please update",
): ):

3
tests/test_regex_deprecated_body.py

@ -3,6 +3,7 @@ from typing import Annotated
import pytest import pytest
from dirty_equals import IsDict from dirty_equals import IsDict
from fastapi import FastAPI, Form from fastapi import FastAPI, Form
from fastapi.exceptions import FastAPIDeprecationWarning
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
from .utils import needs_py310 from .utils import needs_py310
@ -10,7 +11,7 @@ from .utils import needs_py310
def get_client(): def get_client():
app = FastAPI() app = FastAPI()
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.post("/items/") @app.post("/items/")
async def read_items( async def read_items(

3
tests/test_regex_deprecated_params.py

@ -3,6 +3,7 @@ from typing import Annotated
import pytest import pytest
from dirty_equals import IsDict from dirty_equals import IsDict
from fastapi import FastAPI, Query from fastapi import FastAPI, Query
from fastapi.exceptions import FastAPIDeprecationWarning
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
from .utils import needs_py310 from .utils import needs_py310
@ -10,7 +11,7 @@ from .utils import needs_py310
def get_client(): def get_client():
app = FastAPI() app = FastAPI()
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/items/") @app.get("/items/")
async def read_items( async def read_items(

21
tests/test_schema_extra_examples.py

@ -3,6 +3,7 @@ from typing import Union
import pytest import pytest
from dirty_equals import IsDict from dirty_equals import IsDict
from fastapi import Body, Cookie, FastAPI, Header, Path, Query from fastapi import Body, Cookie, FastAPI, Header, Path, Query
from fastapi.exceptions import FastAPIDeprecationWarning
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
from pydantic import BaseModel, ConfigDict from pydantic import BaseModel, ConfigDict
@ -21,7 +22,7 @@ def create_app():
def schema_extra(item: Item): def schema_extra(item: Item):
return item return item
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.post("/example/") @app.post("/example/")
def example(item: Item = Body(example={"data": "Data in Body example"})): def example(item: Item = Body(example={"data": "Data in Body example"})):
@ -38,7 +39,7 @@ def create_app():
): ):
return item return item
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.post("/example_examples/") @app.post("/example_examples/")
def example_examples( def example_examples(
@ -83,7 +84,7 @@ def create_app():
# ): # ):
# return lastname # return lastname
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/path_example/{item_id}") @app.get("/path_example/{item_id}")
def path_example( def path_example(
@ -101,7 +102,7 @@ def create_app():
): ):
return item_id return item_id
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/path_example_examples/{item_id}") @app.get("/path_example_examples/{item_id}")
def path_example_examples( def path_example_examples(
@ -112,7 +113,7 @@ def create_app():
): ):
return item_id return item_id
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/query_example/") @app.get("/query_example/")
def query_example( def query_example(
@ -132,7 +133,7 @@ def create_app():
): ):
return data return data
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/query_example_examples/") @app.get("/query_example_examples/")
def query_example_examples( def query_example_examples(
@ -144,7 +145,7 @@ def create_app():
): ):
return data return data
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/header_example/") @app.get("/header_example/")
def header_example( def header_example(
@ -167,7 +168,7 @@ def create_app():
): ):
return data return data
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/header_example_examples/") @app.get("/header_example_examples/")
def header_example_examples( def header_example_examples(
@ -179,7 +180,7 @@ def create_app():
): ):
return data return data
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/cookie_example/") @app.get("/cookie_example/")
def cookie_example( def cookie_example(
@ -199,7 +200,7 @@ def create_app():
): ):
return data return data
with pytest.warns(DeprecationWarning): with pytest.warns(FastAPIDeprecationWarning):
@app.get("/cookie_example_examples/") @app.get("/cookie_example_examples/")
def cookie_example_examples( def cookie_example_examples(

3
tests/test_tutorial/test_pydantic_v1_in_v2/test_tutorial002.py

@ -2,6 +2,7 @@ import sys
import warnings import warnings
import pytest import pytest
from fastapi.exceptions import FastAPIDeprecationWarning
from inline_snapshot import snapshot from inline_snapshot import snapshot
from tests.utils import skip_module_if_py_gte_314 from tests.utils import skip_module_if_py_gte_314
@ -29,7 +30,7 @@ def get_client(request: pytest.FixtureRequest):
warnings.filterwarnings( warnings.filterwarnings(
"ignore", "ignore",
message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*", message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*",
category=DeprecationWarning, category=FastAPIDeprecationWarning,
) )
mod = importlib.import_module(f"docs_src.pydantic_v1_in_v2.{request.param}") mod = importlib.import_module(f"docs_src.pydantic_v1_in_v2.{request.param}")

3
tests/test_tutorial/test_pydantic_v1_in_v2/test_tutorial003.py

@ -2,6 +2,7 @@ import sys
import warnings import warnings
import pytest import pytest
from fastapi.exceptions import FastAPIDeprecationWarning
from inline_snapshot import snapshot from inline_snapshot import snapshot
from tests.utils import skip_module_if_py_gte_314 from tests.utils import skip_module_if_py_gte_314
@ -29,7 +30,7 @@ def get_client(request: pytest.FixtureRequest):
warnings.filterwarnings( warnings.filterwarnings(
"ignore", "ignore",
message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*", message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*",
category=DeprecationWarning, category=FastAPIDeprecationWarning,
) )
mod = importlib.import_module(f"docs_src.pydantic_v1_in_v2.{request.param}") mod = importlib.import_module(f"docs_src.pydantic_v1_in_v2.{request.param}")

3
tests/test_tutorial/test_pydantic_v1_in_v2/test_tutorial004.py

@ -2,6 +2,7 @@ import sys
import warnings import warnings
import pytest import pytest
from fastapi.exceptions import FastAPIDeprecationWarning
from inline_snapshot import snapshot from inline_snapshot import snapshot
from tests.utils import skip_module_if_py_gte_314 from tests.utils import skip_module_if_py_gte_314
@ -29,7 +30,7 @@ def get_client(request: pytest.FixtureRequest):
warnings.filterwarnings( warnings.filterwarnings(
"ignore", "ignore",
message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*", message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*",
category=DeprecationWarning, category=FastAPIDeprecationWarning,
) )
mod = importlib.import_module(f"docs_src.pydantic_v1_in_v2.{request.param}") mod = importlib.import_module(f"docs_src.pydantic_v1_in_v2.{request.param}")

2
tests/test_tutorial/test_query_params_str_validations/test_tutorial004.py

@ -18,7 +18,7 @@ from ...utils import needs_py310
marks=( marks=(
needs_py310, needs_py310,
pytest.mark.filterwarnings( pytest.mark.filterwarnings(
"ignore:`regex` has been deprecated, please use `pattern` instead:DeprecationWarning" "ignore:`regex` has been deprecated, please use `pattern` instead:fastapi.exceptions.FastAPIDeprecationWarning"
), ),
), ),
), ),

3
tests/test_tutorial/test_request_form_models/test_tutorial002_pv1.py

@ -2,6 +2,7 @@ import importlib
import warnings import warnings
import pytest import pytest
from fastapi.exceptions import FastAPIDeprecationWarning
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
from ...utils import needs_pydanticv1 from ...utils import needs_pydanticv1
@ -19,7 +20,7 @@ def get_client(request: pytest.FixtureRequest):
warnings.filterwarnings( warnings.filterwarnings(
"ignore", "ignore",
message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*", message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*",
category=DeprecationWarning, category=FastAPIDeprecationWarning,
) )
mod = importlib.import_module(f"docs_src.request_form_models.{request.param}") mod = importlib.import_module(f"docs_src.request_form_models.{request.param}")

3
tests/test_tutorial/test_schema_extra_example/test_tutorial001_pv1.py

@ -2,6 +2,7 @@ import importlib
import warnings import warnings
import pytest import pytest
from fastapi.exceptions import FastAPIDeprecationWarning
from fastapi.testclient import TestClient from fastapi.testclient import TestClient
from inline_snapshot import snapshot from inline_snapshot import snapshot
@ -20,7 +21,7 @@ def get_client(request: pytest.FixtureRequest):
warnings.filterwarnings( warnings.filterwarnings(
"ignore", "ignore",
message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*", message=r"pydantic\.v1 is deprecated and will soon stop being supported by FastAPI\..*",
category=DeprecationWarning, category=FastAPIDeprecationWarning,
) )
mod = importlib.import_module(f"docs_src.schema_extra_example.{request.param}") mod = importlib.import_module(f"docs_src.schema_extra_example.{request.param}")

Loading…
Cancel
Save