Merge "Add test for driver raid property list"

This commit is contained in:
Zuul
2024-06-05 11:55:32 +00:00
committed by Gerrit Code Review
3 changed files with 36 additions and 0 deletions

View File

@@ -29,6 +29,12 @@ class FunctionalTestBase(base.ClientTestBase):
def setUp(self):
super(FunctionalTestBase, self).setUp()
if not self.auth_ref.project_scoped:
raise Exception("Could not run functional tests, which are "
"run based on the scope provided for "
"authentication. Please provide a project "
"scope information.")
self.client = self._get_clients()
# NOTE(kromanenko) set ironic api version for portgroups
self.pg_api_ver = '--ironic-api-version 1.25'

View File

@@ -336,6 +336,19 @@ class TestCase(base.FunctionalTestBase):
.format(opts, params))
return json.loads(output)
def driver_raid_property_list(self, driver_name, fields=None, params=''):
"""List a driver's RAID logical disk properties.
:param String driver_name: Name of the driver
:param List fields: List of fields to show
:param List params: Additional kwargs
:return: list of JSON driver RAID properties objects
"""
opts = self.get_opts(fields=fields)
output = self.openstack('baremetal driver raid property list {} {} {}'
.format(opts, driver_name, params))
return json.loads(output)
def conductor_show(self, hostname, fields=None, params=''):
"""Show specified baremetal conductors.

View File

@@ -38,3 +38,20 @@ class BaremetalDriverTests(base.TestCase):
driver['Supported driver(s)'] for driver in self.driver_list()
]
self.assertIn(self.driver_name, drivers)
def test_driver_raid_property_list(self):
"""Test baremetal driver raid property list command.
Test steps:
1) Get list of fake driver raid properties.
2) Check contents of driver raid properties list.
"""
props = ['controller', 'disk_type', 'interface_type',
'is_root_volume', 'number_of_physical_disks',
'physical_disks', 'raid_level', 'share_physical_disks',
'size_gb', 'volume_name']
raid_props = self.driver_raid_property_list(
self.driver_name,
params='--os-baremetal-api-version 1.12')
for prop in props:
self.assertIn(prop, [i['Property'] for i in raid_props])