Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/tests/algos/test_origin.py
# Copyright (C) 2019-2020 The Software Heritage developers | # Copyright (C) 2019-2020 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 datetime | import datetime | ||||
import pytest | |||||
from swh.model.model import Origin, OriginVisit, OriginVisitStatus | from swh.model.model import Origin, OriginVisit, OriginVisitStatus | ||||
from swh.storage.algos.origin import ( | from swh.storage.algos.origin import ( | ||||
iter_origins, | iter_origins, | ||||
origin_get_latest_visit_status, | origin_get_latest_visit_status, | ||||
iter_origin_visits, | iter_origin_visits, | ||||
iter_origin_visit_statuses, | iter_origin_visit_statuses, | ||||
Show All 10 Lines | |||||
def test_iter_origins(swh_storage): | def test_iter_origins(swh_storage): | ||||
origins = [ | origins = [ | ||||
Origin(url="bar"), | Origin(url="bar"), | ||||
Origin(url="qux"), | Origin(url="qux"), | ||||
Origin(url="quuz"), | Origin(url="quuz"), | ||||
] | ] | ||||
assert swh_storage.origin_add(origins) == {"origin:add": 3} | assert swh_storage.origin_add(origins) == {"origin:add": 3} | ||||
assert_list_eq(iter_origins(swh_storage), origins) | |||||
assert_list_eq(iter_origins(swh_storage, batch_size=1), origins) | |||||
assert_list_eq(iter_origins(swh_storage, batch_size=2), origins) | |||||
for i in range(1, 5): | |||||
assert_list_eq(iter_origins(swh_storage, origin_from=i + 1), origins[i:], i) | |||||
assert_list_eq( | |||||
iter_origins(swh_storage, origin_from=i + 1, batch_size=1), origins[i:], i | |||||
) | |||||
assert_list_eq( | |||||
iter_origins(swh_storage, origin_from=i + 1, batch_size=2), origins[i:], i | |||||
) | |||||
for j in range(i, 5): | |||||
assert_list_eq( | |||||
iter_origins(swh_storage, origin_from=i + 1, origin_to=j + 1), | |||||
origins[i:j], | |||||
(i, j), | |||||
) | |||||
assert_list_eq( | |||||
iter_origins( | |||||
swh_storage, origin_from=i + 1, origin_to=j + 1, batch_size=1 | |||||
), | |||||
origins[i:j], | |||||
(i, j), | |||||
) | |||||
assert_list_eq( | # this returns all the origins, only the number of paged called is different | ||||
iter_origins( | assert_list_eq(iter_origins(swh_storage), origins) | ||||
swh_storage, origin_from=i + 1, origin_to=j + 1, batch_size=2 | assert_list_eq(iter_origins(swh_storage, limit=1), origins) | ||||
), | assert_list_eq(iter_origins(swh_storage, limit=2), origins) | ||||
origins[i:j], | |||||
(i, j), | |||||
) | |||||
def test_origin_get_latest_visit_status_none(swh_storage, sample_data): | def test_origin_get_latest_visit_status_none(swh_storage, sample_data): | ||||
"""Looking up unknown objects should return nothing | """Looking up unknown objects should return nothing | ||||
""" | """ | ||||
# unknown origin so no result | # unknown origin so no result | ||||
assert origin_get_latest_visit_status(swh_storage, "unknown-origin") is None | assert origin_get_latest_visit_status(swh_storage, "unknown-origin") is None | ||||
▲ Show 20 Lines • Show All 314 Lines • Show Last 20 Lines |