Validation: Implement 10 remaining IaC resources for beta and App Store submission
Verdict: PASS
Ticket
ldraney/appstoreconnect-tofu#15 — Implement 10 remaining IaC resources for beta (ch13) and App Store submission (ch14) in the appstoreconnect-tofu provider.
Board item #1982 on board-platform-playbook (8 points). Merged via PR #16 (ch13, 4 resources) and PR #17 (ch14, 6 resources).
Environment
Local validation against
ldraney/appstoreconnect-tofu main branch. HEAD: 9c31bb2 (Add Chapter 14 App Store submission resources). Go build and test suite. This is a Terraform provider source repo (Go code), not a Terraform configuration repo — tofu plan does not apply; validation is via go build and go test.Tiers Executed
- Tier 1 (Local): Pull main,
go build ./...,go test ./... -count=1 - Tier 2 (Staging): N/A — no staging deployment for a provider binary
- Tier 3 (Prod): Verified repo state on origin/main — both PRs merged, issue closed, all files present in HEAD tree
Checks
| # | Criterion | How Verified | Result | Evidence |
|---|---|---|---|---|
| 1 | All 10 resources have client methods with tests | <code>ls pkg/appstoreconnect/*.go</code> + <code>go test ./...</code> | PASS | 10 new client files present (4 ch13 + 6 ch14), 17 total test files in pkg/appstoreconnect/, all tests pass |
| 2 | All 10 resources have Terraform resource/data source with schema tests | <code>ls resource_*.go data_source_*.go</code> + provider.go registration | PASS | 15 resources and 15 data sources registered in provider.go (5 original + 10 new each) |
| 3 | <code>go build</code> and <code>go test ./...</code> pass | <code>go build ./...</code> (exit 0), <code>go test ./... -count=1</code> | PASS | Build: exit code 0 (no errors). Tests: both packages ok (root 0.006s, pkg/appstoreconnect 0.040s) |
| 4 | README resource table updated | <code>grep README.md</code> | PASS | All 15 resources listed with endpoints and priority levels (P3 for ch13, P4 for ch14) |
| 5 | Codegen resourceDef entries added so types regenerate from spec | <code>grep cmd/openapi-gen/main.go</code> | PASS | resourceDef entries present for all 10 new resource types plus 3 new enum definitions |
Regression Check
go build ./... compiles the entire provider (original 6 resources + 10 new) without errors. go test ./... passes all tests across both packages. No regressions detected — original resources (app, bundle_id, profile, device, beta_group, certificates) continue to function.Discovered Issues
Local workspace contamination (non-blocking): The local working tree at
/home/ldraney/appstoreconnect-tofu had all 60+ new files from PRs #16 and #17 staged for deletion (git rm). This appears to be leftover from a prior agent workspace operation. The repo on Forgejo (origin/main at 9c31bb2) is correct — all files exist in the HEAD commit tree. Resolved by git stash during validation. No Forgejo issue needed — this is a local workspace artifact, not a code defect.