Merge "Implement show Plan for the OpenStack client"
This commit is contained in:
commit
46b09fded1
|
@ -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."""
|
||||
|
|
|
@ -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):
|
||||
|
|
Loading…
Reference in New Issue