Ejemplo n.º 1
0
def test_remove_package_exist_in_multi_section(project, working_set):
    actions.do_add(project, packages=["requests"])
    actions.do_add(project, dev=True, packages=["urllib3"])
    actions.do_remove(project, dev=True, packages=["urllib3"])
    assert not any("urllib3" in line
                   for line in project.meta["dev-dependencies"])
    assert "urllib3" in working_set
    assert "requests" in working_set
Ejemplo n.º 2
0
 def handle(self, project: Project, options: argparse.Namespace) -> None:
     actions.do_remove(
         project,
         dev=options.dev,
         section=options.section,
         sync=options.sync,
         packages=options.packages,
     )
Ejemplo n.º 3
0
def test_remove_package_exist_in_multi_section(project, repository,
                                               working_set):
    actions.do_add(project, packages=["requests"])
    actions.do_add(project, dev=True, packages=["urllib3"])
    actions.do_remove(project, dev=True, packages=["urllib3"])
    assert "urllib3" not in project.tool_settings["dev-dependencies"]
    assert "urllib3" in working_set
    assert "requests" in working_set
Ejemplo n.º 4
0
def test_remove_package_exist_in_multi_groups(project, working_set):
    actions.do_add(project, packages=["requests"])
    actions.do_add(project, dev=True, packages=["urllib3"])
    actions.do_remove(project, dev=True, packages=["urllib3"])
    assert all("urllib3" not in line
               for line in project.tool_settings["dev-dependencies"]["dev"])
    assert "urllib3" in working_set
    assert "requests" in working_set
Ejemplo n.º 5
0
def test_remove_package_with_dry_run(project, working_set, capsys):
    actions.do_add(project, packages=["requests"])
    actions.do_remove(project, packages=["requests"], dry_run=True)
    out, _ = capsys.readouterr()
    project._lockfile = None
    locked_candidates = project.locked_repository.all_candidates
    assert "urllib3" in locked_candidates
    assert "urllib3" in working_set
    assert "- urllib3 1.22" in out
Ejemplo n.º 6
0
 def handle(self, project: Project, options: argparse.Namespace) -> None:
     actions.do_remove(
         project,
         dev=options.dev,
         group=options.group,
         sync=options.sync,
         packages=options.packages,
         no_editable=options.no_editable,
         no_self=options.no_self,
     )
Ejemplo n.º 7
0
def test_remove_both_normal_and_editable_packages(project, is_dev):
    project.environment.python_requires = PySpecSet(">=3.6")
    actions.do_add(project, is_dev, packages=["demo"])
    actions.do_add(
        project,
        is_dev,
        editables=["git+https://github.com/test-root/demo.git#egg=demo"],
    )
    section = "dev-dependencies" if is_dev else "dependencies"
    actions.do_remove(project, is_dev, packages=["demo"])
    assert not project.meta[section]
    assert "demo" not in project.get_locked_candidates(
        "dev" if is_dev else "default")
Ejemplo n.º 8
0
def test_remove_both_normal_and_editable_packages(project, is_dev):
    project.environment.python_requires = PySpecSet(">=3.6")
    actions.do_add(project, is_dev, packages=["demo"])
    actions.do_add(
        project,
        is_dev,
        editables=["git+https://github.com/test-root/demo.git#egg=demo"],
    )
    section = (project.tool_settings["dev-dependencies"]["dev"]
               if is_dev else project.meta["dependencies"])
    actions.do_remove(project, is_dev, packages=["demo"])
    assert not section
    assert "demo" not in project.locked_repository.all_candidates
Ejemplo n.º 9
0
def test_add_remove_no_package(project):
    with pytest.raises(PdmUsageError):
        actions.do_add(project, packages=())

    with pytest.raises(PdmUsageError):
        actions.do_remove(project, packages=())
Ejemplo n.º 10
0
def test_remove_package_not_exist(project):
    actions.do_add(project, packages=["requests", "pytz"])
    with pytest.raises(PdmException):
        actions.do_remove(project, sync=False, packages=["django"])
Ejemplo n.º 11
0
def test_remove_package_no_sync(project, working_set):
    actions.do_add(project, packages=["requests", "pytz"])
    actions.do_remove(project, sync=False, packages=["pytz"])
    locked_candidates = project.locked_repository.all_candidates
    assert "pytz" not in locked_candidates
    assert "pytz" in working_set
Ejemplo n.º 12
0
def test_remove_package(project, working_set, is_dev):
    actions.do_add(project, dev=is_dev, packages=["requests", "pytz"])
    actions.do_remove(project, dev=is_dev, packages=["pytz"])
    locked_candidates = project.locked_repository.all_candidates
    assert "pytz" not in locked_candidates
    assert "pytz" not in working_set
Ejemplo n.º 13
0
def remove(project, dev, section, sync, packages):
    actions.do_remove(project, dev, section, sync, packages)
Ejemplo n.º 14
0
def test_add_remove_no_package(project, repository):
    with pytest.raises(click.BadParameter):
        actions.do_add(project, packages=())

    with pytest.raises(click.BadParameter):
        actions.do_remove(project, packages=())