Add functional tests for image set
This patch includes functional tests for image set and it includes a change to use the OSC utils.format_dict method to format the properties. This will give a more user friendly format to the image commands and it gives a more consistent testable format to the output. Instead of: {u'a': u'b', u'c': u'd'} The user will see: a=b, c=d Change-Id: Ib396316586ffc5dbab231064d5b6dc9425507934
This commit is contained in:
parent
deb5a9790d
commit
ce65164155
@ -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)
|
||||
|
@ -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)))
|
||||
|
@ -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):
|
||||
|
Loading…
Reference in New Issue
Block a user