예제 #1
0
def test_merge_dependencies_version_specifications_pip_dependencies():
    """Regression test for issue #91, #92 and #113."""
    merged_dict = {
        "dependencies": [
            "pip",
            {
                "pip": [
                    # issue #113
                    "--editable path/to/first/package",
                    "--editable path/to/second/package",
                    # issue #118
                    "-e ./path/to/first/package",
                    "-e ./path/to/second/package",
                    # issue #92
                    "ConfigAndParse ==0.15.2",
                    # issue #91
                    "[email protected]:ESSS/[email protected]",
                    "hg+ssh://[email protected]/mforbes/[email protected]",
                ]
            },
        ]
    }
    merged_dict_ = copy.deepcopy(merged_dict)
    merge_dependencies_version_specifications(merged_dict, key_to_merge="dependencies")
    assert merged_dict_ == merged_dict
예제 #2
0
def test_merge_dependencies_version_specifications_plain():
    merged_dict = {
        "dependencies": [
            "a_dependency==1.2.3",
            "a_dependency<=4",
            "b_dependency",
            "b_dependency=3",
        ],
    }

    merge_dependencies_version_specifications(merged_dict, key_to_merge="dependencies")

    assert merged_dict == {
        "dependencies": ["a_dependency ==1.2.3,<=4", "b_dependency =3",],
    }
예제 #3
0
def test_merge_dependencies_version_specifications_pip_dependencies():
    """Regression test for issue #91."""
    merged_dict = {
        "dependencies": [
            'pip', {
                'pip': [
                    'hg+ssh://[email protected]/mforbes/[email protected]',
                    'hg+ssh://[email protected]/mforbes/[email protected]'
                ]
            }
        ]
    }
    merged_dict_ = copy.deepcopy(merged_dict)
    merge_dependencies_version_specifications(merged_dict,
                                              key_to_merge='dependencies')
    assert merged_dict_ == merged_dict
예제 #4
0
def test_merge_dependencies_version_specifications_errors():
    merged_dict = {
        "dependencies": ["==1",],
    }
    with pytest.raises(
        RuntimeError, match='.*"==1" do not follow the expected format.*'
    ):
        merge_dependencies_version_specifications(
            merged_dict, key_to_merge="dependencies"
        )

    merged_dict = {
        "dependencies": [1,],
    }
    with pytest.raises(RuntimeError, match=".*Only strings and dicts are supported.*"):
        merge_dependencies_version_specifications(
            merged_dict, key_to_merge="dependencies"
        )