diff --git a/conftest.py b/conftest.py --- a/conftest.py +++ b/conftest.py @@ -5,6 +5,24 @@ import os +import pytest + pytest_plugins = ["swh.scheduler.pytest_plugin"] os.environ["LC_ALL"] = "C.UTF-8" + + +@pytest.fixture +def mock_get_scheduler(monkeypatch, swh_scheduler): + """Override the get_scheduler function in swh.lister.core.lister_base, to + return the swh_scheduler fixture. + """ + from swh.lister.core import lister_base + + # Match the signature from swh.scheduler.get_scheduler + def get_scheduler(cls, args={}): + return swh_scheduler + + monkeypatch.setattr(lister_base, "get_scheduler", get_scheduler) + + yield monkeypatch diff --git a/swh/lister/core/tests/conftest.py b/swh/lister/core/tests/conftest.py --- a/swh/lister/core/tests/conftest.py +++ b/swh/lister/core/tests/conftest.py @@ -27,14 +27,12 @@ @pytest.fixture -def swh_listers(request, lister_db_url, swh_scheduler): - +def swh_listers(mock_get_scheduler, lister_db_url, swh_scheduler): listers = {} # Prepare schema for all listers for lister_name in SUPPORTED_LISTERS: lister = get_lister(lister_name, db_url=lister_db_url) - lister.scheduler = swh_scheduler # inject scheduler fixture listers[lister_name] = lister initialize(create_engine(lister_db_url), drop_tables=True) diff --git a/swh/lister/tests/test_cli.py b/swh/lister/tests/test_cli.py --- a/swh/lister/tests/test_cli.py +++ b/swh/lister/tests/test_cli.py @@ -20,7 +20,7 @@ assert "Invalid lister" in str(e.value) -def test_get_lister(): +def test_get_lister(mock_get_scheduler): """Instantiating a supported lister should be ok """