Exemplo n.º 1
0
def test_python_distribution_dependency_injection() -> None:
    rule_runner = RuleRunner(
        rules=[
            inject_python_distribution_dependencies,
            QueryRule(InjectedDependencies,
                      [InjectPythonDistributionDependencies]),
        ],
        target_types=[PythonDistribution, PexBinary],
        objects={"setup_py": PythonArtifact},
    )
    rule_runner.add_to_build_file(
        "project",
        dedent("""\
            pex_binary(name="my_binary")
            python_distribution(
                name="dist",
                provides=setup_py(
                    name='my-dist'
                ).with_binaries({"my_cmd": ":my_binary"})
            )
            """),
    )
    tgt = rule_runner.get_target(Address("project", target_name="dist"))
    injected = rule_runner.request(
        InjectedDependencies,
        [
            InjectPythonDistributionDependencies(
                tgt[PythonDistributionDependencies])
        ],
    )
    assert injected == InjectedDependencies(
        [Address("project", target_name="my_binary")])
Exemplo n.º 2
0
 def assert_injected(address: Address, expected: list[Address]) -> None:
     tgt = rule_runner.get_target(address)
     injected = rule_runner.request(
         InjectedDependencies,
         [InjectPythonDistributionDependencies(tgt[PythonDistributionDependenciesField])],
     )
     assert injected == InjectedDependencies(expected)