def test_can_detect_external_dependencies_for_packages(
    package_a: Requirement,
    external_dependency_a: ExternalDependency,
    dependency_graph: DependencyGraph,
):
    dependency_graph.set_external_dependency(dependent=package_a,
                                             dependency=external_dependency_a)
    assert dependency_graph.get_all_external_dependencies(package_a) == {
        external_dependency_a,
    }
def test_can_retrieve_external_dependencies_from_runtime_dependencies(
    package_a: Requirement,
    package_b: Requirement,
    external_dependency_a: ExternalDependency,
    dependency_graph: DependencyGraph,
):
    dependency_graph.set_runtime_dependency(dependent=package_a,
                                            dependency=package_b)
    dependency_graph.set_external_dependency(dependent=package_b,
                                             dependency=external_dependency_a)
    assert dependency_graph.get_all_external_dependencies(
        package=package_a) == {
            external_dependency_a,
        }