Implement list plans for the OpenStack client

Change-Id: Ia4b0ea2f3e1f8e3fc2cda4d0851a97c5d02691c0
This commit is contained in:
Dougal Matthews 2015-04-30 11:12:51 +01:00
parent ce00cf5cfc
commit ee470b9dd2
3 changed files with 28 additions and 1 deletions

View File

@ -55,6 +55,17 @@ class ListManagementPlans(lister.Lister):
def take_action(self, parsed_args):
self.log.debug("take_action(%s)" % parsed_args)
client = self.app.client_manager.management
plans = client.plans.list()
return (
('uuid', 'name', 'description', 'roles'),
((p.uuid, p.name, p.description,
', '.join(r.name for r in p.roles))
for p in plans)
)
class SetManagementPlan(show.ShowOne):
"""Update a Management Plans properties."""

View File

@ -21,6 +21,14 @@ mock_roles = [
mock_roles[0].configure_mock(name="Role 1 Name")
mock_roles[1].configure_mock(name="Role 2 Name")
mock_plans = [
mock.Mock(uuid="UUID1", description="Plan 1",
roles=mock_roles),
mock.Mock(uuid="UUID2", description="Plan 2", roles=[]),
]
mock_plans[0].configure_mock(name="Plan 1 Name")
mock_plans[1].configure_mock(name="Plan 2 Name")
class TestManagement(utils.TestCommand):

View File

@ -65,7 +65,15 @@ class TestListManagementPlan(TestPlans):
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
self.management_mock.plans.list.return_value = fakes.mock_plans
titles, rows = self.cmd.take_action(parsed_args)
self.assertEqual(titles, ('uuid', 'name', 'description', 'roles'))
self.assertEqual([
('UUID1', 'Plan 1 Name', 'Plan 1', 'Role 1 Name, Role 2 Name'),
('UUID2', 'Plan 2 Name', 'Plan 2', '')
], list(rows))
class TestSetManagementPlan(TestPlans):