Пример #1
0
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
Пример #2
0
 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,
     )
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
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
Пример #9
0
def test_list_reverse_without_graph_flag(project):
    with pytest.raises(PdmException):
        actions.do_list(project, reverse=True)
Пример #10
0
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
Пример #11
0
def list_(project, graph):
    """List packages installed in the current working set."""
    actions.do_list(project, graph)
Пример #12
0
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
Пример #13
0
def test_list_packages(capsys):
    actions.do_list(Project())
    out, _ = capsys.readouterr()
    assert "pdm" in out
    assert "tomlkit" in out
    assert "halo" in out
Пример #14
0
 def handle(self, project: Project, options: argparse.Namespace) -> None:
     actions.do_list(project, options.graph, options.reverse)
Пример #15
0
def test_list_json_without_graph_flag(project):
    with pytest.raises(PdmException):
        actions.do_list(project, json=True)