Skip to content

feat(tests): add rehydration E2E test suite (FLPATH-3883)#19

Merged
chadcrum merged 1 commit into
dcm-project:mainfrom
chadcrum:e2e-rehydration-tests
Jun 4, 2026
Merged

feat(tests): add rehydration E2E test suite (FLPATH-3883)#19
chadcrum merged 1 commit into
dcm-project:mainfrom
chadcrum:e2e-rehydration-tests

Conversation

@chadcrum

@chadcrum chadcrum commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add comprehensive E2E test suite for intent-based rehydration (FLPATH-3883) — 9 test files covering happy path, failover, policy/sovereignty, negative cases, data integrity, API contract, CLI, and persistence
  • Add multi-provider infrastructure: 3 three-tier-app-demo service provider configs + compose overrides for east/west region testing
  • Add Makefile targets: test-rehydration, test-rehydration-safe, test-rehydration-cli

Jira: FLPATH-3883

Test files

File Coverage
rehydration_helpers_test.go Types, provider discovery, lifecycle helpers, policy helpers, K8s assertions
rehydration_happy_path_test.go Create → rehydrate → verify UID stable + resource_id changes + K8s resources
rehydration_failover_test.go Provider down → rehydrate moves workload → bidirectional failover + deferred delete
rehydration_policy_test.go Sovereignty constraints, intent/user_values preservation, policy-driven provider selection
rehydration_negative_test.go 404 non-existent, 424 no policies, 422 all providers down, 404 deleted instance
rehydration_data_integrity_test.go Resource consistency, metadata preservation, DNS-1035, CAS guard (FLPATH-4098), races
rehydration_api_contract_test.go RFC 7807 error response shapes (404, 424)
rehydration_cli_test.go dcm catalog instance rehydrate success + failure
rehydration_persistence_test.go SPRM restart during deferred cleanup

E2E results

39 Passed | 0 Failed | 3 Pending | 70 Skipped
  • 3 pending: PIt stubs for tests needing assertions (orphan check, deferred deletion queue, RFC 7807 422)
  • 70 skipped: no container SP, ACM SP, CLI binary, or cluster in this run

Test plan

  • go vet -tags e2e ./... passes clean
  • make test-e2e — 39 passed, 0 failed (multi-provider stack with podman)
  • Deep code review (3 reviewers: QE, Staff Engineer, Architect) — all said safe to merge
  • Redundancy check across all DCM repos — no overlap with existing tests

🤖 Generated with Claude Code

Add comprehensive E2E tests for intent-based rehydration across 9 test
files covering happy path, failover, policy/sovereignty, negative cases,
data integrity, API contract, CLI, and persistence. Includes multi-provider
infrastructure with 3 three-tier-app-demo service provider configs, compose
overrides for east/west region testing, and new Makefile targets.

Test categories:
- Happy path: create → rehydrate → verify UID stable + resource_id changes
- Failover: provider down → workload migration → bidirectional failover
- Policy: sovereignty constraints, intent/user_values preservation
- Negative: 404/424/422 error paths, deleted instance handling
- Data integrity: CAS guard (FLPATH-4098), concurrent races, DNS-1035
- API contract: RFC 7807 error response shapes
- CLI: dcm catalog instance rehydrate success/failure
- Persistence: SPRM restart during deferred cleanup

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Chad Crum <chadcrum@users.noreply.github.com>
@chadcrum chadcrum force-pushed the e2e-rehydration-tests branch from 6bd56a2 to 795f22a Compare June 4, 2026 02:39

@gciavarrini gciavarrini left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@testetson22

Copy link
Copy Markdown
Contributor

lgtm

@chadcrum chadcrum merged commit cc0e22f into dcm-project:main Jun 4, 2026
5 checks passed
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.

3 participants