1
0
mirror of https://github.com/quay/quay.git synced 2026-10-23 09:49:06 +03:00
Files
Harish Govindarajulu d48eb49622 NO-ISSUE: test(omr): cover digest-push protection and missing-child rejection (#7427)
#7054 made SQLite the catalog: digest pushes get a temporary tag, and an
index whose child is not in the catalog is rejected. That supersedes
#7024 (PROJQUAY-12886) and #7033 (PROJQUAY-12913). This carries over the
test coverage from those two PRs that master does not have yet.

Store:
- re-push by digest after the temporary tag expired renews the existing
  row instead of adding one (the existing re-push test only re-pushes
  while the tag is still live)
- index PUT leaves the child's bytes, media type and tags untouched
- index with a missing child returns ChildManifestUnknownError with the
  child digest and writes no manifest, tag or manifestchild row

GC:
- a digest-pushed manifest and its blob survive upload-marker expiry
  and are collected once the temporary tag expires

Registry over HTTP:
- digest push survives GC until the temporary tag expires, then 404s
- tagged image survives upload-marker expiry
- index whose child was collected answers 400 MANIFEST_BLOB_UNKNOWN
  naming the child, and the tag is not created
- child pushed by digest then referenced by a tagged index keeps its
  content and survives GC

Test-only; no production or harness changes.


Claude-Session: https://claude.ai/code/session_01K3wbqTw3owBi8RT352YDoP

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-30 11:33:35 +00:00
..