nvchecker/tests/test_repology.py
Jakub Ružička 024849c242 repology: add support for subrepo
Without this, querying latest Fedora packages is impossible because they
reside in 'updates' subrepo but old 'release' versions are returned.
Same thing for openSUSE.

Example config to query Fedora 32 latest packages in updates subrepo:

[somepackage]
source = "repology"
repo = "fedora_32"
subrepo = "updates"
2020-10-30 06:06:15 +01:00

38 lines
1022 B
Python

# MIT licensed
# Copyright (c) 2019-2020 lilydjwg <lilydjwg@gmail.com>, et al.
import pytest
pytestmark = [pytest.mark.asyncio,
pytest.mark.needs_net]
async def test_repology(get_version):
assert await get_version("ssed", {
"source": "repology",
"repo": "aur",
}) == "3.62"
async def test_repology_subrepo(get_version):
assert await get_version("asciiquarium", {
"source": "repology",
"repo": "fedora_32",
"subrepo": "release"
}) == "1.1"
async def test_repology_bad_subrepo(get_version):
try:
assert await get_version("asciiquarium", {
"source": "repology",
"repo": "fedora_32",
"subrepo": "badsubrepo"
}) is None
except RuntimeError as e:
assert "package is not found in subrepo" in str(e)
async def test_repology_no_repo(get_version):
try:
assert await get_version("ssed", {
"source": "repology",
}) is None
except RuntimeError as e:
assert "repo field is required" in str(e)