def test_venv_dir_path(tmp_path): set_env(tmp_path) p = Pipis() args = Args() venv_dir = p._venv_dir_path(args.package) assert isinstance(venv_dir, str) assert venv_dir.startswith(str(tmp_path))
def test_update(tmp_path): set_env(tmp_path) p = Pipis() args = Args() p.update(args) venv_dir = p._venv_dir_path(args.package) package_bin = Path(venv_dir, "bin", args.package) assert package_bin.exists()
def test_install_upgrade(tmp_path): set_env(tmp_path) p = Pipis() args = Args(upgrade=True) p.install(args) venv_dir = p._venv_dir_path(args.package) package_bin = Path(venv_dir, "bin", args.package) assert package_bin.exists()
def test_uninstall(tmp_path): set_env(tmp_path) p = Pipis() args = Args() p.install(args) p.uninstall(args) venv_dir = p._venv_dir_path(args.package) package_bin = Path(venv_dir, "bin", args.package) assert not package_bin.exists()
def test_install_input_yes(tmp_path): set_env(tmp_path) p = Pipis() args = Args(yes=False) with mock.patch("builtins.input", return_value="y"): p.install(args) venv_dir = p._venv_dir_path(args.package) package_bin = Path(venv_dir, "bin", args.package) assert package_bin.exists()
def test_install_dependency(tmp_path): set_env(tmp_path) p = Pipis() args = Args(dependency="black") p.install(args) venv_dir = p._venv_dir_path(args.package) requirements = Path(venv_dir, "requirements.txt").read_text() dep_bin = Path(venv_dir, "bin", "black") assert requirements == "black" assert dep_bin.exists()