Add tempest plugin API tests for driver
Test for the following actions were added: * getting driver's properties * getting driver's RAID logical disk properties Change-Id: I395bc4f512a731ab4bfe8ac6a2d850816696400f
This commit is contained in:

committed by
Sofiia Andriichenko

parent
e952768a1b
commit
689f2a0fef
@@ -137,7 +137,11 @@ class BaremetalClient(rest_client.RestClient):
|
||||
|
||||
return resp, self.deserialize(body)
|
||||
|
||||
def _show_request(self, resource, uuid, permanent=False, **kwargs):
|
||||
def _show_request(self,
|
||||
resource,
|
||||
uuid=None,
|
||||
permanent=False,
|
||||
**kwargs):
|
||||
"""Gets a specific object of the specified type.
|
||||
|
||||
:param uuid: Unique identifier of the object in UUID format.
|
||||
|
@@ -412,3 +412,30 @@ class BaremetalClient(base.BaremetalClient):
|
||||
resp, body = self._delete_request('nodes/%s/vifs' % node_uuid, vif_id)
|
||||
self.expected_success(204, resp.status)
|
||||
return resp, body
|
||||
|
||||
@base.handle_errors
|
||||
def get_driver_properties(self, driver_name):
|
||||
"""Get properties information about driver.
|
||||
|
||||
:param driver_name: Name of driver.
|
||||
:return: tuple of response and serialized properties as a dictionary.
|
||||
|
||||
"""
|
||||
uri = 'drivers/%s/properties' % driver_name
|
||||
resp, body = self.get(uri)
|
||||
self.expected_success(200, resp.status)
|
||||
return resp, self.deserialize(body)
|
||||
|
||||
@base.handle_errors
|
||||
def get_driver_logical_disk_properties(self, driver_name):
|
||||
"""Get driver logical disk properties.
|
||||
|
||||
:param driver_name: Name of driver.
|
||||
:return: tuple of response and serialized logical disk properties as
|
||||
a dictionary.
|
||||
|
||||
"""
|
||||
uri = 'drivers/%s/raid/logical_disk_properties' % driver_name
|
||||
resp, body = self.get(uri)
|
||||
self.expected_success(200, resp.status)
|
||||
return resp, self.deserialize(body)
|
||||
|
@@ -13,8 +13,9 @@
|
||||
# under the License.
|
||||
|
||||
from tempest import config
|
||||
from tempest import test
|
||||
from tempest.lib import decorators
|
||||
|
||||
from ironic_tempest_plugin.tests.api.admin import api_microversion_fixture
|
||||
from ironic_tempest_plugin.tests.api.admin import base
|
||||
|
||||
CONF = config.CONF
|
||||
@@ -22,18 +23,32 @@ CONF = config.CONF
|
||||
|
||||
class TestDrivers(base.BaseBaremetalTest):
|
||||
"""Tests for drivers."""
|
||||
|
||||
@classmethod
|
||||
def resource_setup(cls):
|
||||
super(TestDrivers, cls).resource_setup()
|
||||
cls.driver_name = CONF.baremetal.driver
|
||||
|
||||
@test.idempotent_id('5aed2790-7592-4655-9b16-99abcc2e6ec5')
|
||||
@decorators.idempotent_id('5aed2790-7592-4655-9b16-99abcc2e6ec5')
|
||||
def test_list_drivers(self):
|
||||
_, drivers = self.client.list_drivers()
|
||||
self.assertIn(self.driver_name,
|
||||
[d['name'] for d in drivers['drivers']])
|
||||
|
||||
@test.idempotent_id('fb3287a3-c4d7-44bf-ae9d-1eef906d78ce')
|
||||
@decorators.idempotent_id('fb3287a3-c4d7-44bf-ae9d-1eef906d78ce')
|
||||
def test_show_driver(self):
|
||||
_, driver = self.client.show_driver(self.driver_name)
|
||||
self.assertEqual(self.driver_name, driver['name'])
|
||||
|
||||
@decorators.idempotent_id('6efa976f-78a2-4859-b3aa-97d960d6e5e5')
|
||||
def test_driver_properties(self):
|
||||
_, properties = self.client.get_driver_properties(self.driver_name)
|
||||
self.assertNotEmpty(properties)
|
||||
|
||||
@decorators.idempotent_id('fdf61f5a-f59d-4235-ad6c-cc718740e3e3')
|
||||
def test_driver_logical_disk_properties(self):
|
||||
self.useFixture(
|
||||
api_microversion_fixture.APIMicroversionFixture('1.12'))
|
||||
_, properties = self.client.get_driver_logical_disk_properties(
|
||||
self.driver_name)
|
||||
self.assertNotEmpty(properties)
|
||||
|
Reference in New Issue
Block a user