Provider acceptance tests for godaddy_dns_record #13

Closed
opened 2026-06-14 17:26:59 +00:00 by ldraney · 1 comment
Owner

Type

Feature

Summary

Terraform acceptance tests using resource.Test for the full plan/apply/destroy lifecycle.

User Story

As a provider developer, I want automated acceptance tests so that regressions in the plan/apply lifecycle are caught before release.

Context

Phase 2 of the testing strategy. Client integration tests (issue #4) proved the Go client works. Acceptance tests prove the Plugin Framework wiring works end-to-end.

Lineage

Parent: none
Story: dns-iac

Repo

godaddy-tofu

Scope

  • Acceptance test files at repo root (standard convention)
  • resource.Test with TF_ACC=1 gate
  • Test cases: basic A record create+read, TTL update, import by composite ID, destroy, data source read
  • Test domain from GODADDY_TEST_DOMAIN env var
  • TXT records with _test- prefix for isolation

File Targets

  • resource_dns_record_test.go (new)
  • data_source_dns_records_test.go (new)

Feature Flag

None

Test Expectations

  • TF_ACC=1 go test ./... -v runs all acceptance tests
  • Tests are idempotent and clean up after themselves

Acceptance Criteria

  • Create/Read/Update/Delete lifecycle passes
  • Import test passes
  • Data source read test passes
  • Tests clean up after themselves

Constraints

  • Runs against live GoDaddy API (rate limits apply)
  • Reuse retryOn429 pattern from client tests

Checklist

  • resource.Test for CRUD lifecycle
  • Import state test
  • Data source test
  • Cleanup via CheckDestroy

Depends on: DNS record resource, DNS data source
Follows: #4 (client integration tests, done)

### Type Feature ### Summary Terraform acceptance tests using `resource.Test` for the full plan/apply/destroy lifecycle. ### User Story As a provider developer, I want automated acceptance tests so that regressions in the plan/apply lifecycle are caught before release. ### Context Phase 2 of the testing strategy. Client integration tests (issue #4) proved the Go client works. Acceptance tests prove the Plugin Framework wiring works end-to-end. ### Lineage Parent: none Story: dns-iac ### Repo godaddy-tofu ### Scope - Acceptance test files at repo root (standard convention) - `resource.Test` with `TF_ACC=1` gate - Test cases: basic A record create+read, TTL update, import by composite ID, destroy, data source read - Test domain from `GODADDY_TEST_DOMAIN` env var - TXT records with `_test-` prefix for isolation ### File Targets - `resource_dns_record_test.go` (new) - `data_source_dns_records_test.go` (new) ### Feature Flag None ### Test Expectations - `TF_ACC=1 go test ./... -v` runs all acceptance tests - Tests are idempotent and clean up after themselves ### Acceptance Criteria - [ ] Create/Read/Update/Delete lifecycle passes - [ ] Import test passes - [ ] Data source read test passes - [ ] Tests clean up after themselves ### Constraints - Runs against live GoDaddy API (rate limits apply) - Reuse `retryOn429` pattern from client tests ### Checklist - [ ] resource.Test for CRUD lifecycle - [ ] Import state test - [ ] Data source test - [ ] Cleanup via CheckDestroy ### Related Depends on: DNS record resource, DNS data source Follows: #4 (client integration tests, done)
Author
Owner

Scope Review: READY

Review note: review-1458-2026-06-14

Scope is solid. All dependencies satisfied (#4, #11, #12 closed). File targets verified -- source files exist, test files correctly marked as new. 4 AC are concrete and agent-verifiable. Single repo, well under 5-minute rule.

Two documentation-layer gaps (non-blocking):

  • [SCOPE] Create project page project-godaddy-tofu with user-stories section
  • [SCOPE] Create architecture note arch-godaddy-tofu
## Scope Review: READY Review note: `review-1458-2026-06-14` Scope is solid. All dependencies satisfied (#4, #11, #12 closed). File targets verified -- source files exist, test files correctly marked as new. 4 AC are concrete and agent-verifiable. Single repo, well under 5-minute rule. Two documentation-layer gaps (non-blocking): - [SCOPE] Create project page `project-godaddy-tofu` with user-stories section - [SCOPE] Create architecture note `arch-godaddy-tofu`
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/godaddy-tofu#13
No description provided.