Problem
src/cli/operations/deploy/imperative/deployers/harness-deployer.ts (370 lines) has zero unit tests. It contains retry logic, polling, role resolution, create/update/delete branching, and error handling — all untested.
harness-mapper.test.ts covers the mapping layer but not the deployer orchestration.
What to test
createWithRetry — IAM role propagation retry behavior, max retries exhausted
waitForReady — polling success, timeout, FAILED terminal state
deploy() — create vs update branching based on existing state, partial failure handling, deletion of removed harnesses
teardown — reverse-order cleanup, error propagation
resolveRoleArn — CDK output key matching (both old and new construct layouts)
Context
Found during review of #1341.
Problem
src/cli/operations/deploy/imperative/deployers/harness-deployer.ts(370 lines) has zero unit tests. It contains retry logic, polling, role resolution, create/update/delete branching, and error handling — all untested.harness-mapper.test.tscovers the mapping layer but not the deployer orchestration.What to test
createWithRetry— IAM role propagation retry behavior, max retries exhaustedwaitForReady— polling success, timeout, FAILED terminal statedeploy()— create vs update branching based on existing state, partial failure handling, deletion of removed harnessesteardown— reverse-order cleanup, error propagationresolveRoleArn— CDK output key matching (both old and new construct layouts)Context
Found during review of #1341.