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__.
This commit is contained in:
Nicolas Dandrimont 2020-07-16 11:45:58 +02:00
parent d0c1df65f1
commit 211f4610df
3 changed files with 20 additions and 4 deletions

View file

@ -27,14 +27,12 @@ def lister_db_url(postgresql_proc, postgresql):
@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)

View file

@ -20,7 +20,7 @@ def test_get_lister_wrong_input():
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
"""