mirror of
https://github.com/fastapi/fastapi.git
synced 2026-03-30 20:54:03 -04:00
✅ Simplify tests for settings (#13505)
Co-authored-by: Valentyn Druzhynin <v.druzhynin@zakaz.global>
This commit is contained in:
@@ -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,
|
||||
}
|
||||
Reference in New Issue
Block a user