Add interface function for deleting tags pointing to a manifest
This commit is contained in:
parent
bb01e08d44
commit
8cfb3f4fe8
3 changed files with 35 additions and 3 deletions
|
@ -209,7 +209,11 @@ def test_repository_tag_history(pre_oci_model):
|
|||
('devtable', 'history'),
|
||||
('buynlarge', 'orgrepo'),
|
||||
])
|
||||
def test_delete_tags(repo_namespace, repo_name, pre_oci_model):
|
||||
@pytest.mark.parametrize('via_manifest', [
|
||||
False,
|
||||
True,
|
||||
])
|
||||
def test_delete_tags(repo_namespace, repo_name, via_manifest, pre_oci_model):
|
||||
repository_ref = pre_oci_model.lookup_repository(repo_namespace, repo_name)
|
||||
tags = pre_oci_model.list_repository_tags(repository_ref)
|
||||
assert len(tags)
|
||||
|
@ -220,7 +224,12 @@ def test_delete_tags(repo_namespace, repo_name, pre_oci_model):
|
|||
|
||||
# Delete every tag in the repository.
|
||||
for tag in tags:
|
||||
assert pre_oci_model.delete_tag(repository_ref, tag.name)
|
||||
if via_manifest:
|
||||
assert pre_oci_model.delete_tag(repository_ref, tag.name)
|
||||
else:
|
||||
manifest = pre_oci_model.get_manifest_for_tag(tag)
|
||||
if manifest is not None:
|
||||
assert pre_oci_model.delete_tags_for_manifest(manifest)
|
||||
|
||||
# Make sure the tag is no longer found.
|
||||
with assert_query_count(1):
|
||||
|
|
Reference in a new issue