def test_complete_package_preserves_source_type_with_subdirectories( provider: Provider, root: ProjectPackage) -> None: dependency_one = Factory.create_dependency( "one", { "git": "https://github.com/demo/subdirectories.git", "subdirectory": "one", }, ) dependency_one_copy = Factory.create_dependency( "one", { "git": "https://github.com/demo/subdirectories.git", "subdirectory": "one-copy", }, ) dependency_two = Factory.create_dependency( "two", { "git": "https://github.com/demo/subdirectories.git", "subdirectory": "two" }, ) root.add_dependency( Factory.create_dependency( "one", { "git": "https://github.com/demo/subdirectories.git", "subdirectory": "one", }, )) root.add_dependency(dependency_one_copy) root.add_dependency(dependency_two) complete_package = provider.complete_package( DependencyPackage(root.to_dependency(), root)) requires = complete_package.package.all_requires assert len(requires) == 3 assert {r.to_pep_508() for r in requires} == { dependency_one.to_pep_508(), dependency_one_copy.to_pep_508(), dependency_two.to_pep_508(), }
def test_complete_package_preserves_source_type(provider: Provider, root: ProjectPackage) -> None: fixtures = Path(__file__).parent.parent / "fixtures" project_dir = fixtures.joinpath("with_conditional_path_deps") for folder in ["demo_one", "demo_two"]: path = (project_dir / folder).as_posix() root.add_dependency(Factory.create_dependency("demo", {"path": path})) complete_package = provider.complete_package( DependencyPackage(root.to_dependency(), root)) requires = complete_package.package.all_requires assert len(requires) == 2 assert {requires[0].source_url, requires[1].source_url} == { project_dir.joinpath("demo_one").as_posix(), project_dir.joinpath("demo_two").as_posix(), }