Merge "Fix functional readonly_cli tests"
This commit is contained in:
@@ -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.
|
||||||
|
|
||||||
|
@@ -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'])
|
||||||
|
Reference in New Issue
Block a user