Pattern divergence in unit-test backend setup
The repo convention for snapshotted unit-test stacks is to pass gridBackendConfig: { address: "http://localhost:3000" } to the AwsStack constructor (see test/aws/encryption/secret.test.ts). Both routes exist because the PR #118-era fix for machine-dependent tfstate paths in snapshots was applied as new HttpBackend(stack, ...) in the conversion-series suites.
Current census: 50 test files use gridBackendConfig (canonical), 41 use new HttpBackend directly (tech debt, listed below). Synth output is identical, so migrating is a mechanical no-snapshot-churn change per file.
Files to migrate
Acceptance
- All listed files construct their stacks with
gridBackendConfig and drop the HttpBackend import.
grep -rl "new HttpBackend" test --include="*.test.ts" returns empty.
- No snapshot changes (identical backend JSON) — any churn indicates a mistake.
Pattern divergence in unit-test backend setup
The repo convention for snapshotted unit-test stacks is to pass
gridBackendConfig: { address: "http://localhost:3000" }to the AwsStack constructor (seetest/aws/encryption/secret.test.ts). Both routes exist because the PR #118-era fix for machine-dependent tfstate paths in snapshots was applied asnew HttpBackend(stack, ...)in the conversion-series suites.Current census: 50 test files use
gridBackendConfig(canonical), 41 usenew HttpBackenddirectly (tech debt, listed below). Synth output is identical, so migrating is a mechanical no-snapshot-churn change per file.Files to migrate
test/aws/compute/auto-scaling/aspects/require-imdsv2-aspect.test.tstest/aws/compute/auto-scaling/cfn-init.test.tstest/aws/compute/auto-scaling/lifecyclehooks.test.tstest/aws/compute/auto-scaling/scheduled-action.test.tstest/aws/compute/auto-scaling/warm-pool.test.tstest/aws/compute/batch/ecs-container-definition.test.tstest/aws/compute/batch/ecs-job-definition.test.tstest/aws/compute/batch/job-queue.test.tstest/aws/compute/batch/managed-compute-environment.test.tstest/aws/compute/batch/multinode-job-definition.test.tstest/aws/compute/batch/scheduling-policy.test.tstest/aws/compute/ecs/alternate-target-configuration.test.tstest/aws/compute/ecs/amis.test.tstest/aws/compute/ecs/app-mesh-proxy-configuration.test.tstest/aws/compute/ecs/aws-log-driver.test.tstest/aws/compute/ecs/base-service.test.tstest/aws/compute/ecs/container-definition.test.tstest/aws/compute/ecs/ec2/ec2-service.test.tstest/aws/compute/ecs/ec2/ec2-task-definition.test.tstest/aws/compute/ecs/environment-file.test.tstest/aws/compute/ecs/external/external-service.test.tstest/aws/compute/ecs/external/external-task-definition.test.tstest/aws/compute/ecs/fargate/fargate-service.test.tstest/aws/compute/ecs/fargate/fargate-task-definition.test.tstest/aws/compute/ecs/firelens-log-driver.test.tstest/aws/compute/ecs/gelf-log-driver.test.tstest/aws/compute/ecs/images/tag-parameter-container-image.test.tstest/aws/compute/ecs/journald-log-driver.test.tstest/aws/compute/ecs/json-file-log-driver.test.tstest/aws/compute/ecs/syslog-log-driver.test.tstest/aws/compute/ecs/task-definition.test.tstest/aws/compute/tasks/batch/submit-job.test.tstest/aws/edge/cloudmap/instance.test.tstest/aws/edge/cloudmap/namespace.test.tstest/aws/edge/cloudmap/service.test.tstest/aws/edge/distribution.test.tstest/aws/encryption/policy.test.tstest/aws/encryption/rotation-schedule.test.tstest/aws/storage/bucket.test.tstest/aws/storage/notification.test.tsAcceptance
gridBackendConfigand drop theHttpBackendimport.grep -rl "new HttpBackend" test --include="*.test.ts"returns empty.