diff --git a/repos/system_upgrade/common/actors/udev/udevadminfo/libraries/udevadminfo.py b/repos/system_upgrade/common/actors/udev/udevadminfo/libraries/udevadminfo.py index 4be678e11c..8f36075b5d 100644 --- a/repos/system_upgrade/common/actors/udev/udevadminfo/libraries/udevadminfo.py +++ b/repos/system_upgrade/common/actors/udev/udevadminfo/libraries/udevadminfo.py @@ -14,6 +14,6 @@ def process(): details={ 'details': 'Failed to execute `udevadm info -e` command.', 'error': str(err) - } + } ) api.produce(UdevAdmInfoData(db=out)) diff --git a/repos/system_upgrade/common/actors/udev/udevadminfo/tests/test_udevadminfo.py b/repos/system_upgrade/common/actors/udev/udevadminfo/tests/test_udevadminfo.py index 8c7cea8a66..f465d6f6aa 100644 --- a/repos/system_upgrade/common/actors/udev/udevadminfo/tests/test_udevadminfo.py +++ b/repos/system_upgrade/common/actors/udev/udevadminfo/tests/test_udevadminfo.py @@ -1,13 +1,32 @@ import os +import pytest + +from leapp.exceptions import StopActorExecutionError from leapp.libraries.actor import udevadminfo from leapp.libraries.common import testutils -from leapp.libraries.stdlib import api, run +from leapp.libraries.stdlib import api, CalledProcessError from leapp.models import UdevAdmInfoData CUR_DIR = os.path.dirname(os.path.abspath(__file__)) +def _raise_call_error(*args): + raise CalledProcessError( + message='A Leapp Command Error occurred.', + command=args, + result={'signal': None, 'exit_code': 1, 'pid': 0, 'stdout': 'fake', 'stderr': 'fake'} + ) + + +def test_failed_run(monkeypatch): + monkeypatch.setattr(api, 'produce', testutils.produce_mocked()) + monkeypatch.setattr(udevadminfo, 'run', _raise_call_error) + + with pytest.raises(StopActorExecutionError): + udevadminfo.process() + + def test_udevadminfo(monkeypatch): with open(os.path.join(CUR_DIR, 'files', 'udevadm_database'), 'r') as fp: