diff --git a/requirements-swh.txt b/requirements-swh.txt --- a/requirements-swh.txt +++ b/requirements-swh.txt @@ -1,2 +1,2 @@ -swh.core[db,http] >= 0.3 +swh.core[db,http] >= 0.5 swh.storage >= 0.11.1 diff --git a/swh/scheduler/pytest_plugin.py b/swh/scheduler/pytest_plugin.py --- a/swh/scheduler/pytest_plugin.py +++ b/swh/scheduler/pytest_plugin.py @@ -4,46 +4,38 @@ # See top-level LICENSE file for more information from datetime import timedelta -import glob import os from celery.contrib.testing import worker from celery.contrib.testing.app import TestApp, setup_default_app import pkg_resources import pytest -from pytest_postgresql import factories -from swh.core.utils import numfile_sortkey as sortkey +from swh.core.db.pytest_plugin import postgresql_fact import swh.scheduler from swh.scheduler import get_scheduler SQL_DIR = os.path.join(os.path.dirname(swh.scheduler.__file__), "sql") -DUMP_FILES = os.path.join(SQL_DIR, "*.sql") # celery tasks for testing purpose; tasks themselves should be # in swh/scheduler/tests/tasks.py TASK_NAMES = ["ping", "multiping", "add", "error", "echo"] -postgresql_scheduler = factories.postgresql("postgresql_proc", db_name="scheduler") +postgresql_scheduler = postgresql_fact( + "postgresql_proc", + db_name="scheduler", + dump_files=os.path.join(SQL_DIR, "*.sql"), + no_truncate_tables={"dbversion", "priority_ratio"}, +) @pytest.fixture def swh_scheduler_config(request, postgresql_scheduler): - scheduler_config = { + return { "db": postgresql_scheduler.dsn, } - all_dump_files = sorted(glob.glob(DUMP_FILES), key=sortkey) - - cursor = postgresql_scheduler.cursor() - for fname in all_dump_files: - with open(fname) as fobj: - cursor.execute(fobj.read()) - postgresql_scheduler.commit() - - return scheduler_config - @pytest.fixture def swh_scheduler(swh_scheduler_config):