diff --git a/conftest.py b/conftest.py new file mode 100644 --- /dev/null +++ b/conftest.py @@ -0,0 +1,15 @@ +# Copyright (C) 2020 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 pytest + +pytest_plugins = ["swh.scheduler.pytest_plugin", "swh.storage.pytest_plugin"] + + +@pytest.fixture(scope="session") +def swh_scheduler_celery_includes(swh_scheduler_celery_includes): + return swh_scheduler_celery_includes + [ + "swh.loader.mercurial.tasks", + ] diff --git a/pytest.ini b/pytest.ini --- a/pytest.ini +++ b/pytest.ini @@ -1,2 +1,5 @@ [pytest] +# Drop this when these fixtures aren't imported automatically anymore +addopts = -p no:pytest_swh_scheduler -p no:pytest_swh_storage + norecursedirs = docs diff --git a/requirements-test.txt b/requirements-test.txt --- a/requirements-test.txt +++ b/requirements-test.txt @@ -1,5 +1,5 @@ pytest pytest-mock swh.core[http] >= 0.0.61 -swh.scheduler[testing] +swh.scheduler[testing] >= 0.5.0 swh.storage[testing] diff --git a/swh/loader/mercurial/tests/conftest.py b/swh/loader/mercurial/tests/conftest.py --- a/swh/loader/mercurial/tests/conftest.py +++ b/swh/loader/mercurial/tests/conftest.py @@ -10,9 +10,6 @@ from typing import Any, Dict -from swh.scheduler.tests.conftest import * # noqa -from swh.storage.tests.conftest import * # noqa - @pytest.fixture def swh_loader_config(swh_storage_backend_config, tmp_path) -> Dict[str, Any]: @@ -54,10 +51,3 @@ f.write(yaml.dump(swh_loader_config)) monkeypatch.setenv("SWH_CONFIG_FILENAME", conffile) return conffile - - -@pytest.fixture(scope="session") # expected redefinition -def celery_includes(): - return [ - "swh.loader.mercurial.tasks", - ] diff --git a/swh/loader/mercurial/tests/test_tasks.py b/swh/loader/mercurial/tests/test_tasks.py --- a/swh/loader/mercurial/tests/test_tasks.py +++ b/swh/loader/mercurial/tests/test_tasks.py @@ -4,11 +4,11 @@ # See top-level LICENSE file for more information -def test_loader(mocker, swh_app, celery_session_worker): +def test_loader(mocker, swh_scheduler_celery_app, swh_scheduler_celery_worker): mock_loader = mocker.patch("swh.loader.mercurial.loader.HgBundle20Loader.load") mock_loader.return_value = {"status": "eventful"} - res = swh_app.send_task( + res = swh_scheduler_celery_app.send_task( "swh.loader.mercurial.tasks.LoadMercurial", kwargs={"url": "origin_url", "directory": "/some/repo", "visit_date": "now",}, ) @@ -21,13 +21,13 @@ mock_loader.assert_called_once_with() -def test_archive_loader(mocker, swh_app, celery_session_worker): +def test_archive_loader(mocker, swh_scheduler_celery_app, swh_scheduler_celery_worker): mock_loader = mocker.patch( "swh.loader.mercurial.loader.HgArchiveBundle20Loader.load" ) mock_loader.return_value = {"status": "uneventful"} - res = swh_app.send_task( + res = swh_scheduler_celery_app.send_task( "swh.loader.mercurial.tasks.LoadArchiveMercurial", kwargs={ "url": "another_url", diff --git a/tox.ini b/tox.ini --- a/tox.ini +++ b/tox.ini @@ -6,6 +6,7 @@ testing deps = pytest-cov + swh.scheduler[testing] swh.storage[testing] commands = pytest --cov={envsitepackagesdir}/swh/loader/mercurial \