def test_list_packages(capsys, core): project = Project() project.core = core actions.do_list(project) out, _ = capsys.readouterr() assert "pdm" in out assert "tomlkit" in out assert "pip" in out
def handle(self, project: Project, options: argparse.Namespace) -> None: actions.do_list( project, graph=options.graph, reverse=options.reverse, freeze=options.freeze, json=options.json, )
def test_list_dependency_graph_with_circular(project, capsys, repository): repository.add_candidate("foo", "0.1.0") repository.add_candidate("foo-bar", "0.1.0") repository.add_dependencies("foo", "0.1.0", ["foo-bar"]) repository.add_dependencies("foo-bar", "0.1.0", ["foo"]) actions.do_add(project, packages=["foo"]) actions.do_list(project, True) content, _ = capsys.readouterr() assert "foo [circular]" in content
def test_freeze_dependencies_list(project, capsys, mocker): actions.do_add(project, packages=["requests"]) capsys.readouterr() mocker.patch("pdm.cli.actions.frozen_requirement_from_dist", side_effect=lambda d: d.as_req()) actions.do_list(project, freeze=True) content, _ = capsys.readouterr() assert "requests==2.19.1" in content assert "urllib3==1.22" in content
def test_list_dependency_graph_with_circular_reverse(project, capsys, repository): repository.add_candidate("foo", "0.1.0") repository.add_candidate("foo-bar", "0.1.0") repository.add_candidate("baz", "0.1.0") repository.add_dependencies("foo", "0.1.0", ["foo-bar"]) repository.add_dependencies("foo-bar", "0.1.0", ["foo", "baz"]) repository.add_dependencies("baz", "0.1.0", []) actions.do_add(project, packages=["foo"]) capsys.readouterr() actions.do_list(project, graph=True, reverse=True) content, _ = capsys.readouterr() expected = """ └── foo 0.1.0 [ requires: Any ] ├── foo-bar [circular] [ requires: Any ] └── test-project 0.0.0 [ requires: ~=0.1 ]""" assert expected in content
def test_list_json_with_circular_reverse(project, capsys, repository): repository.add_candidate("foo", "0.1.0") repository.add_candidate("foo-bar", "0.1.0") repository.add_candidate("baz", "0.1.0") repository.add_dependencies("foo", "0.1.0", ["foo-bar"]) repository.add_dependencies("foo-bar", "0.1.0", ["foo", "baz"]) repository.add_dependencies("baz", "0.1.0", []) actions.do_add(project, packages=["foo"], no_self=True) capsys.readouterr() actions.do_list(project, graph=True, json=True, reverse=True) content, _ = capsys.readouterr() expected = [ { "package": "baz", "version": "0.1.0", "requires": None, "dependents": [{ "package": "foo-bar", "version": "0.1.0", "requires": "Any", "dependents": [{ "package": "foo", "version": "0.1.0", "requires": "Any", "dependents": [{ "package": "foo-bar", "version": "0.1.0", "requires": "Any", "dependents": [], }], }], }], }, ] assert expected == json.loads(content)
def test_list_json(project, capsys): actions.do_add(project, packages=["requests"], no_self=True) content, _ = capsys.readouterr() actions.do_list(project, graph=True, json=True) content, _ = capsys.readouterr() expected = [{ "package": "requests", "version": "2.19.1", "required": "~=2.19", "dependencies": [ { "package": "certifi", "version": "2018.11.17", "required": ">=2017.4.17", "dependencies": [], }, { "package": "chardet", "version": "3.0.4", "required": "<3.1.0,>=3.0.2", "dependencies": [], }, { "package": "idna", "version": "2.7", "required": "<2.8,>=2.5", "dependencies": [], }, { "package": "urllib3", "version": "1.22", "required": "<1.24,>=1.21.1", "dependencies": [], }, ], }] assert expected == json.loads(content)
def test_list_reverse_dependency_graph(project, capsys): actions.do_add(project, packages=["requests"]) actions.do_list(project, True, True) content, _ = capsys.readouterr() assert "└── requests 2.19.1 [ requires: <1.24,>=1.21.1 ]" in content
def test_list_reverse_without_graph_flag(project): with pytest.raises(PdmException): actions.do_list(project, reverse=True)
def test_list_dependency_graph(project, capsys): actions.do_add(project, packages=["requests"]) actions.do_list(project, True) content, _ = capsys.readouterr() assert "└── urllib3 1.22 [ required: <1.24,>=1.21.1 ]" in content
def list_(project, graph): """List packages installed in the current working set.""" actions.do_list(project, graph)
def test_list_dependency_graph(capsys): project = Project() actions.do_list(project, True) content, _ = capsys.readouterr() assert "halo 0.0.28 [ required: <1.0.0,>=0.0.28 ]" in content assert "six 1.14.0 [ required: >=1.12.0 ]" in content
def test_list_packages(capsys): actions.do_list(Project()) out, _ = capsys.readouterr() assert "pdm" in out assert "tomlkit" in out assert "halo" in out
def handle(self, project: Project, options: argparse.Namespace) -> None: actions.do_list(project, options.graph, options.reverse)
def test_list_json_without_graph_flag(project): with pytest.raises(PdmException): actions.do_list(project, json=True)