pip/tests/lib/index.py

19 lines
580 B
Python

from typing import Optional
from pip._internal.models.candidate import InstallationCandidate
from pip._internal.models.link import Link
def make_mock_candidate(
version: str, yanked_reason: Optional[str] = None, hex_digest: Optional[str] = None
) -> InstallationCandidate:
url = f"https://example.com/pkg-{version}.tar.gz"
if hex_digest is not None:
assert len(hex_digest) == 64
url += f"#sha256={hex_digest}"
link = Link(url, yanked_reason=yanked_reason)
candidate = InstallationCandidate("mypackage", version, link)
return candidate