Changeset View
Changeset View
Standalone View
Standalone View
swh/lister/gnu/tests/test_lister.py
# Copyright (C) 2019 The Software Heritage developers | # Copyright (C) 2019 The Software Heritage developers | ||||
# See the AUTHORS file at the top-level directory of this distribution | # See the AUTHORS file at the top-level directory of this distribution | ||||
# License: GNU General Public License version 3, or any later version | # License: GNU General Public License version 3, or any later version | ||||
# See top-level LICENSE file for more information | # See top-level LICENSE file for more information | ||||
import logging | import logging | ||||
logger = logging.getLogger(__name__) | logger = logging.getLogger(__name__) | ||||
def test_lister_no_page_check_results(swh_listers, requests_mock_datadir): | def test_gnu_lister(swh_listers, requests_mock_datadir): | ||||
lister = swh_listers['gnu'] | lister = swh_listers['gnu'] | ||||
lister.run() | lister.run() | ||||
r = lister.scheduler.search_tasks(task_type='load-tar') | r = lister.scheduler.search_tasks(task_type='load-tar') | ||||
assert len(r) == 383 | assert len(r) == 383 | ||||
for row in r: | for row in r: | ||||
assert row['type'] == 'load-tar' | assert row['type'] == 'load-tar' | ||||
# arguments check | # arguments check | ||||
args = row['arguments']['args'] | args = row['arguments']['args'] | ||||
assert len(args) == 1 | assert len(args) == 0 | ||||
url = args[0] | # kwargs | ||||
kwargs = row['arguments']['kwargs'] | |||||
assert set(kwargs.keys()) == {'url', 'artifacts'} | |||||
url = kwargs['url'] | |||||
assert url.startswith('https://ftp.gnu.org') | assert url.startswith('https://ftp.gnu.org') | ||||
url_suffix = url.split('https://ftp.gnu.org')[1] | url_suffix = url.split('https://ftp.gnu.org')[1] | ||||
assert 'gnu' in url_suffix or 'old-gnu' in url_suffix | assert 'gnu' in url_suffix or 'old-gnu' in url_suffix | ||||
# kwargs | artifacts = kwargs['artifacts'] | ||||
kwargs = row['arguments']['kwargs'] | # check the artifact's structure | ||||
assert list(kwargs.keys()) == ['tarballs'] | artifact = artifacts[0] | ||||
assert set(artifact.keys()) == { | |||||
tarballs = kwargs['tarballs'] | 'url', 'length', 'time', 'filename', 'version' | ||||
# check the tarball's structure | } | ||||
tarball = tarballs[0] | |||||
assert set(tarball.keys()) == set(['archive', 'length', 'time']) | |||||
assert row['policy'] == 'oneshot' | assert row['policy'] == 'oneshot' |