def init(cls, path, test_mode=False): """Initialize the repository with a path to the data store to be used. :param path: `str` containing the path to the data store. :param test_mode: Optional `boolean` indicating whether the repository is being used in a test mode (i.e. during unit tests) vs. normal operation mode. """ cls.db_session = open_user_data(path, use_static_pool=test_mode)
def metrics_session(request): session = open_user_data(":memory:", use_static_pool=True) request.addfinalizer(session.close) return session
"""Project wide test fixtures and utilities. """ import pytest from maxify.data import open_user_data from maxify.projects import Project from maxify.metrics import Metric, Duration, Number from maxify.repo import Repository _db_session = open_user_data(":memory:", False) @pytest.fixture(autouse=True) def repository(request): Repository.init(":memory:", test_mode=True) request.addfinalizer(_clear_test_data) return Repository @pytest.fixture() def db_session(repository): """Database session object for accessing in-memory persisted data. """ return repository.db_session def _clear_test_data():