mirror of https://github.com/tiangolo/fastapi.git
✅ Simplify tests for `settings` (#13505)
Co-authored-by: Valentyn Druzhynin <v.druzhynin@zakaz.global>
This commit is contained in:
parent
45fefe88cf
commit
85a2eed888
|
|
@ -1,14 +1,26 @@
|
|||
import importlib
|
||||
|
||||
import pytest
|
||||
from fastapi.testclient import TestClient
|
||||
from pytest import MonkeyPatch
|
||||
|
||||
from ...utils import needs_pydanticv2
|
||||
from ...utils import needs_pydanticv1, needs_pydanticv2
|
||||
|
||||
|
||||
@needs_pydanticv2
|
||||
def test_settings(monkeypatch: MonkeyPatch):
|
||||
@pytest.fixture(
|
||||
name="app",
|
||||
params=[
|
||||
pytest.param("tutorial001", marks=needs_pydanticv2),
|
||||
pytest.param("tutorial001_pv1", marks=needs_pydanticv1),
|
||||
],
|
||||
)
|
||||
def get_app(request: pytest.FixtureRequest, monkeypatch: MonkeyPatch):
|
||||
monkeypatch.setenv("ADMIN_EMAIL", "admin@example.com")
|
||||
from docs_src.settings.tutorial001 import app
|
||||
mod = importlib.import_module(f"docs_src.settings.{request.param}")
|
||||
return mod.app
|
||||
|
||||
|
||||
def test_settings(app):
|
||||
client = TestClient(app)
|
||||
response = client.get("/info")
|
||||
assert response.status_code == 200, response.text
|
||||
|
|
|
|||
|
|
@ -1,19 +0,0 @@
|
|||
from fastapi.testclient import TestClient
|
||||
from pytest import MonkeyPatch
|
||||
|
||||
from ...utils import needs_pydanticv1
|
||||
|
||||
|
||||
@needs_pydanticv1
|
||||
def test_settings(monkeypatch: MonkeyPatch):
|
||||
monkeypatch.setenv("ADMIN_EMAIL", "admin@example.com")
|
||||
from docs_src.settings.tutorial001_pv1 import app
|
||||
|
||||
client = TestClient(app)
|
||||
response = client.get("/info")
|
||||
assert response.status_code == 200, response.text
|
||||
assert response.json() == {
|
||||
"app_name": "Awesome API",
|
||||
"admin_email": "admin@example.com",
|
||||
"items_per_user": 50,
|
||||
}
|
||||
Loading…
Reference in New Issue