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:
SofiiaAndriichenko
2016-12-08 05:02:17 -05:00
committed by Sofiia Andriichenko
parent e952768a1b
commit 689f2a0fef
3 changed files with 50 additions and 4 deletions

View File

@@ -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.

View File

@@ -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)

View File

@@ -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)