def test_get_src_location_pkg(monkeypatch): """Mock a multiple package scenario, only the first one is used.""" def mock_find_packages(*args, **kwargs): return ["srcdir", "secondsrcdir"] # because I use: from setuptools import find_packages # therefore the mock of the imported instance monkeypatch.setattr(mutatest.cli, "find_packages", mock_find_packages) result = cli.get_src_location() assert result.name == "srcdir"
def test_get_src_location_error(monkeypatch): """Mock a missing package scenario, FileNotFoundError is raised.""" def mock_find_packages(*args, **kwargs): return [] # because I use: from setuptools import find_packages # therefore the mock of the imported instance monkeypatch.setattr(mutatest.cli, "find_packages", mock_find_packages) with pytest.raises(FileNotFoundError): _ = cli.get_src_location()
def test_get_src_location_file(monkeypatch, binop_file): """If an existing file is passed it is returned without modification.""" result = cli.get_src_location(binop_file) assert result.resolve() == binop_file.resolve()
def test_get_src_location_missing_file(monkeypatch): """If a missing file is passed an exception is raised.""" with pytest.raises(FileNotFoundError): _ = cli.get_src_location(Path("/tmp/filethatdoesnotexist/sdf/asdf/23rjsdfu.py"))