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
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",], }
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
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" )