Merge "Support "--long" option in ListService"

This commit is contained in:
Jenkins 2016-03-14 20:17:04 +00:00 committed by Gerrit Code Review
commit 006d34fc82
4 changed files with 59 additions and 10 deletions
doc/source/command-objects
openstackclient
compute/v2
tests/compute/v2

@ -31,6 +31,7 @@ List service command
os compute service list
[--host <host>]
[--service <service>]
[--long]
.. _compute-service-list:
.. describe:: --host <host>
@ -41,6 +42,10 @@ List service command
Name of service
.. describe:: --long
List additional fields in output
compute service set
-------------------

@ -49,19 +49,37 @@ class ListService(command.Lister):
"--service",
metavar="<service>",
help="Name of service")
parser.add_argument(
"--long",
action="store_true",
default=False,
help="List additional fields in output"
)
return parser
def take_action(self, parsed_args):
compute_client = self.app.client_manager.compute
columns = (
"Id",
"Binary",
"Host",
"Zone",
"Status",
"State",
"Updated At"
)
if parsed_args.long:
columns = (
"Id",
"Binary",
"Host",
"Zone",
"Status",
"State",
"Updated At",
"Disabled Reason"
)
else:
columns = (
"Id",
"Binary",
"Host",
"Zone",
"Status",
"State",
"Updated At"
)
data = compute_client.services.list(parsed_args.host,
parsed_args.service)
return (columns,

@ -79,10 +79,12 @@ QUOTA_data = tuple(QUOTA[x] for x in sorted(QUOTA))
service_host = 'host_test'
service_binary = 'compute_test'
service_status = 'enabled'
service_disabled_reason = 'earthquake'
SERVICE = {
'host': service_host,
'binary': service_binary,
'status': service_status,
'disabled_reason': service_disabled_reason,
}

@ -85,13 +85,37 @@ class TestServiceList(TestService):
# In base command class Lister in cliff, abstract method take_action()
# returns a tuple containing the column names and an iterable
# containing the data to be listed.
self.cmd.take_action(parsed_args)
columns, data = self.cmd.take_action(parsed_args)
self.service_mock.list.assert_called_with(
compute_fakes.service_host,
compute_fakes.service_binary,
)
self.assertNotIn("Disabled Reason", columns)
self.assertNotIn(compute_fakes.service_disabled_reason, list(data)[0])
def test_service_list_with_long_option(self):
arglist = [
'--host', compute_fakes.service_host,
'--service', compute_fakes.service_binary,
'--long'
]
verifylist = [
('host', compute_fakes.service_host),
('service', compute_fakes.service_binary),
('long', True)
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
# In base command class Lister in cliff, abstract method take_action()
# returns a tuple containing the column names and an iterable
# containing the data to be listed.
columns, data = self.cmd.take_action(parsed_args)
self.assertIn("Disabled Reason", columns)
self.assertIn(compute_fakes.service_disabled_reason, list(data)[0])
class TestServiceSet(TestService):