def test_install_raises_if_environment_doesnt_exist(mocker: MockerFixture): mocker.patch("pytoil.environments.Conda.exists", autospec=True, return_value=False) conda = Conda(root=Path("somewhere"), environment_name="testy", conda="notconda") with pytest.raises(EnvironmentDoesNotExistError): conda.install(packages=["black", "mypy", "isort"])
def test_install_passes_correct_command(mocker: MockerFixture, name: str, packages: list[str], silent: bool, stdout, stderr): fake_project = Path("/Users/me/projects/fakeproject") mocker.patch("pytoil.environments.Conda.exists", autospec=True, return_value=True) mock_subprocess = mocker.patch("pytoil.environments.conda.subprocess.run", autospec=True) env = Conda(root=fake_project, environment_name="testy", conda="notconda") env.install(packages=packages, silent=silent) mock_subprocess.assert_called_once_with( ["notconda", "install", "-y", "--name", "testy", *packages], cwd=fake_project.resolve(), stdout=stdout, stderr=stderr, )
def test_install_raises_if_conda_not_installed(): conda = Conda(root=Path("somewhere"), environment_name="testy", conda=None) with pytest.raises(CondaNotInstalledError): conda.install(packages=["black", "mypy", "isort"])