v1.0.0-rc1)Self-contained scenarios required before 1.0-RC
packaging; all are implemented under internal/smoke with
t.TempDir(), no external S3, and HTTP only via
httptest (webhook rows).
| Scenario | Test (Go) | Notes |
|---|---|---|
| Filesystem → local | TestSmoke_filesystemLocal_minimal |
testdata/smoke/filesystem-local/ |
| Encrypted filesystem → local | TestSmoke_filesystemLocal_encrypted |
testdata/smoke/filesystem-local-encrypted/ +
IOB_SMOKE_BK_KEY |
| Verify after successful run | TestSmoke_Verify_afterRun |
VerifyArtifact after RunSuccess |
| Webhook success | TestSmoke_Webhook_success |
httptest + on_success job-level hook |
| Webhook failure / timeout | TestSmoke_Webhook_timeout_or_failure |
Non-2xx + client timeout; run still succeeds |
| Cancel | TestSmoke_Cancel_blockingSource |
fault_smoke_test.go + fault source |
| Timeout | TestSmoke_Timeout_slowStream |
Short job timeout + slow source |
| Destination failure | TestSmoke_Failure_destFailBeforeWrite |
Fault destination before write |
| Recovery stale pending run | TestSmoke_Recovery_stalePendingRun |
Pre-seeded DB + agent reopen |
| Idempotency replay | TestSmoke_Idempotency_replaySameRun |
Same idempotency key → same run_id |
| Agent restart (same DB) | TestSmoke_e2e_lab_agentRestartSameDB |
internal/smoke/e2e_lab_restart_test.go (E2E lab
0.58) |
Gates:
go test ./internal/smoke -count=1 and
go test ./internal/smoke -count=10 (stability).
Related:
docs/providers/provider-smoke-coverage.md,
docs/internal/reports/examples-to-smoke-matrix.md.