fix: resolve schemathesis and live test failures

- Add 403 response to all RBAC-gated endpoints (schemathesis UndefinedStatusCode)
- Add 400 response to all endpoints accepting JSON bodies (malformed input)
- Add required 'title' field to schemathesis.toml for schemathesis 4.15+
- Add xdist_group markers to live tests with module-scoped fixtures to
  prevent xdist from distributing them across workers (fixture isolation)
This commit is contained in:
2026-04-16 01:39:04 -04:00
parent 29578d9d99
commit 89099b903d
16 changed files with 26 additions and 5 deletions

View File

@@ -97,6 +97,7 @@ async def token(live_client):
@pytest.mark.live
@pytest.mark.xdist_group("health_live")
class TestHealthLive:
"""Live integration tests — real DB, real Docker check, real task state."""

View File

@@ -128,6 +128,7 @@ async def token(live_client):
@pytest.mark.live
@pytest.mark.xdist_group("service_isolation_live")
class TestCollectorLiveIsolation:
"""Real collector behaviour against the actual Docker daemon."""
@@ -203,6 +204,7 @@ class TestCollectorLiveIsolation:
@pytest.mark.live
@pytest.mark.xdist_group("service_isolation_live")
class TestIngesterLiveIsolation:
"""Real ingester against real DB and real filesystem."""
@@ -312,6 +314,7 @@ class TestIngesterLiveIsolation:
@pytest.mark.live
@pytest.mark.xdist_group("service_isolation_live")
class TestAttackerWorkerLiveIsolation:
"""Real attacker worker against real DB."""
@@ -360,6 +363,7 @@ class TestAttackerWorkerLiveIsolation:
@pytest.mark.live
@pytest.mark.xdist_group("service_isolation_live")
class TestSnifferLiveIsolation:
"""Real sniffer against the actual host network stack."""
@@ -396,6 +400,7 @@ class TestSnifferLiveIsolation:
@pytest.mark.live
@pytest.mark.xdist_group("service_isolation_live")
class TestApiLifespanLiveIsolation:
"""Real API lifespan against real DB and real host state."""
@@ -442,6 +447,7 @@ class TestApiLifespanLiveIsolation:
@pytest.mark.live
@pytest.mark.xdist_group("service_isolation_live")
class TestCascadeLiveIsolation:
"""Verify that real component failures do not cascade."""