spawn/test
A cbb6198258
test: add Fly.io failure-mode tests for SSH tunnel, API errors (#1579) (#1590)
Add mock tests covering real failure scenarios that were previously
untested despite 36/36 happy-path tests passing:

- API rate limit (429): mock curl returns 429 for cloud API calls
- Machine creation failure (422): mock curl returns 422 for POST to */machines*
- SSH tunnel failure: fly ssh console / fly machine exec exit non-zero
  (simulates WireGuard tunnel context deadline exceeded)
- SSH timeout: fly CLI never returns "ok", _fly_wait_for_ssh exhausts retries

The fly mock now checks MOCK_ERROR_SCENARIO to simulate CLI-level failures
(ssh_tunnel_failure, ssh_timeout) in addition to the existing curl-level
error injection (rate_limit, create_failure).

Agent: test-engineer

Co-authored-by: B <6723574+louisgv@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 10:43:17 -05:00
..
fixtures fix: address architectural brittleness in Fly.io integration (issue #1581) (#1585) 2026-02-21 07:19:23 -08:00
e2e.sh feat: remove OVH cloud and make featured_cloud an array (#1474) 2026-02-19 11:06:27 -08:00
macos-compat.sh fix: exclude echo -n from macos-compat MC002 rule to eliminate false positives (#1545) 2026-02-20 23:36:47 -05:00
mock-curl-script.sh fix: hide cloud API tokens from process argument list (#1519) 2026-02-20 12:51:55 +00:00
mock.sh test: add Fly.io failure-mode tests for SSH tunnel, API errors (#1579) (#1590) 2026-02-21 10:43:17 -05:00
qa-dry-run.sh feat: E2E test harness, QA pipeline integration, macOS compat linter (#1425) 2026-02-17 20:41:07 -05:00
record.sh fix: pass response via env var in record.sh has_api_error (SC2259) (#1559) 2026-02-21 05:47:50 -05:00
run.sh fix: report temp file leaks in _assert_no_temp_leaks test assertion (#1558) 2026-02-21 04:45:09 -05:00
test-sandbox.sh fix: enhance sandbox test to detect agent directory residue (#1417) 2026-02-17 12:52:24 -05:00
update-readme.py QA-Bot setup (#335) 2026-02-10 19:51:07 -08:00