Add aliases to orchestration template version list
Recently we added aliases to the API response, so display these if they exist. Change-Id: Iadd499d59acf3bf8cee3e208372340ff1a29112a
This commit is contained in:
parent
0c246f3259
commit
9b60f057a5
|
@ -37,12 +37,23 @@ class VersionList(command.Lister):
|
|||
client = self.app.client_manager.orchestration
|
||||
|
||||
versions = client.template_versions.list()
|
||||
fields = ['Version', 'Type']
|
||||
try:
|
||||
versions[1].aliases
|
||||
|
||||
return (
|
||||
fields,
|
||||
(utils.get_item_properties(s, fields) for s in versions)
|
||||
)
|
||||
def format_alias(aliases):
|
||||
return ','.join(aliases)
|
||||
|
||||
fields = ['Version', 'Type', 'Aliases']
|
||||
formatters = {'Aliases': format_alias}
|
||||
except AttributeError:
|
||||
fields = ['Version', 'Type']
|
||||
formatters = None
|
||||
|
||||
items = (utils.get_item_properties(s, fields,
|
||||
formatters=formatters)
|
||||
for s in versions)
|
||||
|
||||
return (fields, items)
|
||||
|
||||
|
||||
class FunctionList(command.Lister):
|
||||
|
|
|
@ -29,19 +29,17 @@ class TestTemplate(fakes.TestOrchestrationv1):
|
|||
|
||||
class TestTemplateVersionList(TestTemplate):
|
||||
|
||||
defaults = [
|
||||
{'version': 'HOT123', 'type': 'hot'},
|
||||
{'version': 'CFN456', 'type': 'cfn'}
|
||||
]
|
||||
|
||||
def setUp(self):
|
||||
super(TestTemplateVersionList, self).setUp()
|
||||
tv1 = template_versions.TemplateVersion(None, self.defaults[0])
|
||||
tv2 = template_versions.TemplateVersion(None, self.defaults[1])
|
||||
def _stub_versions_list(self, ret_data):
|
||||
tv1 = template_versions.TemplateVersion(None, ret_data[0])
|
||||
tv2 = template_versions.TemplateVersion(None, ret_data[1])
|
||||
self.template_versions.list.return_value = [tv1, tv2]
|
||||
self.cmd = template.VersionList(self.app, None)
|
||||
|
||||
def test_version_list(self):
|
||||
ret_data = [
|
||||
{'version': 'HOT123', 'type': 'hot'},
|
||||
{'version': 'CFN456', 'type': 'cfn'}]
|
||||
self._stub_versions_list(ret_data)
|
||||
parsed_args = self.check_parser(self.cmd, [], [])
|
||||
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
@ -49,6 +47,19 @@ class TestTemplateVersionList(TestTemplate):
|
|||
self.assertEqual(['Version', 'Type'], columns)
|
||||
self.assertEqual([('HOT123', 'hot'), ('CFN456', 'cfn')], list(data))
|
||||
|
||||
def test_version_list_with_aliases(self):
|
||||
ret_data = [
|
||||
{'version': 'HOT123', 'type': 'hot', 'aliases': ['releasex']},
|
||||
{'version': 'CFN456', 'type': 'cfn', 'aliases': ['releasey']}]
|
||||
self._stub_versions_list(ret_data)
|
||||
parsed_args = self.check_parser(self.cmd, [], [])
|
||||
|
||||
columns, data = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.assertEqual(['Version', 'Type', 'Aliases'], columns)
|
||||
self.assertEqual([('HOT123', 'hot', 'releasex'),
|
||||
('CFN456', 'cfn', 'releasey')], list(data))
|
||||
|
||||
|
||||
class TestTemplateFunctionList(TestTemplate):
|
||||
|
||||
|
|
Loading…
Reference in New Issue