diff --git a/requirements-swh.txt b/requirements-swh.txt index 4a51486..68e39c5 100644 --- a/requirements-swh.txt +++ b/requirements-swh.txt @@ -1,6 +1,6 @@ # Add here internal Software Heritage dependencies, one per line. swh.core[http] >= 0.3 # [http] is required by swh.core.pytest_plugin swh.storage >= 0.11.3 swh.model >= 6.6.0 swh.scheduler >= 0.0.39 -swh.loader.core >= 3.0.0 +swh.loader.core >= 5.0.0 diff --git a/swh/loader/cvs/tests/test_tasks.py b/swh/loader/cvs/tests/test_tasks.py index ce9fc02..e750d3d 100644 --- a/swh/loader/cvs/tests/test_tasks.py +++ b/swh/loader/cvs/tests/test_tasks.py @@ -1,69 +1,43 @@ # Copyright (C) 2019-2022 The Software Heritage developers # See the AUTHORS file at the top-level directory of this distribution # License: GNU General Public License version 3, or any later version # See top-level LICENSE file for more information import uuid import pytest from swh.scheduler.model import ListedOrigin, Lister -from swh.scheduler.utils import create_origin_task_dict - -@pytest.fixture(autouse=True) -def celery_worker_and_swh_config(swh_scheduler_celery_worker, swh_config): - pass +NAMESPACE = "swh.loader.cvs" @pytest.fixture def cvs_lister(): return Lister(name="cvs-lister", instance_name="example", id=uuid.uuid4()) @pytest.fixture def cvs_listed_origin(cvs_lister): return ListedOrigin( - lister_id=cvs_lister.id, url="https://cvs.example.org/repo", visit_type="cvs" + lister_id=cvs_lister.id, + url="rsync://cvs.example.org/cvsroot/module", + visit_type="cvs", ) -def test_cvs_loader( - mocker, - swh_scheduler_celery_app, -): - mock_loader = mocker.patch("swh.loader.cvs.loader.CvsLoader.load") - mock_loader.return_value = {"status": "eventful"} - - res = swh_scheduler_celery_app.send_task( - "swh.loader.cvs.tasks.LoadCvsRepository", - kwargs=dict( - url="some-technical-url", origin_url="origin-url", visit_date="now" - ), - ) - assert res - res.wait() - assert res.successful() - - assert res.result == {"status": "eventful"} - assert mock_loader.called - - +@pytest.mark.parametrize("extra_loader_arguments", [{}, {"visit_date": "now"}]) def test_cvs_loader_for_listed_origin( - mocker, swh_scheduler_celery_app, cvs_lister, cvs_listed_origin + loading_task_creation_for_listed_origin_test, + cvs_lister, + cvs_listed_origin, + extra_loader_arguments, ): - mock_loader = mocker.patch("swh.loader.cvs.loader.CvsLoader.load") - mock_loader.return_value = {"status": "eventful"} + cvs_listed_origin.extra_loader_arguments = extra_loader_arguments - task_dict = create_origin_task_dict(cvs_listed_origin, cvs_lister) - - res = swh_scheduler_celery_app.send_task( - "swh.loader.cvs.tasks.LoadCvsRepository", - kwargs=task_dict["arguments"]["kwargs"], + loading_task_creation_for_listed_origin_test( + loader_class_name=f"{NAMESPACE}.loader.CvsLoader", + task_function_name=f"{NAMESPACE}.tasks.LoadCvsRepository", + lister=cvs_lister, + listed_origin=cvs_listed_origin, ) - assert res - res.wait() - assert res.successful() - - assert res.result == {"status": "eventful"} - assert mock_loader.called