From: David Lehman dlehman@redhat.com
--- blivet/dbus/blivet.py | 7 +++++++ tests/dbus_test.py | 12 ++++++++++++ 2 files changed, 19 insertions(+)
diff --git a/blivet/dbus/blivet.py b/blivet/dbus/blivet.py index d69f7b8..96c1fa7 100644 --- a/blivet/dbus/blivet.py +++ b/blivet/dbus/blivet.py @@ -109,3 +109,10 @@ def RemoveDevice(self, object_path): """ Remove a device and all devices built on it. """ device = self._dbus_devices[object_path] self._blivet.devicetree.recursive_remove(device) + + @dbus.service.method(dbus_interface=BLIVET_INTERFACE, in_signature='o') + def InitializeDisk(self, object_path): + """ Clear a disk and create a disklabel on it. """ + self.RemoveDevice(object_path) + device = self._dbus_devices[object_path] + self._blivet.initialize_disk(device) diff --git a/tests/dbus_test.py b/tests/dbus_test.py index 203bb9f..5c61840 100644 --- a/tests/dbus_test.py +++ b/tests/dbus_test.py @@ -54,6 +54,18 @@ def test_RemoveDevice(self): self.dbus_object._blivet.devicetree.recursive_remove.assert_called_once_with(device_mock) self.dbus_object._blivet.reset_mock()
+ def test_InitializeDisk(self): + self.dbus_object._blivet.reset_mock() + object_path = '/com/redhat/Blivet1/Devices/23' + device_mock = Mock("device 23") + with patch.object(self.dbus_object, '_dbus_devices', new=dict()): + self.dbus_object._dbus_devices[object_path] = device_mock + self.dbus_object.InitializeDisk(object_path) + + self.dbus_object._blivet.devicetree.recursive_remove.assert_called_once_with(device_mock) + self.dbus_object._blivet.initialize_disk.assert_called_once_with(device_mock) + self.dbus_object._blivet.reset_mock() +
class DBusObjectTestCase(TestCase): @patch.object(DBusObject, '__init__', return_value=None)
anaconda-patches@lists.fedorahosted.org