+import importlib
+
+import pytest
from fastapi.testclient import TestClient
-from docs_src.additional_status_codes.tutorial001 import app
+from ...utils import needs_py39, needs_py310
+
+
+@pytest.fixture(
+ name="client",
+ params=[
+ "tutorial001",
+ pytest.param("tutorial001_py310", marks=needs_py310),
+ "tutorial001_an",
+ pytest.param("tutorial001_an_py39", marks=needs_py39),
+ pytest.param("tutorial001_an_py310", marks=needs_py310),
+ ],
+)
+def get_client(request: pytest.FixtureRequest):
+ mod = importlib.import_module(f"docs_src.additional_status_codes.{request.param}")
-client = TestClient(app)
+ client = TestClient(mod.app)
+ return client
-def test_update():
+def test_update(client: TestClient):
response = client.put("/items/foo", json={"name": "Wrestlers"})
assert response.status_code == 200, response.text
assert response.json() == {"name": "Wrestlers", "size": None}
-def test_create():
+def test_create(client: TestClient):
response = client.put("/items/red", json={"name": "Chillies"})
assert response.status_code == 201, response.text
assert response.json() == {"name": "Chillies", "size": None}
+++ /dev/null
-from fastapi.testclient import TestClient
-
-from docs_src.additional_status_codes.tutorial001_an import app
-
-client = TestClient(app)
-
-
-def test_update():
- response = client.put("/items/foo", json={"name": "Wrestlers"})
- assert response.status_code == 200, response.text
- assert response.json() == {"name": "Wrestlers", "size": None}
-
-
-def test_create():
- response = client.put("/items/red", json={"name": "Chillies"})
- assert response.status_code == 201, response.text
- assert response.json() == {"name": "Chillies", "size": None}
+++ /dev/null
-import pytest
-from fastapi.testclient import TestClient
-
-from ...utils import needs_py310
-
-
-@pytest.fixture(name="client")
-def get_client():
- from docs_src.additional_status_codes.tutorial001_an_py310 import app
-
- client = TestClient(app)
- return client
-
-
-@needs_py310
-def test_update(client: TestClient):
- response = client.put("/items/foo", json={"name": "Wrestlers"})
- assert response.status_code == 200, response.text
- assert response.json() == {"name": "Wrestlers", "size": None}
-
-
-@needs_py310
-def test_create(client: TestClient):
- response = client.put("/items/red", json={"name": "Chillies"})
- assert response.status_code == 201, response.text
- assert response.json() == {"name": "Chillies", "size": None}
+++ /dev/null
-import pytest
-from fastapi.testclient import TestClient
-
-from ...utils import needs_py39
-
-
-@pytest.fixture(name="client")
-def get_client():
- from docs_src.additional_status_codes.tutorial001_an_py39 import app
-
- client = TestClient(app)
- return client
-
-
-@needs_py39
-def test_update(client: TestClient):
- response = client.put("/items/foo", json={"name": "Wrestlers"})
- assert response.status_code == 200, response.text
- assert response.json() == {"name": "Wrestlers", "size": None}
-
-
-@needs_py39
-def test_create(client: TestClient):
- response = client.put("/items/red", json={"name": "Chillies"})
- assert response.status_code == 201, response.text
- assert response.json() == {"name": "Chillies", "size": None}
+++ /dev/null
-import pytest
-from fastapi.testclient import TestClient
-
-from ...utils import needs_py310
-
-
-@pytest.fixture(name="client")
-def get_client():
- from docs_src.additional_status_codes.tutorial001_py310 import app
-
- client = TestClient(app)
- return client
-
-
-@needs_py310
-def test_update(client: TestClient):
- response = client.put("/items/foo", json={"name": "Wrestlers"})
- assert response.status_code == 200, response.text
- assert response.json() == {"name": "Wrestlers", "size": None}
-
-
-@needs_py310
-def test_create(client: TestClient):
- response = client.put("/items/red", json={"name": "Chillies"})
- assert response.status_code == 201, response.text
- assert response.json() == {"name": "Chillies", "size": None}