Skip to content

Commit f1e9a76

Browse files
committed
Fix test state leaks: reset caches between tests, unique delivery IDs
Add autouse fixture to clear processed_deliveries/jobs/concurrent_jobs between tests. Use incrementing delivery IDs to prevent dedup hits.
1 parent 002f993 commit f1e9a76

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

tests/conftest.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,12 @@ def _mock_modal_decorators():
2929
def set_env(monkeypatch):
3030
monkeypatch.setenv("WEBHOOK_SECRET", "test-secret")
3131
monkeypatch.setenv("GITHUB_TOKEN", "ghp_test_token")
32+
33+
34+
@pytest.fixture(autouse=True)
35+
def reset_caches():
36+
import app
37+
38+
app._processed_deliveries.clear()
39+
app._processed_jobs.clear()
40+
app._concurrent_jobs.clear()

tests/test_app.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,22 @@
66
import httpx
77
import pytest
88

9+
_delivery_counter = 0
10+
11+
12+
def _next_delivery_id():
13+
global _delivery_counter
14+
_delivery_counter += 1
15+
return f"test-delivery-{_delivery_counter}"
16+
917

1018
def _sign(body: bytes, secret: str = "test-secret") -> str:
1119
return "sha256=" + hmac.new(secret.encode(), body, digestmod=hashlib.sha256).hexdigest()
1220

1321

14-
def _make_request(body: bytes, secret: str = "test-secret", delivery_id: str = "test-delivery-123"):
22+
def _make_request(body: bytes, secret: str = "test-secret", delivery_id: str | None = None):
23+
if delivery_id is None:
24+
delivery_id = _next_delivery_id()
1525
request = MagicMock()
1626
request.headers = {
1727
"Content-Type": "application/json",

0 commit comments

Comments
 (0)