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
|
client = self.app.client_manager.orchestration
|
||||||
|
|
||||||
versions = client.template_versions.list()
|
versions = client.template_versions.list()
|
||||||
fields = ['Version', 'Type']
|
try:
|
||||||
|
versions[1].aliases
|
||||||
|
|
||||||
return (
|
def format_alias(aliases):
|
||||||
fields,
|
return ','.join(aliases)
|
||||||
(utils.get_item_properties(s, fields) for s in versions)
|
|
||||||
)
|
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):
|
class FunctionList(command.Lister):
|
||||||
|
|
|
@ -29,19 +29,17 @@ class TestTemplate(fakes.TestOrchestrationv1):
|
||||||
|
|
||||||
class TestTemplateVersionList(TestTemplate):
|
class TestTemplateVersionList(TestTemplate):
|
||||||
|
|
||||||
defaults = [
|
def _stub_versions_list(self, ret_data):
|
||||||
{'version': 'HOT123', 'type': 'hot'},
|
tv1 = template_versions.TemplateVersion(None, ret_data[0])
|
||||||
{'version': 'CFN456', 'type': 'cfn'}
|
tv2 = template_versions.TemplateVersion(None, ret_data[1])
|
||||||
]
|
|
||||||
|
|
||||||
def setUp(self):
|
|
||||||
super(TestTemplateVersionList, self).setUp()
|
|
||||||
tv1 = template_versions.TemplateVersion(None, self.defaults[0])
|
|
||||||
tv2 = template_versions.TemplateVersion(None, self.defaults[1])
|
|
||||||
self.template_versions.list.return_value = [tv1, tv2]
|
self.template_versions.list.return_value = [tv1, tv2]
|
||||||
self.cmd = template.VersionList(self.app, None)
|
self.cmd = template.VersionList(self.app, None)
|
||||||
|
|
||||||
def test_version_list(self):
|
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, [], [])
|
parsed_args = self.check_parser(self.cmd, [], [])
|
||||||
|
|
||||||
columns, data = self.cmd.take_action(parsed_args)
|
columns, data = self.cmd.take_action(parsed_args)
|
||||||
|
@ -49,6 +47,19 @@ class TestTemplateVersionList(TestTemplate):
|
||||||
self.assertEqual(['Version', 'Type'], columns)
|
self.assertEqual(['Version', 'Type'], columns)
|
||||||
self.assertEqual([('HOT123', 'hot'), ('CFN456', 'cfn')], list(data))
|
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):
|
class TestTemplateFunctionList(TestTemplate):
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue