Exemple #1
0
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"])
Exemple #2
0
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,
    )
Exemple #3
0
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"])