def test_delete_destroy(self): """QEMU Pool is destroyed.""" pool = mock.MagicMock() logger = mock.Mock() pool.XMLDesc.return_value = """<pool><path>/foo/bar</path></pool>""" qemu.pool_delete(pool, logger) self.assertTrue(pool.destroy.called)
def test_delete_pool_folder(self, os_mock, rm_mock): """QEMU Pool's folder is deleted after Pool's deletion.""" pool = mock.MagicMock() logger = mock.Mock() os_mock.return_value = True pool.XMLDesc.return_value = """<pool><path>/foo/bar/baz</path></pool>""" qemu.pool_delete(pool, logger) rm_mock.assert_called_with('/foo/bar/baz')
def test_delete_pool_folder_error(self, os_mock, rm_mock): """QEMU Pool's folder is deleted in case of error.""" pool = mock.MagicMock() logger = mock.Mock() os_mock.return_value = True pool.XMLDesc.return_value = """<pool><path>/foo/bar/baz</path></pool>""" pool.destroy.side_effect = libvirt.libvirtError('BOOM') qemu.pool_delete(pool, logger) rm_mock.assert_called_with('/foo/bar/baz')
def test_volume_deletion(self): """QEMU If volumes are contained within the Pool they are deleted.""" pool = mock.MagicMock() logger = mock.Mock() volumes = {'foo': mock.Mock(), 'bar': mock.Mock(), 'baz': mock.Mock()} pool.XMLDesc.return_value = """<pool><path>/foo/bar</path></pool>""" pool.listVolumes.return_value = ('foo', 'bar', 'baz') pool.storageVolLookupByName.side_effect = lambda n: volumes[n] qemu.pool_delete(pool, logger) volumes['foo'].delete.assert_called_with(0) volumes['bar'].delete.assert_called_with(0) volumes['baz'].delete.assert_called_with(0)
def test_volume_deletion_error(self): """QEMU The failure of deletion of a Volume does not stop the deletion process.""" pool = mock.MagicMock() logger = mock.Mock() volumes = {'foo': mock.Mock(), 'bar': mock.Mock(), 'baz': mock.Mock()} pool.XMLDesc.return_value = """<pool><path>/foo/bar</path></pool>""" pool.listVolumes.return_value = ('foo', 'bar', 'baz') pool.storageVolLookupByName.side_effect = lambda n: volumes[n] volumes['foo'].delete.side_effect = libvirt.libvirtError('BOOM') qemu.pool_delete(pool, logger) volumes['foo'].delete.assert_called_with(0) volumes['bar'].delete.assert_called_with(0) volumes['baz'].delete.assert_called_with(0) self.assertTrue(pool.destroy.called)