Exemplo n.º 1
0
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(),
            }
Exemplo n.º 2
0
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(),
    }