Change revert tag into restore tag and add manifest support
This commit is contained in:
parent
35752176b5
commit
e90cab4d77
4 changed files with 137 additions and 56 deletions
|
@ -32,7 +32,7 @@ from util.secscan.fake import fake_security_scanner
|
|||
|
||||
from endpoints.api.team import (TeamMember, TeamMemberList, TeamMemberInvite, OrganizationTeam,
|
||||
TeamPermissions, InviteTeamMember)
|
||||
from endpoints.api.tag import RepositoryTagImages, RepositoryTag, RevertTag, ListRepositoryTags
|
||||
from endpoints.api.tag import RepositoryTagImages, RepositoryTag, RestoreTag, ListRepositoryTags
|
||||
from endpoints.api.search import EntitySearch, ConductSearch
|
||||
from endpoints.api.image import RepositoryImage, RepositoryImageList
|
||||
from endpoints.api.build import RepositoryBuildStatus, RepositoryBuildList, RepositoryBuildResource
|
||||
|
@ -2872,24 +2872,32 @@ class TestGetImageChanges(ApiTestCase):
|
|||
# image_id=image_id))
|
||||
|
||||
|
||||
class TestRevertTag(ApiTestCase):
|
||||
def test_reverttag_invalidtag(self):
|
||||
class TestRestoreTag(ApiTestCase):
|
||||
def test_restoretag_invalidtag(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
||||
self.postResponse(RevertTag,
|
||||
self.postResponse(RestoreTag,
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/history', tag='invalidtag'),
|
||||
data=dict(image='invalid_image'),
|
||||
expected_code=404)
|
||||
expected_code=400)
|
||||
|
||||
def test_reverttag_invalidimage(self):
|
||||
def test_restoretag_invalidimage(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
||||
self.postResponse(RevertTag,
|
||||
self.postResponse(RestoreTag,
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/history', tag='latest'),
|
||||
data=dict(image='invalid_image'),
|
||||
expected_code=400)
|
||||
|
||||
def test_reverttag(self):
|
||||
def test_restoretag_invalidmanifest(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
||||
self.postResponse(RestoreTag,
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/history', tag='latest'),
|
||||
data=dict(manifest_digest='invalid_digest'),
|
||||
expected_code=400)
|
||||
|
||||
def test_restoretag(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
||||
json = self.getJsonResponse(ListRepositoryTags,
|
||||
|
@ -2901,8 +2909,8 @@ class TestRevertTag(ApiTestCase):
|
|||
|
||||
previous_image_id = json['tags'][1]['docker_image_id']
|
||||
|
||||
self.postJsonResponse(RevertTag, params=dict(repository=ADMIN_ACCESS_USER + '/history',
|
||||
tag='latest'),
|
||||
self.postJsonResponse(RestoreTag, params=dict(repository=ADMIN_ACCESS_USER + '/history',
|
||||
tag='latest'),
|
||||
data=dict(image=previous_image_id))
|
||||
|
||||
json = self.getJsonResponse(ListRepositoryTags,
|
||||
|
@ -2912,6 +2920,29 @@ class TestRevertTag(ApiTestCase):
|
|||
self.assertFalse('end_ts' in json['tags'][0])
|
||||
self.assertEquals(previous_image_id, json['tags'][0]['docker_image_id'])
|
||||
|
||||
def test_restoretag_to_digest(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
||||
json = self.getJsonResponse(ListRepositoryTags,
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/history',
|
||||
tag='latest'))
|
||||
|
||||
self.assertEquals(2, len(json['tags']))
|
||||
self.assertFalse('end_ts' in json['tags'][0])
|
||||
|
||||
previous_manifest = json['tags'][1]['manifest_digest']
|
||||
|
||||
self.postJsonResponse(RestoreTag, params=dict(repository=ADMIN_ACCESS_USER + '/history',
|
||||
tag='latest'),
|
||||
data=dict(image='foo', manifest_digest=previous_manifest))
|
||||
|
||||
json = self.getJsonResponse(ListRepositoryTags,
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/history',
|
||||
tag='latest'))
|
||||
self.assertEquals(3, len(json['tags']))
|
||||
self.assertFalse('end_ts' in json['tags'][0])
|
||||
self.assertEquals(previous_manifest, json['tags'][0]['manifest_digest'])
|
||||
|
||||
|
||||
|
||||
class TestListAndDeleteTag(ApiTestCase):
|
||||
|
|
Reference in a new issue