2021-08-25 16:02:26 +02:00
|
|
|
from typing import Optional
|
|
|
|
|
2020-04-24 21:14:09 +02:00
|
|
|
from pip._internal.models.candidate import InstallationCandidate
|
|
|
|
from pip._internal.models.link import Link
|
|
|
|
|
|
|
|
|
2021-08-25 16:02:26 +02:00
|
|
|
def make_mock_candidate(
|
|
|
|
version: str, yanked_reason: Optional[str] = None, hex_digest: Optional[str] = None
|
|
|
|
) -> InstallationCandidate:
|
2021-04-02 11:21:40 +02:00
|
|
|
url = f"https://example.com/pkg-{version}.tar.gz"
|
2020-04-24 21:14:09 +02:00
|
|
|
if hex_digest is not None:
|
|
|
|
assert len(hex_digest) == 64
|
2021-04-02 11:21:40 +02:00
|
|
|
url += f"#sha256={hex_digest}"
|
2020-04-24 21:14:09 +02:00
|
|
|
|
|
|
|
link = Link(url, yanked_reason=yanked_reason)
|
2021-04-02 11:21:40 +02:00
|
|
|
candidate = InstallationCandidate("mypackage", version, link)
|
2020-04-24 21:14:09 +02:00
|
|
|
|
|
|
|
return candidate
|