test(integration): fix BeforeTS timing + A2AQueue max-attempts seeding
ci-arm64-advisory / fast-checks (pull_request) Waiting to run
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Successful in 1s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 4s
CI / Python Lint & Test (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 4s
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 4s
CI / Detect changes (pull_request) Successful in 9s
gate-check-v3 / gate-check (pull_request_target) Successful in 5s
E2E API Smoke Test / detect-changes (pull_request) Successful in 8s
sop-checklist / review-refire (pull_request_target) Has been skipped
Harness Replays / detect-changes (pull_request) Successful in 10s
sop-checklist / all-items-acked (pull_request) acked: 0/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +4
sop-checklist / na-declarations (pull_request) N/A: (none)
security-review / approved (pull_request_target) Failing after 6s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 9s
CI / Canvas (Next.js) (pull_request) Successful in 2s
sop-checklist / all-items-acked (pull_request_target) Successful in 5s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 12s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E Chat / detect-changes (pull_request) Successful in 13s
sop-tier-check / tier-check (pull_request_target) Successful in 4s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 13s
Harness Replays / Harness Replays (pull_request) Successful in 1s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 5s
qa-review / approved (pull_request_target) Failing after 9s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 1s
E2E Chat / E2E Chat (pull_request) Successful in 4s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 57s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 53s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 1m30s
CI / Platform (Go) (pull_request) Successful in 3m52s
CI / all-required (pull_request) Successful in 2s
qa-review / approved (pull_request_review) Has been skipped
security-review / approved (pull_request_review) Has been skipped
audit-force-merge / audit (pull_request_target) Successful in 3s
sop-tier-check / tier-check (pull_request_review) Successful in 5s
ci-arm64-advisory / fast-checks (pull_request) Waiting to run
Lint shellcheck (arm64 pilot) / shellcheck-arm64 (pilot) (pull_request) Successful in 1s
Block internal-flavored paths / Block forbidden paths (pull_request) Successful in 4s
CI / Python Lint & Test (pull_request) Successful in 6s
Lint forbidden tenant-env keys / Scan workspace_secrets writers for forbidden env keys (pull_request) Successful in 4s
Lint forbidden tenant-env keys / Scan for repo-host token write into tenant workspace surface (pull_request) Successful in 4s
CI / Detect changes (pull_request) Successful in 9s
gate-check-v3 / gate-check (pull_request_target) Successful in 5s
E2E API Smoke Test / detect-changes (pull_request) Successful in 8s
sop-checklist / review-refire (pull_request_target) Has been skipped
Harness Replays / detect-changes (pull_request) Successful in 10s
sop-checklist / all-items-acked (pull_request) acked: 0/7 — missing: comprehensive-testing, local-postgres-e2e, staging-smoke, +4
sop-checklist / na-declarations (pull_request) N/A: (none)
security-review / approved (pull_request_target) Failing after 6s
Secret scan / Scan diff for credential-shaped strings (pull_request) Successful in 9s
CI / Canvas (Next.js) (pull_request) Successful in 2s
sop-checklist / all-items-acked (pull_request_target) Successful in 5s
Handlers Postgres Integration / detect-changes (pull_request) Successful in 12s
CI / Canvas Deploy Reminder (pull_request) Has been skipped
E2E Chat / detect-changes (pull_request) Successful in 13s
sop-tier-check / tier-check (pull_request_target) Successful in 4s
E2E Staging Canvas (Playwright) / detect-changes (pull_request) Successful in 13s
Harness Replays / Harness Replays (pull_request) Successful in 1s
CI / Shellcheck (E2E scripts) (pull_request) Successful in 5s
qa-review / approved (pull_request_target) Failing after 9s
E2E Staging Canvas (Playwright) / Canvas tabs E2E (pull_request) Successful in 1s
E2E Chat / E2E Chat (pull_request) Successful in 4s
lint-required-no-paths / lint-required-no-paths (pull_request) Successful in 57s
E2E API Smoke Test / E2E API Smoke Test (pull_request) Successful in 53s
Handlers Postgres Integration / Handlers Postgres Integration (pull_request) Successful in 1m30s
CI / Platform (Go) (pull_request) Successful in 3m52s
CI / all-required (pull_request) Successful in 2s
qa-review / approved (pull_request_review) Has been skipped
security-review / approved (pull_request_review) Has been skipped
audit-force-merge / audit (pull_request_target) Successful in 3s
sop-tier-check / tier-check (pull_request_review) Successful in 5s
- Use RFC3339Nano + 200ms gaps in BeforeTS test to avoid second- truncation and Go/Postgres clock skew. - Pre-set attempts=5 on seeded A2A queue item so MarkQueueItemFailed transitions to 'failed' on first call (attempts are normally incremented by DequeueNext, which the test bypasses). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -537,9 +537,11 @@ func TestIntegration_ActivityList_BeforeTS(t *testing.T) {
|
||||
seedActivityLog(t, conn, wsID, "agent_log", "old", "ok", nil, nil)
|
||||
|
||||
// Capture a timestamp between the two rows so only "old" is before it.
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
beforeTS := time.Now().UTC().Format(time.RFC3339)
|
||||
time.Sleep(50 * time.Millisecond)
|
||||
// Use nanosecond precision and a generous gap to avoid second-truncation
|
||||
// or clock-skew between Go time.Now() and Postgres now().
|
||||
time.Sleep(200 * time.Millisecond)
|
||||
beforeTS := time.Now().UTC().Format(time.RFC3339Nano)
|
||||
time.Sleep(200 * time.Millisecond)
|
||||
seedActivityLog(t, conn, wsID, "agent_log", "new", "ok", nil, nil)
|
||||
|
||||
h := NewActivityHandler(nil)
|
||||
@@ -960,8 +962,14 @@ func TestIntegration_A2AQueue_MarkCompletedAndFailed(t *testing.T) {
|
||||
t.Fatalf("expected completed, got %s", status)
|
||||
}
|
||||
|
||||
// Seed another item to test failed path with max attempts
|
||||
// Seed another item to test failed path with max attempts.
|
||||
// Pre-set attempts=5 so the first MarkQueueItemFailed sees attempts>=5
|
||||
// and transitions straight to failed (MarkQueueItemFailed increments
|
||||
// attempts on dispatch via DequeueNext, but we call it directly here).
|
||||
qid2 := seedA2AQueueItem(t, conn, wsID, "00000000-0000-0000-0000-000000000001", PriorityTask, body, "dispatched")
|
||||
if _, err := conn.ExecContext(context.Background(), `UPDATE a2a_queue SET attempts = 5 WHERE id = $1`, qid2); err != nil {
|
||||
t.Fatalf("set attempts: %v", err)
|
||||
}
|
||||
for i := 0; i < 6; i++ {
|
||||
MarkQueueItemFailed(context.Background(), qid2, "transient error")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user