def test__get_partition_fallback_partuuid(self, mock_is_md_device, mock_execute, mock_dispatch): mock_is_md_device.side_effect = [False] lsblk_output = ('''KNAME="test" UUID="" TYPE="disk" KNAME="test1" UUID="256a39e3-ca3c-4fb8-9cc2-b32eec441f47" TYPE="part" KNAME="test2" UUID="" TYPE="part"''') findfs_output = ('/dev/loop0\n', None) mock_execute.side_effect = (None, None, [lsblk_output], processutils.ProcessExecutionError('boom'), findfs_output) result = image._get_partition(self.fake_dev, self.fake_root_uuid) self.assertEqual('/dev/loop0', result) expected = [ mock.call('partx', '-u', self.fake_dev, attempts=3, delay_on_retry=True), mock.call('udevadm', 'settle'), mock.call('lsblk', '-PbioKNAME,UUID,PARTUUID,TYPE', self.fake_dev), mock.call('findfs', 'UUID=%s' % self.fake_root_uuid), mock.call('findfs', 'PARTUUID=%s' % self.fake_root_uuid) ] mock_execute.assert_has_calls(expected) self.assertFalse(mock_dispatch.called)
def test__get_partition(self, mock_execute, mock_dispatch): lsblk_output = ('''KNAME="test" UUID="" TYPE="disk" KNAME="test1" UUID="256a39e3-ca3c-4fb8-9cc2-b32eec441f47" TYPE="part" KNAME="test2" UUID="%s" TYPE="part"''' % self.fake_root_uuid) mock_execute.side_effect = (None, None, [lsblk_output]) root_part = image._get_partition(self.fake_dev, self.fake_root_uuid) self.assertEqual('/dev/test2', root_part) expected = [mock.call('partx', '-u', self.fake_dev, attempts=3, delay_on_retry=True), mock.call('udevadm', 'settle'), mock.call('lsblk', '-PbioKNAME,UUID,TYPE', self.fake_dev)] mock_execute.assert_has_calls(expected) self.assertFalse(mock_dispatch.called)