Merge "Fix functional readonly_cli tests"

This commit is contained in:
Jenkins
2015-06-02 17:32:29 +00:00
committed by Gerrit Code Review
2 changed files with 33 additions and 22 deletions

View File

@@ -71,6 +71,17 @@ class ClientTestBase(base.ClientTestBase):
return self.clients.cinder(*args, return self.clients.cinder(*args,
**kwargs) **kwargs)
def assertTableHeaders(self, output_lines, field_names):
"""Verify that output table has headers item listed in field_names.
:param output_lines: output table from cmd
:param field_names: field names from the output table of the cmd
"""
table = self.parser.table(output_lines)
headers = table['headers']
for field in field_names:
self.assertIn(field, headers)
def assertTableStruct(self, items, field_names): def assertTableStruct(self, items, field_names):
"""Verify that all items has keys listed in field_names. """Verify that all items has keys listed in field_names.

View File

@@ -28,22 +28,22 @@ class CinderClientReadOnlyTests(base.ClientTestBase):
# Commands in order listed in 'cinder help' # Commands in order listed in 'cinder help'
def test_absolute_limits(self): def test_absolute_limits(self):
limits = self.parser.listing(self.cinder('absolute-limits')) limits = self.cinder('absolute-limits')
self.assertTableStruct(limits, ['Name', 'Value']) self.assertTableHeaders(limits, ['Name', 'Value'])
def test_availability_zones(self): def test_availability_zones(self):
zone_list = self.parser.listing(self.cinder('availability-zone-list')) zone_list = self.cinder('availability-zone-list')
self.assertTableStruct(zone_list, ['Name', 'Status']) self.assertTableHeaders(zone_list, ['Name', 'Status'])
def test_backup_list(self): def test_backup_list(self):
backup_list = self.parser.listing(self.cinder('backup-list')) backup_list = self.cinder('backup-list')
self.assertTableStruct(backup_list, ['ID', 'Volume ID', 'Status', self.assertTableHeaders(backup_list, ['ID', 'Volume ID', 'Status',
'Name', 'Size', 'Object Count', 'Name', 'Size', 'Object Count',
'Container']) 'Container'])
def test_encryption_type_list(self): def test_encryption_type_list(self):
encrypt_list = self.parser.listing(self.cinder('encryption-type-list')) encrypt_list = self.cinder('encryption-type-list')
self.assertTableStruct(encrypt_list, ['Volume Type ID', 'Provider', self.assertTableHeaders(encrypt_list, ['Volume Type ID', 'Provider',
'Cipher', 'Key Size', 'Cipher', 'Key Size',
'Control Location']) 'Control Location'])
@@ -56,34 +56,34 @@ class CinderClientReadOnlyTests(base.ClientTestBase):
self.assertEqual('Value', headers[1]) self.assertEqual('Value', headers[1])
def test_list(self): def test_list(self):
list = self.parser.listing(self.cinder('list')) list = self.cinder('list')
self.assertTableStruct(list, ['ID', 'Status', 'Name', 'Size', self.assertTableHeaders(list, ['ID', 'Status', 'Name', 'Size',
'Volume Type', 'Bootable', 'Volume Type', 'Bootable',
'Attached to']) 'Attached to'])
def test_qos_list(self): def test_qos_list(self):
qos_list = self.parser.listing(self.cinder('qos-list')) qos_list = self.cinder('qos-list')
self.assertTableStruct(qos_list, ['ID', 'Name', 'Consumer', 'specs']) self.assertTableHeaders(qos_list, ['ID', 'Name', 'Consumer', 'specs'])
def test_rate_limits(self): def test_rate_limits(self):
rate_limits = self.parser.listing(self.cinder('rate-limits')) rate_limits = self.cinder('rate-limits')
self.assertTableStruct(rate_limits, ['Verb', 'URI', 'Value', 'Remain', self.assertTableHeaders(rate_limits, ['Verb', 'URI', 'Value', 'Remain',
'Unit', 'Next_Available']) 'Unit', 'Next_Available'])
def test_service_list(self): def test_service_list(self):
service_list = self.parser.listing(self.cinder('service-list')) service_list = self.cinder('service-list')
self.assertTableStruct(service_list, ['Binary', 'Host', 'Zone', self.assertTableHeaders(service_list, ['Binary', 'Host', 'Zone',
'Status', 'State', 'Updated_at']) 'Status', 'State', 'Updated_at'])
def test_snapshot_list(self): def test_snapshot_list(self):
snapshot_list = self.parser.listing(self.cinder('snapshot-list')) snapshot_list = self.cinder('snapshot-list')
self.assertTableStruct(snapshot_list, ['ID', 'Volume ID', 'Status', self.assertTableHeaders(snapshot_list, ['ID', 'Volume ID', 'Status',
'Name', 'Size']) 'Name', 'Size'])
def test_transfer_list(self): def test_transfer_list(self):
transfer_list = self.parser.listing(self.cinder('transfer-list')) transfer_list = self.cinder('transfer-list')
self.assertTableStruct(transfer_list, ['ID', 'Volume ID', 'Name']) self.assertTableHeaders(transfer_list, ['ID', 'Volume ID', 'Name'])
def test_type_list(self): def test_type_list(self):
type_list = self.parser.listing(self.cinder('type-list')) type_list = self.cinder('type-list')
self.assertTableStruct(type_list, ['ID', 'Name']) self.assertTableHeaders(type_list, ['ID', 'Name'])