community.docker/tests/unit/plugins/module_utils
Paul Berruti 2019cd8f3c fix: Handle tag@digest format in pull_image methods
When using combined image:tag@digest references, parse_repository_tag
returns (repo, "tag@digest"). The Docker SDK and API don't accept
tag@digest in the tag parameter, causing "invalid tag format" errors.

This fix:
1. Adds build_pull_arguments() helper function to _util.py
2. Uses the helper in both pull_image implementations
3. When tag contains @ (but isn't a pure digest), passes the full
   reference as the repository/fromImage parameter instead of splitting

Tested formats:
- portainer/portainer-ee:2.35.0-alpine@sha256:abc...
- ghcr.io/gethomepage/homepage:v1.7@sha256:abc...
- localhost:5000/myapp:v2.0@sha256:abc...

The existing filter_images_by_tag already handles tag@digest for
lookups, so find_image continues to work correctly.

Includes comprehensive unit tests for build_pull_arguments().
2025-11-23 19:13:11 -08:00
..
_api Fix parse_repository_tag to handle images with both tag and digest 2025-11-22 16:58:54 -08:00
compose_v2_test_cases.py Add typing information, 2/n (#1178) 2025-10-25 01:16:04 +02:00
test__compose_v2.py Add typing information, 2/n (#1178) 2025-10-25 01:16:04 +02:00
test__copy.py Add typing information, 2/n (#1178) 2025-10-25 01:16:04 +02:00
test__image_archive.py Python code modernization, 8/n (#1179) 2025-10-25 00:36:04 +00:00
test__logfmt.py Add typing information, 2/n (#1178) 2025-10-25 01:16:04 +02:00
test__scramble.py Add typing information, 2/n (#1178) 2025-10-25 01:16:04 +02:00
test__util.py Fix _image_lookup to handle combined tag@digest format 2025-11-22 20:10:21 -08:00
test_pull_image.py fix: Handle tag@digest format in pull_image methods 2025-11-23 19:13:11 -08:00