summaryrefslogtreecommitdiff
path: root/ironic_python_agent/tests/unit/test_hardware.py
diff options
context:
space:
mode:
Diffstat (limited to 'ironic_python_agent/tests/unit/test_hardware.py')
-rw-r--r--ironic_python_agent/tests/unit/test_hardware.py41
1 files changed, 37 insertions, 4 deletions
diff --git a/ironic_python_agent/tests/unit/test_hardware.py b/ironic_python_agent/tests/unit/test_hardware.py
index 60820727..0db92354 100644
--- a/ironic_python_agent/tests/unit/test_hardware.py
+++ b/ironic_python_agent/tests/unit/test_hardware.py
@@ -137,6 +137,13 @@ class TestGenericHardwareManager(base.IronicAgentTest):
'abortable': True
},
{
+ 'step': 'erase_devices_express',
+ 'priority': 0,
+ 'interface': 'deploy',
+ 'reboot_requested': False,
+ 'abortable': True
+ },
+ {
'step': 'erase_pstore',
'priority': 0,
'interface': 'deploy',
@@ -2103,6 +2110,32 @@ class TestGenericHardwareManager(base.IronicAgentTest):
])
@mock.patch.object(il_utils, 'execute', autospec=True)
+ @mock.patch.object(disk_utils, 'destroy_disk_metadata', autospec=True)
+ @mock.patch.object(hardware.GenericHardwareManager,
+ '_nvme_erase', autospec=True)
+ @mock.patch.object(hardware.GenericHardwareManager,
+ '_list_erasable_devices', autospec=True)
+ def test_erase_devices_express(
+ self, mock_list_erasable_devices, mock_nvme_erase,
+ mock_destroy_disk_metadata, mock_execute):
+ block_devices = [
+ hardware.BlockDevice('/dev/sda', 'sata', 65535, False),
+ hardware.BlockDevice('/dev/md0', 'raid-device', 32767, False),
+ hardware.BlockDevice('/dev/nvme0n1', 'nvme', 32767, False),
+ hardware.BlockDevice('/dev/nvme1n1', 'nvme', 32767, False)
+ ]
+ mock_list_erasable_devices.return_value = list(block_devices)
+
+ self.hardware.erase_devices_express(self.node, [])
+ self.assertEqual([mock.call(self.hardware, block_devices[2]),
+ mock.call(self.hardware, block_devices[3])],
+ mock_nvme_erase.call_args_list)
+ self.assertEqual([mock.call('/dev/sda', self.node['uuid']),
+ mock.call('/dev/md0', self.node['uuid'])],
+ mock_destroy_disk_metadata.call_args_list)
+ mock_list_erasable_devices.assert_called_with(self.hardware)
+
+ @mock.patch.object(il_utils, 'execute', autospec=True)
@mock.patch.object(hardware.GenericHardwareManager,
'_is_virtual_media_device', autospec=True)
@mock.patch.object(hardware.GenericHardwareManager,
@@ -2135,8 +2168,8 @@ class TestGenericHardwareManager(base.IronicAgentTest):
mock.call('/dev/sda', self.node['uuid']),
mock.call('/dev/md0', self.node['uuid'])],
mock_metadata.call_args_list)
- mock_list_devs.assert_called_once_with(self.hardware,
- include_partitions=True)
+ mock_list_devs.assert_called_with(self.hardware,
+ include_partitions=True)
self.assertEqual([mock.call(self.hardware, block_devices[0]),
mock.call(self.hardware, block_devices[1]),
mock.call(self.hardware, block_devices[4]),
@@ -2183,8 +2216,8 @@ class TestGenericHardwareManager(base.IronicAgentTest):
self.assertEqual([mock.call('/dev/sdb', self.node['uuid']),
mock.call('/dev/sda', self.node['uuid'])],
mock_metadata.call_args_list)
- mock_list_devs.assert_called_once_with(self.hardware,
- include_partitions=True)
+ mock_list_devs.assert_called_with(self.hardware,
+ include_partitions=True)
self.assertEqual([mock.call(self.hardware, block_devices[1]),
mock.call(self.hardware, block_devices[0])],
mock__is_vmedia.call_args_list)