Changes to support Sushy 1.3.0

The new Sushy 1.3.0 library has some changes for which proliantutils
needs changes to support the existing functionalities which it serves
using Sushy library. This commit takes care of those changes. It also
removes the version dependency of Sushy from proliantutils
requirements and hence the latest Sushy release gets picked up.

Change-Id: I1088d1b357bfe5c7cd76185bc4da484471ac3f6c
This commit is contained in:
Debayan Ray
2018-01-05 01:18:29 -05:00
parent 00531fd385
commit b913e0f5b2
23 changed files with 316 additions and 107 deletions

View File

@@ -57,11 +57,16 @@ class HPEAccountServiceTestCase(testtools.TestCase):
'json_samples/account_service.json', 'r') as f:
self.conn.get.return_value.json.return_value = json.loads(f.read())
self.acc_inst.refresh()
self.assertIsNone(self.acc_inst._accounts)
self.acc_inst.invalidate()
self.acc_inst.refresh(force=False)
self.assertIsNotNone(self.acc_inst._accounts)
self.assertTrue(self.acc_inst._accounts._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/account_collection.json', 'r') as f:
self.conn.get.return_value.json.return_value = json.loads(f.read())
self.assertIsInstance(accounts, account.HPEAccountCollection)
self.assertIsInstance(self.acc_inst.accounts,
account.HPEAccountCollection)
self.assertFalse(self.acc_inst._accounts._is_stale)

View File

@@ -74,12 +74,16 @@ class HPEManagerTestCase(testtools.TestCase):
'json_samples/manager.json', 'r') as f:
self.conn.get.return_value.json.return_value = json.loads(f.read())
self.mgr_inst.refresh()
self.assertIsNone(self.mgr_inst._virtual_media)
self.mgr_inst.invalidate()
self.mgr_inst.refresh(force=False)
self.assertIsNotNone(self.mgr_inst._virtual_media)
self.assertTrue(self.mgr_inst._virtual_media._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/vmedia_collection.json', 'r') as f:
self.conn.get.return_value.json.return_value = json.loads(f.read())
self.assertIsInstance(actual_vmedia,
self.assertIsInstance(self.mgr_inst.virtual_media,
virtual_media.VirtualMediaCollection)
self.assertFalse(self.mgr_inst._virtual_media._is_stale)

View File

@@ -59,8 +59,10 @@ class StorageTestCase(testtools.TestCase):
actual_log_dr = self.sys_stor.volumes
self.assertIs(actual_log_dr,
self.sys_stor.volumes)
self.sys_stor.refresh()
self.assertIsNone(self.sys_stor._volumes)
self.sys_stor.invalidate()
self.sys_stor.refresh(force=False)
self.assertIsNotNone(self.sys_stor._volumes)
self.assertTrue(self.sys_stor._volumes._is_stale)
def test__drives_list(self):
self.conn.get.return_value.json.reset_mock()

View File

@@ -141,16 +141,20 @@ class BIOSSettingsTestCase(testtools.TestCase):
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.bios_inst.refresh()
self.assertIsNone(self.bios_inst._pending_settings)
self.bios_inst.invalidate()
self.bios_inst.refresh(force=False)
self.assertIsNotNone(self.bios_inst._pending_settings)
self.assertTrue(self.bios_inst._pending_settings._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/bios.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['BIOS_pending_settings_default'])
self.assertIsInstance(actual_settings,
self.assertIsInstance(self.bios_inst.pending_settings,
bios.BIOSPendingSettings)
self.assertFalse(self.bios_inst._pending_settings._is_stale)
def test_boot_settings_on_refresh(self):
with open('proliantutils/tests/redfish/'
@@ -166,16 +170,20 @@ class BIOSSettingsTestCase(testtools.TestCase):
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.bios_inst.refresh()
self.assertIsNone(self.bios_inst._boot_settings)
self.bios_inst.invalidate()
self.bios_inst.refresh(force=False)
self.assertIsNotNone(self.bios_inst._boot_settings)
self.assertTrue(self.bios_inst._boot_settings._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/bios_boot.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.assertIsInstance(actual_settings,
self.assertIsInstance(self.bios_inst.boot_settings,
bios.BIOSBootSettings)
self.assertFalse(self.bios_inst._boot_settings._is_stale)
def test_bios_mappings_on_refresh(self):
with open('proliantutils/tests/redfish/'
@@ -191,16 +199,20 @@ class BIOSSettingsTestCase(testtools.TestCase):
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.bios_inst.refresh()
self.assertIsNone(self.bios_inst._bios_mappings)
self.bios_inst.invalidate()
self.bios_inst.refresh(force=False)
self.assertIsNotNone(self.bios_inst._bios_mappings)
self.assertTrue(self.bios_inst._bios_mappings._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/bios_mappings.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.assertIsInstance(actual_settings,
self.assertIsInstance(self.bios_inst.bios_mappings,
bios.BIOSMappings)
self.assertFalse(self.bios_inst._bios_mappings._is_stale)
def test_iscsi_resource_on_refresh(self):
with open('proliantutils/tests/redfish/'
@@ -215,15 +227,21 @@ class BIOSSettingsTestCase(testtools.TestCase):
'json_samples/bios.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.bios_inst.refresh()
self.assertIsNone(self.bios_inst._iscsi_resource)
self.bios_inst.invalidate()
self.bios_inst.refresh(force=False)
self.assertIsNotNone(self.bios_inst._iscsi_resource)
self.assertTrue(self.bios_inst._iscsi_resource._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/iscsi.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read()))
self.assertIsInstance(actual_settings,
self.assertIsInstance(self.bios_inst.iscsi_resource,
iscsi.ISCSIResource)
self.assertFalse(self.bios_inst._iscsi_resource._is_stale)
def test__get_base_configs_on_refresh(self):
with open('proliantutils/tests/redfish/'
@@ -237,14 +255,19 @@ class BIOSSettingsTestCase(testtools.TestCase):
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.bios_inst.refresh()
self.assertIsNone(self.bios_inst._base_configs)
self.bios_inst.invalidate()
self.bios_inst.refresh(force=False)
self.assertIsNotNone(self.bios_inst._base_configs)
self.assertTrue(self.bios_inst._base_configs._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/bios_base_configs.json', 'r') as f:
self.conn.get.return_value.json.return_value = json.loads(f.read())
self.assertIsInstance(default_settings, bios.BIOSBaseConfigs)
self.assertIsInstance(self.bios_inst._get_base_configs(),
bios.BIOSBaseConfigs)
self.assertFalse(self.bios_inst._base_configs._is_stale)
class BIOSBaseConfigsTestCase(testtools.TestCase):

View File

@@ -66,7 +66,7 @@ class ISCSIResourceTestCase(testtools.TestCase):
self.iscsi_inst.iscsi_settings)
self.conn.get.return_value.json.assert_not_called()
def test_iscsi_resource_on_refresh(self):
def test_iscsi_settings_on_refresh(self):
with open('proliantutils/tests/redfish/'
'json_samples/iscsi_settings.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
@@ -79,15 +79,20 @@ class ISCSIResourceTestCase(testtools.TestCase):
'json_samples/iscsi.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read()))
self.iscsi_inst.refresh()
self.assertIsNone(self.iscsi_inst._iscsi_settings)
self.iscsi_inst.invalidate()
self.iscsi_inst.refresh(force=False)
self.assertIsNotNone(self.iscsi_inst._iscsi_settings)
self.assertTrue(self.iscsi_inst._iscsi_settings._is_stale)
with open('proliantutils/tests/redfish/'
'json_samples/iscsi_settings.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['Default'])
self.assertIsInstance(actual_settings,
self.assertIsInstance(self.iscsi_inst.iscsi_settings,
iscsi.ISCSISettings)
self.assertFalse(self.iscsi_inst._iscsi_settings._is_stale)
def test_attributes(self):
with open('proliantutils/tests/redfish/'

View File

@@ -131,10 +131,13 @@ class HPESystemTestCase(testtools.TestCase):
'json_samples/system.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['default'])
self.sys_inst.refresh()
self.sys_inst.invalidate()
self.sys_inst.refresh(force=False)
# | WHEN & THEN |
self.assertIsNone(self.sys_inst._bios_settings)
self.assertIsNotNone(self.sys_inst._bios_settings)
self.assertTrue(self.sys_inst._bios_settings._is_stale)
# | GIVEN |
with open('proliantutils/tests/redfish/json_samples/bios.json',
@@ -143,6 +146,7 @@ class HPESystemTestCase(testtools.TestCase):
# | WHEN & THEN |
self.assertIsInstance(self.sys_inst.bios_settings,
bios.BIOSSettings)
self.assertFalse(self.sys_inst._bios_settings._is_stale)
def test_update_persistent_boot_uefi_target(self):
with open('proliantutils/tests/redfish/'
@@ -252,10 +256,13 @@ class HPESystemTestCase(testtools.TestCase):
'json_samples/system.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['default'])
self.sys_inst.refresh()
self.sys_inst.invalidate()
self.sys_inst.refresh(force=False)
# | WHEN & THEN |
self.assertIsNone(self.sys_inst._secure_boot)
self.assertIsNotNone(self.sys_inst._secure_boot)
self.assertTrue(self.sys_inst._secure_boot._is_stale)
# | GIVEN |
with open('proliantutils/tests/redfish/json_samples/secure_boot.json',
@@ -265,6 +272,7 @@ class HPESystemTestCase(testtools.TestCase):
# | WHEN & THEN |
self.assertIsInstance(self.sys_inst.secure_boot,
secure_boot.SecureBoot)
self.assertFalse(self.sys_inst._secure_boot._is_stale)
@mock.patch.object(utils, 'get_subresource_path_by')
def test_get_hpe_sub_resource_collection_path(self, res_mock):
@@ -399,13 +407,19 @@ class HPESystemTestCase(testtools.TestCase):
'json_samples/system.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['default'])
self.sys_inst.refresh()
self.assertIsNone(self.sys_inst._simple_storages)
self.sys_inst.invalidate()
self.sys_inst.refresh(force=False)
self.assertIsNotNone(self.sys_inst._simple_storages)
self.assertTrue(self.sys_inst._simple_storages._is_stale)
with open('proliantutils/tests/redfish/json_samples/'
'simple_storage_collection.json', 'r') as f:
self.conn.get.return_value.json.return_value = json.loads(f.read())
self.assertIsInstance(self.sys_inst.simple_storages,
simple_storage.SimpleStorageCollection)
self.assertFalse(self.sys_inst._simple_storages._is_stale)
def test_memory(self):
self.assertIsNone(self.sys_inst._memory)
@@ -437,10 +451,13 @@ class HPESystemTestCase(testtools.TestCase):
'json_samples/system.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['default'])
self.sys_inst.refresh()
self.sys_inst.invalidate()
self.sys_inst.refresh(force=False)
# | WHEN & THEN |
self.assertIsNone(self.sys_inst._memory)
self.assertIsNotNone(self.sys_inst._memory)
self.assertTrue(self.sys_inst._memory._is_stale)
# | GIVEN |
with open('proliantutils/tests/redfish/json_samples/'
@@ -449,6 +466,7 @@ class HPESystemTestCase(testtools.TestCase):
# | WHEN & THEN |
self.assertIsInstance(self.sys_inst.memory,
memory.MemoryCollection)
self.assertFalse(self.sys_inst._memory._is_stale)
def test_storage_on_refresh(self):
with open('proliantutils/tests/redfish/json_samples/'
@@ -462,11 +480,16 @@ class HPESystemTestCase(testtools.TestCase):
'json_samples/system.json', 'r') as f:
self.conn.get.return_value.json.return_value = (
json.loads(f.read())['default'])
self.sys_inst.refresh()
self.assertIsNone(self.sys_inst._storages)
self.sys_inst.invalidate()
self.sys_inst.refresh(force=False)
self.assertIsNotNone(self.sys_inst._storages)
self.assertTrue(self.sys_inst._storages._is_stale)
with open('proliantutils/tests/redfish/json_samples/'
'simple_storage_collection.json', 'r') as f:
self.conn.get.return_value.json.return_value = json.loads(f.read())
self.assertIsInstance(self.sys_inst.storages,
storage.StorageCollection)
self.assertFalse(self.sys_inst._storages._is_stale)

View File

@@ -32,8 +32,7 @@ class HPEConnectorTestCase(testtools.TestCase):
"Hello", "World"]
hpe_conn = hpe_connector.HPEConnector(
'http://foo.bar:1234', username='user',
password='pass', verify=True)
'http://foo.bar:1234', verify=True)
headers = {'X-Fake': 'header'}
hpe_conn._op('GET', path='fake/path', data=None, headers=headers)
conn_mock.assert_called_once_with(hpe_conn, 'GET', path='fake/path',
@@ -46,8 +45,7 @@ class HPEConnectorTestCase(testtools.TestCase):
exceptions.ConnectionError, "Hello", "World"]
hpe_conn = hpe_connector.HPEConnector(
'http://foo.bar:1234', username='user',
password='pass', verify=True)
'http://foo.bar:1234', verify=True)
headers = {'X-Fake': 'header'}
lval = hpe_conn._op('GET', path='fake/path', data=None,
headers=headers)
@@ -62,8 +60,7 @@ class HPEConnectorTestCase(testtools.TestCase):
["Hello", "World"])
hpe_conn = hpe_connector.HPEConnector(
'http://foo.bar:1234', username='user',
password='pass', verify=True)
'http://foo.bar:1234', verify=True)
headers = {'X-Fake': 'header'}
self.assertRaises(
exceptions.ConnectionError, hpe_conn._op,