]> git.ipfire.org Git - thirdparty/fastapi/fastapi.git/commitdiff
✅ Simplify tests for additional_status_codes (#13149)
authorSebastián Ramírez <tiangolo@gmail.com>
Fri, 3 Jan 2025 09:47:55 +0000 (09:47 +0000)
committerGitHub <noreply@github.com>
Fri, 3 Jan 2025 09:47:55 +0000 (09:47 +0000)
tests/test_tutorial/test_additional_status_codes/test_tutorial001.py
tests/test_tutorial/test_additional_status_codes/test_tutorial001_an.py [deleted file]
tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py310.py [deleted file]
tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py39.py [deleted file]
tests/test_tutorial/test_additional_status_codes/test_tutorial001_py310.py [deleted file]

index c382cb5fe27ccb6587274bd0636b266398179e7b..b304f701534cde355002897fabfe83d0c4b39643 100644 (file)
@@ -1,17 +1,35 @@
+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}
diff --git a/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an.py b/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an.py
deleted file mode 100644 (file)
index 2cb2bb9..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-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}
diff --git a/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py310.py b/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py310.py
deleted file mode 100644 (file)
index c7660a3..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-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}
diff --git a/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py39.py b/tests/test_tutorial/test_additional_status_codes/test_tutorial001_an_py39.py
deleted file mode 100644 (file)
index 303c5db..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-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}
diff --git a/tests/test_tutorial/test_additional_status_codes/test_tutorial001_py310.py b/tests/test_tutorial/test_additional_status_codes/test_tutorial001_py310.py
deleted file mode 100644 (file)
index 02f2e18..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-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}