diff --git a/tests/rules/test_apt_get.py b/tests/rules/test_apt_get.py index 2f2520fc..81ae5e0d 100644 --- a/tests/rules/test_apt_get.py +++ b/tests/rules/test_apt_get.py @@ -39,6 +39,17 @@ def test_not_match(command): assert not match(command) +@pytest.mark.parametrize('command, return_value', [ + (Command(script='a_bad_cmd', stderr='a_bad_cmd: command not found'), []), + (Command(script='vim', stderr=''), []), (Command(), [])]) +@patch('thefuck.rules.apt_get.CommandNotFound', create=True) +@patch.multiple(apt_get, create=True, apt_get='apt_get') +def test_not_match_mocked(cmdnf_mock, command, return_value): + get_packages = Mock(return_value=return_value) + cmdnf_mock.CommandNotFound.return_value = Mock(getPackages=get_packages) + assert not match(command) + + # python-commandnotfound is available in ubuntu 14.04+ @pytest.mark.skipif(not getattr(apt_get, 'enabled_by_default', True), reason='Skip if python-commandnotfound is not available')