Merge "Implement show Plan for the OpenStack client"

This commit is contained in:
Jenkins 2015-05-12 07:01:59 +00:00 committed by Gerrit Code Review
commit 46b09fded1
2 changed files with 52 additions and 3 deletions

View File

@ -167,11 +167,34 @@ class ShowManagementPlan(show.ShowOne):
def get_parser(self, prog_name):
parser = super(ShowManagementPlan, self).get_parser(prog_name)
parser.add_argument(
'plan_uuid',
help="The UUID of the plan to show."
)
parser.add_argument(
'--long', default=False, action="store_true",
help="Display full plan details"
)
return parser
def take_action(self, parsed_args):
self.log.debug("take_action(%s)" % parsed_args)
client = self.app.client_manager.management
plan = client.plans.get(parsed_args.plan_uuid)
plan_dict = plan.to_dict()
if not parsed_args.long:
if 'parameters' in plan_dict:
plan_dict['parameters'] = ("Parameter output suppressed. Use "
"--long to display them.")
plan_dict['roles'] = ', '.join([r.name for r in plan.roles])
return self.dict2columns(plan_dict)
class AddManagementPlanRole(show.ShowOne):
"""Add a Role to a Management Plan."""

View File

@ -220,12 +220,38 @@ class TestShowManagementPlan(TestPlans):
self.cmd = plan.ShowManagementPlan(self.app, None)
def test_show_plan(self):
arglist = []
verifylist = []
arglist = ['UUID2', ]
verifylist = [
('long', False),
]
self.management_mock.plans.get.return_value = fakes.mock_plans[0]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
self.cmd.take_action(parsed_args)
result = self.cmd.take_action(parsed_args)
self.assertEqual([
('description', 'name', 'roles', 'uuid'),
('Plan 1', 'Plan 1 Name', 'Role 1 Name, Role 2 Name', 'UUID1')
], list(result))
def test_show_plan_verbose(self):
arglist = ['UUID1', '--long']
verifylist = [
('long', True),
]
self.management_mock.plans.get.return_value = fakes.mock_plans[1]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
result = self.cmd.take_action(parsed_args)
self.assertEqual([
('description', 'name', 'roles', 'uuid'),
('Plan 2', 'Plan 2 Name', [], 'UUID2')
], list(result))
class TestAddManagementPlanRole(TestPlans):