Fix webhook starvation and isolate scheduled job failures for v0.1.2 [skip ci]
This commit is contained in:
@@ -373,3 +373,30 @@ def test_ai_layout_sends_metadata_only_and_validates_response(
|
||||
assert b"test-ai-secret" not in calls[0]["body"]
|
||||
assert image.getvalue() not in calls[0]["body"]
|
||||
assert calls[0]["headers"]["Authorization"] == "Bearer test-ai-secret"
|
||||
|
||||
|
||||
def test_webhook_matching_event_after_unrelated_backlog(client, service, monkeypatch):
|
||||
import json
|
||||
|
||||
service.settings.image_url_hosts.append("example.com")
|
||||
response = client.post(
|
||||
"/api/v1/webhooks",
|
||||
json={
|
||||
"callback_url": "https://example.com/events",
|
||||
"event_types": ["operation.failed"],
|
||||
},
|
||||
)
|
||||
assert response.status_code == 201
|
||||
for _ in range(500):
|
||||
service.db.event("display.changed", {})
|
||||
service.db.event("operation.failed", {"operation_id": "expected"})
|
||||
sent = []
|
||||
monkeypatch.setattr(
|
||||
service.assets, "fetch_url", lambda url, **kwargs: sent.append(kwargs) or b""
|
||||
)
|
||||
service.webhooks.tick()
|
||||
service.webhooks.last = 0
|
||||
service.webhooks.tick()
|
||||
assert len(sent) == 1
|
||||
assert json.loads(sent[0]["body"])["data"] == {"operation_id": "expected"}
|
||||
assert len(service.db.all("SELECT * FROM webhook_deliveries")) == 1
|
||||
|
||||
Reference in New Issue
Block a user