Skip to content

test(jobs): deploy-lifecycle workers to 95.8% coverage#49

Merged
mastermanas805 merged 1 commit into
masterfrom
coverage/worker-jobs-deploy-95
May 22, 2026
Merged

test(jobs): deploy-lifecycle workers to 95.8% coverage#49
mastermanas805 merged 1 commit into
masterfrom
coverage/worker-jobs-deploy-95

Conversation

@mastermanas805
Copy link
Copy Markdown
Member

Summary

  • Adds internal/jobs/deploy_lifecycle_coverage_test.go driving the seven deploy-lifecycle worker files to 95.8% statement coverage (was ~68% package-wide; these files were the long tail).
  • Covers deploy states, the k8s namespace-reaper passes, webhook delivery + retry + cursor advance, failure-autopsy paths, and the error branch of every reachable function.
  • Test-only — no production code touched.

Per-file statement coverage

file coverage
deployment_expirer.go 100%
deployment_reminder.go 100%
orphan_sweep_canceler.go 100%
orphan_sweep_reconciler.go 97.7%
deploy_status_reconcile.go 95.2%
deploy_notify_webhook.go 93.0%
deploy_failure_autopsy.go 91.4%
overall (7 files) 95.8%

Remaining uncovered lines are production *kubernetes.Clientset wrappers (require a live cluster), net.LookupIP, and defensive json.Marshal-of-primitive paths that cannot fail.

Test plan

  • go build ./... green
  • go vet ./... green
  • go test ./... -short -count=1 green (make gate)
  • go test ./internal/jobs -run 'TestDeploy|TestOrphan|TestReminder|TestExpirer' green

🤖 Generated with Claude Code

Adds deploy_lifecycle_coverage_test.go covering the deploy-lifecycle
worker surface: status reconcile (autopsy per-tick cap/defer, k8s
clientset constructor error path), failure autopsy (pod-log success +
error branches, current-terminated Error reason, oversize-event
truncation, scanner partial-read), notify webhook (cursor read/write
failures, empty batch, transient-DNS hold, SSRF-reject + no-webhook
cursor-advance errors, delivery-failed audit-insert error, fetchBatch
rows.Err, real pinned dial), deployment expirer (rows.Err, async audit
DB error), and deployment reminder (full sweep with CAS skip + hours
floor, scan error, rows.Err, CAS RowsAffected error).

Per-file statement coverage now: expirer/reminder/orphan_canceler 100%,
status_reconcile 95.2%, notify_webhook 93.0%, autopsy 91.4%,
orphan_reconciler 97.7% — 95.8% across the seven target files.
Remaining gaps are production k8s-clientset wrappers and defensive
json.Marshal-of-primitive paths that require a live cluster.

Test-only change. `make gate` (build + vet + go test ./... -short) green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mastermanas805 mastermanas805 merged commit 732367f into master May 22, 2026
10 checks passed
@mastermanas805 mastermanas805 deleted the coverage/worker-jobs-deploy-95 branch May 22, 2026 02:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant