Fix broken route53/vpc tests: mock pagination, drop AWS-hitting strays #4

Merged
johnpreston merged 2 commits from chore/test-cleanup into chore/ruff-linting 2026-09-13 20:52:01 +00:00
Owner
  • test_aws_route53: placebos were never committed (test left in record mode, playback commented out) -- replaced with mocked boto3 client pagination tests for list_all_hosted_zones/list_all_records, asserting markers and kwargs across pages
  • test_aws_vpc: removed session-less list_all_vpcs()/list_all_subnets() calls that hit real AWS before the playback part; playback tests now assert (3 VPCs; subnet test asserts count -- placebo replays GetResource in recorded order and the first files are VPC recordings, noted in a comment)
  • Added mocked pagination tests for list_all_vpcs/list_all_subnets

Suite fully green: 44 passed, no CI deselects needed.

- test_aws_route53: placebos were never committed (test left in **record** mode, playback commented out) -- replaced with mocked boto3 client pagination tests for list_all_hosted_zones/list_all_records, asserting markers and kwargs across pages - test_aws_vpc: removed session-less list_all_vpcs()/list_all_subnets() calls that hit real AWS before the playback part; playback tests now assert (3 VPCs; subnet test asserts count -- placebo replays GetResource in recorded order and the first files are VPC recordings, noted in a comment) - Added mocked pagination tests for list_all_vpcs/list_all_subnets Suite fully green: **44 passed**, no CI deselects needed.
- test_aws_route53: replace the never-committed placebo recordings
  (test was left in record mode) with mocked client pagination tests
  for list_all_hosted_zones and list_all_records
- test_aws_vpc: remove session-less list_all_vpcs()/list_all_subnets()
  calls that hit real AWS; keep placebo playback for the CloudControl
  lookups with assertions; add mocked pagination tests for
  list_all_vpcs/list_all_subnets
- Suite is fully green again: 44 passed, no CI deselects needed
Add Forgejo Actions CI and release workflows (#5)
All checks were successful
CI / Lint (ruff) (pull_request) Successful in 17s
CI / Tests (Python 3.11) (pull_request) Successful in 1m40s
CI / Tests (Python 3.12) (pull_request) Successful in 1m30s
CI / Tests (Python 3.13) (pull_request) Successful in 1m18s
CI / Tests (Python 3.14) (pull_request) Successful in 1m40s
CI / Docs build (pull_request) Successful in 1m39s
CI / Package build (pull_request) Successful in 1m20s
CI / Tests (Python 3.10) (pull_request) Successful in 2m51s
2bbd22c613
CI (push to main + PRs):
- lint: pre-commit (ruff-check + ruff-format)
- tests: pytest matrix on Python 3.10-3.14 with dummy AWS credentials for placebo replay
- docs: sphinx-apidoc + sphinx-build
- build: poetry build + twine check + artifact upload

Release (v* tags): poetry build, twine check, poetry publish to PyPI.

Containers pull from the public.ecr.aws docker.io mirror (anonymous, not throttled).

Before the first release: set the **PYPI_TOKEN** secret (Settings -> Secrets -> Actions). Runners must advertise the `docker` label and need github.com egress for the pre-commit hook repos.

Co-authored-by: John M <john@ews-network.net>
Reviewed-on: #5
johnpreston merged commit eba90869f2 into chore/ruff-linting 2026-09-13 20:52:01 +00:00
Sign in to join this conversation.
No reviewers
No labels
ci::lib
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
compose-x/compose-x-common!4
No description provided.