Merge "Add functional tests for image set"

This commit is contained in:
Jenkins 2015-07-01 19:51:13 +00:00 committed by Gerrit Code Review
commit 60d1417c2f
3 changed files with 29 additions and 3 deletions

View File

@ -19,6 +19,7 @@ class ImageTests(test.TestCase):
"""Functional tests for image. """
NAME = uuid.uuid4().hex
OTHER_NAME = uuid.uuid4().hex
HEADERS = ['Name']
FIELDS = ['name']
@ -31,7 +32,13 @@ class ImageTests(test.TestCase):
@classmethod
def tearDownClass(cls):
raw_output = cls.openstack('image delete ' + cls.NAME)
# Rename test
opts = cls.get_show_opts(cls.FIELDS)
raw_output = cls.openstack(
'image set --name ' + cls.OTHER_NAME + ' ' + cls.NAME + opts)
cls.assertOutput(cls.OTHER_NAME + "\n", raw_output)
# Delete test
raw_output = cls.openstack('image delete ' + cls.OTHER_NAME)
cls.assertOutput('', raw_output)
def test_image_list(self):
@ -43,3 +50,17 @@ class ImageTests(test.TestCase):
opts = self.get_show_opts(self.FIELDS)
raw_output = self.openstack('image show ' + self.NAME + opts)
self.assertEqual(self.NAME + "\n", raw_output)
def test_image_set(self):
opts = self.get_show_opts([
"disk_format", "is_public", "min_disk", "min_ram", "name"])
raw_output = self.openstack('image set --min-disk 4 --min-ram 5 ' +
'--disk-format qcow2 --public ' +
self.NAME + opts)
self.assertEqual("qcow2\nTrue\n4\n5\n" + self.NAME + '\n', raw_output)
def test_image_metadata(self):
opts = self.get_show_opts(["name", "properties"])
raw_output = self.openstack(
'image set --property a=b --property c=d ' + self.NAME + opts)
self.assertEqual(self.NAME + "\na='b', c='d'\n", raw_output)

View File

@ -275,6 +275,7 @@ class CreateImage(show.ShowOne):
info = {}
info.update(image._info)
info['properties'] = utils.format_dict(info.get('properties', {}))
return zip(*sorted(six.iteritems(info)))
@ -608,6 +609,7 @@ class SetImage(show.ShowOne):
info = {}
info.update(image._info)
info['properties'] = utils.format_dict(info.get('properties', {}))
return zip(*sorted(six.iteritems(info)))
@ -636,4 +638,5 @@ class ShowImage(show.ShowOne):
info = {}
info.update(image._info)
info['properties'] = utils.format_dict(info.get('properties', {}))
return zip(*sorted(six.iteritems(info)))

View File

@ -30,7 +30,7 @@ image_properties = {
'Beta': 'b',
'Gamma': 'g',
}
image_properties_str = "{'Alpha': 'a', 'Beta': 'b', 'Gamma': 'g'}"
image_properties_str = "Alpha='a', Beta='b', Gamma='g'"
image_data = 'line 1\nline 2\n'
IMAGE = {
@ -47,7 +47,9 @@ IMAGE = {
}
IMAGE_columns = tuple(sorted(IMAGE))
IMAGE_data = tuple((IMAGE[x] for x in sorted(IMAGE)))
IMAGE_output = dict(IMAGE)
IMAGE_output['properties'] = image_properties_str
IMAGE_data = tuple((IMAGE_output[x] for x in sorted(IMAGE_output)))
class FakeImagev1Client(object):