summaryrefslogtreecommitdiff
path: root/tests/lib/index.py
blob: 17282bc562fb11a1e70c698fd7b4a2929c23fb2d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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