swh-lister/conftest.py
Nicolas Dandrimont 211f4610df Move get_scheduler monkeypatching into an explicit pytest fixture
This allows us to actually run the lister instantiation code instead of relying
on the underlying structure of the lister object. In turn, this allows future
listers to use the scheduler right in their __init__.
2020-07-16 12:14:04 +02:00

28 lines
813 B
Python

# 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 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