test(site): prove creation and explicit recovery on both engines #6

Merged
Andreas merged 1 commit from test/site-create-proof into main 2026-10-02 13:28:32 +00:00
Owner

Closes the real provider-driven creation proof gap without production access or ownership changes.

Each engine now creates a basic site via the built provider with sensitive ephemeral bootstrap inputs, verifies saved-plan/state secrecy and actual device-account values, omits bootstrap inputs for a no-change plan, forgets only the disposable local state binding, verifies duplicate-name error -33101 with one original site/no implicit adoption, explicitly reimports by ID, verifies no-change, and destroys/verifies absence.

Adds client regressions for timeout/EOF after simulated commit: one POST only, no guessed identity, actionable inventory/import guidance and discoverable committed fixture. Also tests malformed/null/duplicate inventory failure, credential-echo diagnostic redaction, and proof-state identity parsing.

Validation: isolated network-none exact controller 6.3.0.45 proof passed with Terraform 1.16.4 and deployed OpenTofu 1.12.1; local unit tests/lint pass. No production credentials/backend, ports, host networking or adopted hardware; disposable container/volumes cleaned up. CI reruns full both-engine mock validation and packaging.

Still unproven: least-privilege service account, actual transport fault on controller, hardware deletion guards, credential rotation, artifact trust/delivery, and production no-change ownership transfer. Issue #3 remains open.

Closes the real provider-driven creation proof gap without production access or ownership changes. Each engine now creates a basic site via the built provider with sensitive ephemeral bootstrap inputs, verifies saved-plan/state secrecy and actual device-account values, omits bootstrap inputs for a no-change plan, forgets only the disposable local state binding, verifies duplicate-name error -33101 with one original site/no implicit adoption, explicitly reimports by ID, verifies no-change, and destroys/verifies absence. Adds client regressions for timeout/EOF after simulated commit: one POST only, no guessed identity, actionable inventory/import guidance and discoverable committed fixture. Also tests malformed/null/duplicate inventory failure, credential-echo diagnostic redaction, and proof-state identity parsing. Validation: isolated network-none exact controller 6.3.0.45 proof passed with Terraform 1.16.4 and deployed OpenTofu 1.12.1; local unit tests/lint pass. No production credentials/backend, ports, host networking or adopted hardware; disposable container/volumes cleaned up. CI reruns full both-engine mock validation and packaging. Still unproven: least-privilege service account, actual transport fault on controller, hardware deletion guards, credential rotation, artifact trust/delivery, and production no-change ownership transfer. Issue #3 remains open.
test(site): prove creation and explicit recovery on both engines
All checks were successful
Validate and package Omada provider / provider (pull_request) Successful in 3m55s
Validate and package Omada provider / provider (push) Successful in 3m58s
ab0b74221a
Sign in to join this conversation.
No reviewers
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
Andreas/terraform-provider-omada!6
No description provided.