import pytest from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from coldcall_lti import create_app from coldcall_lti.config import Config from coldcall_lti.db import Base @pytest.fixture def db_session(): engine = create_engine("sqlite://") Base.metadata.create_all(engine) session = sessionmaker(bind=engine)() yield session session.close() engine.dispose() def make_app(tmp_path, dev_mode=True): class TestConfig(Config): TESTING = True DATABASE_URL = f"sqlite:///{tmp_path}/test.sqlite3" DEV_MODE = dev_mode SECRET_KEY = "test" app = create_app(TestConfig) Base.metadata.create_all(app.extensions["db_engine"]) return app @pytest.fixture def dev_client(tmp_path): return make_app(tmp_path, dev_mode=True).test_client()