End-to-end verification that the full event pipeline works.
POST /v1/events/forgejo
{source:"forgejo", type:"pr.created", subject:"rock/homelab#N"}
# 1. Check gateway audit log kubectl -n api logs -l app=api-gateway --since=60s | grep "event routed" # Expect: {"source":"forgejo","type":"pr.created","targets":"gotify,sqs:forgejo-events,temporal"} # 2. Check Gotify received message curl -s -H "X-Gotify-Key: <client-token>" gotify.notifications.svc/message | jq .messages[0] # Expect: title contains "pr.created" # 3. Check SMTP sidecar sent email kubectl -n notifications logs deploy/gotify -c smtp-emailer --since=60s | grep "Email sent" # Expect: "Email sent for message N: pr.created" # 4. Check inbox # Expect: email at [email protected] within 60s # 5. Check SQS queue curl -s sqs-mgmt.sqs.svc/queue/forgejo-events/messages # Expect: event JSON with source=forgejo, type=pr.created # 6. Check Temporal ObserverWorkflow # Temporal Web UI → observer-main → Event History → SignalExternalWorkflowExecutionInitiated # Expect: signal contains the pr.created event # 7. Check goal evaluation kubectl -n poimen logs deploy/poimen-workflows --since=60s | grep "goal evaluated" # Expect: pr_review_sla timer started for this PR
pr.merged
No dependencies set.
The note is not visible to the blocked user.
What
End-to-end verification that the full event pipeline works.
Depends On
Test Scenario
Happy Path
POST /v1/events/forgejo{source:"forgejo", type:"pr.created", subject:"rock/homelab#N"}Verification Commands
Failure Scenarios
Acceptance
pr.mergedevent flows through same pipeline with correct type