This commit is contained in:
Roman Postnov 2026-02-06 19:06:40 +00:00 committed by GitHub
commit f77102c0f8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 22 additions and 0 deletions

View File

@ -1,4 +1,5 @@
import importlib
from functools import lru_cache
from types import ModuleType
import pytest
@ -16,6 +17,7 @@ from ...utils import needs_py310
pytest.param("tutorial005_an_py39"),
pytest.param("tutorial005_an_py310", marks=needs_py310),
],
scope="module",
)
def get_mod(request: pytest.FixtureRequest):
mod = importlib.import_module(f"docs_src.security.{request.param}")
@ -23,6 +25,20 @@ def get_mod(request: pytest.FixtureRequest):
return mod
@pytest.fixture(scope="module", autouse=True)
def cache_verify_password(mod: ModuleType):
assert hasattr(mod, "verify_password"), (
f"Module {mod.__name__} does not have attribute 'verify_password'"
)
original_func = mod.verify_password
cached_func = lru_cache()(original_func)
mod.verify_password = cached_func
yield
mod.verify_password = original_func
def get_access_token(
*, username="johndoe", password="secret", scope=None, client: TestClient
):

View File

@ -27,6 +27,7 @@ def clear_sqlmodel():
pytest.param("tutorial001_an_py39"),
pytest.param("tutorial001_an_py310", marks=needs_py310),
],
scope="module",
)
def get_client(request: pytest.FixtureRequest):
clear_sqlmodel()
@ -46,6 +47,8 @@ def get_client(request: pytest.FixtureRequest):
# Clean up connection explicitly to avoid resource warning
mod.engine.dispose()
mod.engine.dispose()
def test_crud_app(client: TestClient):
# TODO: this warns that SQLModel.from_orm is deprecated in Pydantic v1, refactor

View File

@ -27,6 +27,7 @@ def clear_sqlmodel():
pytest.param("tutorial002_an_py39"),
pytest.param("tutorial002_an_py310", marks=needs_py310),
],
scope="module",
)
def get_client(request: pytest.FixtureRequest):
clear_sqlmodel()
@ -46,6 +47,8 @@ def get_client(request: pytest.FixtureRequest):
# Clean up connection explicitly to avoid resource warning
mod.engine.dispose()
mod.engine.dispose()
def test_crud_app(client: TestClient):
# TODO: this warns that SQLModel.from_orm is deprecated in Pydantic v1, refactor