Merge "Refactor unit test of "compute service list" command"

This commit is contained in:
Jenkins 2016-06-23 06:20:34 +00:00 committed by Gerrit Code Review
commit 51fcd7c30c
3 changed files with 42 additions and 9 deletions

View File

@ -73,7 +73,7 @@ class ListService(command.Lister):
compute_client = self.app.client_manager.compute
if parsed_args.long:
columns = (
"Id",
"ID",
"Binary",
"Host",
"Zone",
@ -84,7 +84,7 @@ class ListService(command.Lister):
)
else:
columns = (
"Id",
"ID",
"Binary",
"Host",
"Zone",

View File

@ -648,15 +648,19 @@ class FakeService(object):
:param Dictionary attrs:
A dictionary with all attributes
:return:
A FakeResource object, with id, name, ram, vcpus, properties
A FakeResource object, with id, host, binary
"""
attrs = attrs or {}
# Set default attributes.
service_info = {
'id': 'id-' + uuid.uuid4().hex,
'host': 'host-' + uuid.uuid4().hex,
'binary': 'binary-' + uuid.uuid4().hex,
'status': 'enabled',
'zone': 'zone-' + uuid.uuid4().hex,
'state': 'state-' + uuid.uuid4().hex,
'updated_at': 'time-' + uuid.uuid4().hex,
'disabled_reason': 'earthquake',
}

View File

@ -62,11 +62,35 @@ class TestServiceDelete(TestService):
class TestServiceList(TestService):
service = compute_fakes.FakeService.create_one_service()
columns = (
'ID',
'Binary',
'Host',
'Zone',
'Status',
'State',
'Updated At',
)
columns_long = columns + (
'Disabled Reason',
)
data = [(
service.id,
service.binary,
service.host,
service.zone,
service.status,
service.state,
service.updated_at,
)]
data_long = [data[0] + (service.disabled_reason, )]
def setUp(self):
super(TestServiceList, self).setUp()
self.service = compute_fakes.FakeService.create_one_service()
self.service_mock.list.return_value = [self.service]
# Get the command object to test
@ -93,8 +117,8 @@ class TestServiceList(TestService):
self.service.binary,
)
self.assertNotIn("Disabled Reason", columns)
self.assertNotIn(self.service.disabled_reason, list(data)[0])
self.assertEqual(self.columns, columns)
self.assertEqual(self.data, list(data))
def test_service_list_with_long_option(self):
arglist = [
@ -114,8 +138,13 @@ class TestServiceList(TestService):
# containing the data to be listed.
columns, data = self.cmd.take_action(parsed_args)
self.assertIn("Disabled Reason", columns)
self.assertIn(self.service.disabled_reason, list(data)[0])
self.service_mock.list.assert_called_with(
self.service.host,
self.service.binary,
)
self.assertEqual(self.columns_long, columns)
self.assertEqual(self.data_long, list(data))
class TestServiceSet(TestService):