Add ability to tag images from the UI, including moving existing tags to different images
This commit is contained in:
parent
9371c70941
commit
20ad666308
11 changed files with 581 additions and 200 deletions
|
@ -55,6 +55,13 @@ class ApiTestCase(unittest.TestCase):
|
|||
self.assertEquals(rv.status_code, expected_code)
|
||||
return rv.data
|
||||
|
||||
def putResponse(self, method_name, params={}, data={}, expected_code=200):
|
||||
rv = self.app.put(url_for(method_name, **params),
|
||||
data=py_json.dumps(data),
|
||||
headers={"Content-Type": "application/json"})
|
||||
self.assertEquals(rv.status_code, expected_code)
|
||||
return rv.data
|
||||
|
||||
def deleteResponse(self, method_name, params={}, expected_code=204):
|
||||
rv = self.app.delete(url_for(method_name, **params))
|
||||
self.assertEquals(rv.status_code, expected_code)
|
||||
|
@ -961,7 +968,7 @@ class TestGetImageChanges(ApiTestCase):
|
|||
|
||||
|
||||
class TestListAndDeleteTag(ApiTestCase):
|
||||
def test_listtagimagesanddeletetag(self):
|
||||
def test_listdeletecreateandmovetag(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
||||
# List the images for prod.
|
||||
|
@ -994,6 +1001,33 @@ class TestListAndDeleteTag(ApiTestCase):
|
|||
|
||||
self.assertEquals(staging_images, json['images'])
|
||||
|
||||
# Add a new tag to the staging image.
|
||||
self.putResponse('api.change_tag_image',
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/complex', tag='sometag'),
|
||||
data=dict(image=staging_images[0]['id']),
|
||||
expected_code=201)
|
||||
|
||||
# Make sure the tag is present.
|
||||
json = self.getJsonResponse('api.list_tag_images',
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/complex', tag='sometag'))
|
||||
|
||||
sometag_images = json['images']
|
||||
self.assertEquals(sometag_images, staging_images)
|
||||
|
||||
# Move the tag.
|
||||
self.putResponse('api.change_tag_image',
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/complex', tag='sometag'),
|
||||
data=dict(image=staging_images[-1]['id']),
|
||||
expected_code=201)
|
||||
|
||||
# Make sure the tag has moved.
|
||||
json = self.getJsonResponse('api.list_tag_images',
|
||||
params=dict(repository=ADMIN_ACCESS_USER + '/complex', tag='sometag'))
|
||||
|
||||
sometag_new_images = json['images']
|
||||
self.assertEquals(1, len(sometag_new_images))
|
||||
self.assertEquals(staging_images[-1], sometag_new_images[0])
|
||||
|
||||
|
||||
def test_deletesubtag(self):
|
||||
self.login(ADMIN_ACCESS_USER)
|
||||
|
|
Reference in a new issue