Fix bug in V1 delete tag code and add a test
This commit is contained in:
parent
077c3908e4
commit
7567808a10
3 changed files with 26 additions and 7 deletions
|
@ -14,6 +14,7 @@ class V1ProtocolSteps(Enum):
|
|||
GET_IMAGES = 'get-images'
|
||||
PUT_TAG = 'put-tag'
|
||||
PUT_IMAGE_JSON = 'put-image-json'
|
||||
DELETE_TAG = 'delete-tag'
|
||||
|
||||
|
||||
class V1Protocol(RegistryProtocol):
|
||||
|
@ -192,3 +193,18 @@ class V1Protocol(RegistryProtocol):
|
|||
expected_status=204, headers=headers)
|
||||
|
||||
return PushResult(checksums=None, manifests=None, headers=headers)
|
||||
|
||||
def delete(self, session, namespace, repo_name, tag_names, credentials=None,
|
||||
expected_failure=None, options=None):
|
||||
auth = self._auth_for_credentials(credentials)
|
||||
tag_names = [tag_names] if isinstance(tag_names, str) else tag_names
|
||||
|
||||
# Ping!
|
||||
self.ping(session)
|
||||
|
||||
for tag_name in tag_names:
|
||||
# DELETE /v1/repositories/{namespace}/{repository}/tags/{tag}
|
||||
self.conduct(session, 'DELETE',
|
||||
'/v1/repositories/%s/tags/%s' % (self.repo_name(namespace, repo_name), tag_name),
|
||||
auth=auth,
|
||||
expected_status=(200, expected_failure, V1ProtocolSteps.DELETE_TAG))
|
||||
|
|
Reference in a new issue