"""Common fixtures.""" import pytest from apollo_main_db.base import Base from tests import factories from track_visit_events_handling.main_db import engine, session_scope def register_factories(session): """Pass session to factory model. """ for factory in (factories.ApolloVisitLogFactory,): factory._meta.sqlalchemy_session = session @pytest.yield_fixture def db_session(): """Returns an sqlalchemy session, and after the test tears down. """ Base.metadata.create_all(engine) with session_scope() as session: register_factories(session) yield session Base.metadata.drop_all(engine)