def test_db_0_multiple(self, graph: MockedGraphDatabase) -> None: """Check that resolving can resolve multiple Python packages.""" resolved = PythonGraphSolver( dependency_parser=PackageVersionDependencyParser(), releases_fetcher=GraphReleasesFetcher(graph=graph), ).solve( [ PackageVersion( name="a", version="*", index=None, develop=False), PackageVersion( name="b", version=">1.0.0", index=None, develop=False), ], graceful=False, ) assert len(resolved) == 2 assert "a" in resolved assert set(resolved["a"]) == { ("1.0.0", "index1"), ("1.1.0", "index1"), ("1.2.0", "index2"), } assert "b" in resolved assert set(resolved["b"]) == {("2.0.0", "index1"), ("3.0.0", "index2")}
def test_db_0(self, graph: MockedGraphDatabase) -> None: """Check that resolving can gather all versions available in the graph database.""" resolved = PythonGraphSolver( dependency_parser=PackageVersionDependencyParser(), releases_fetcher=GraphReleasesFetcher(graph=graph), ).solve( [PackageVersion(name="a", version="*", index=None, develop=False)], graceful=False, ) assert len(resolved) == 1 assert "a" in resolved assert set(resolved["a"]) == { ("1.0.0", "index1"), ("1.1.0", "index1"), ("1.2.0", "index2"), }
def test_db_0_raises(self, graph: MockedGraphDatabase) -> None: """Check that there is raised an exception if no releases were found.""" with pytest.raises(SolverException): PythonGraphSolver( dependency_parser=PackageVersionDependencyParser(), releases_fetcher=GraphReleasesFetcher(graph=graph), ).solve( [ PackageVersion( name="nonexisting-foo", version="==1.0.0", index=None, develop=False, ) ], graceful=False, )