Skip to content

test(coverage): drive providers/compute to ≥95% (k8s 17% → 95.9%)#147

Merged
mastermanas805 merged 1 commit into
masterfrom
coverage/api-providers-compute-95
May 22, 2026
Merged

test(coverage): drive providers/compute to ≥95% (k8s 17% → 95.9%)#147
mastermanas805 merged 1 commit into
masterfrom
coverage/api-providers-compute-95

Conversation

@mastermanas805
Copy link
Copy Markdown
Member

Summary

  • Drives internal/providers/compute/k8s from ~17% to 95.9% statement coverage; compute root and noop reach 100%.
  • All tests use k8s.io/client-go/kubernetes/fake + a fake dynamic client — no real cluster, no docker DB.
  • Covers build-job manifest assembly, Deployment/Service/Ingress/NetworkPolicy create+delete, status polling (running/failed/pending), namespace create+teardown, cert-manager TLS wiring, MinIO build-context upload (happy + create-bucket), extractTarGz filesystem-error branches, and every apierrors.IsNotFound / IsAlreadyExists error branch.
  • newDynamicClient converted to a package-level var so tests can inject a fake dynamic client for Certificate readiness; production fallback chain unchanged.

Test plan

  • go build ./... clean
  • go vet ./internal/providers/compute/... clean
  • go test ./internal/providers/compute/... -coverprofile -count=1 -p 1 → k8s 95.9%, compute 100%, noop 100%
  • Two consecutive runs: deterministic, 0 failures

🤖 Generated with Claude Code

Cover the k8s compute client end-to-end with fake clientsets (no real
cluster): build-job manifest assembly, deployment/service/ingress/NetworkPolicy
create+delete, status polling (running/failed/pending), namespace
create+teardown, cert-manager TLS wiring, and every apierrors error branch
(IsNotFound / IsAlreadyExists). Adds buildImage error-path coverage, MinIO
build-context upload happy + create-bucket paths via an in-process S3 stub,
extractTarGz filesystem-error branches, and the isUnderDir traversal guards.
noop + compute root packages reach 100%.

newDynamicClient becomes a package-level var so tests can inject a fake
dynamic client for cert-manager Certificate readiness checks.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mastermanas805 mastermanas805 merged commit 3636d9a into master May 22, 2026
11 checks passed
@mastermanas805 mastermanas805 deleted the coverage/api-providers-compute-95 branch May 22, 2026 02:27
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