videoNote / backend /tests /conftest.py
zhoujiaangyao
feat(db): 配置与笔记迁入 Postgres,重启不丢
aa08cd6
Raw
History Blame Contribute Delete
860 Bytes
import os
import tempfile
# 把数据库与笔记输出目录强制指向临时位置:
# - 避免测试污染真实的 video_memo.db / note_results(配置/笔记已迁入数据库后,
# 管理器与 note_dao 的读写都走全局 engine,不隔离会写进开发库)。
# - 顺带建好 app_config / notes 等新表,供依赖数据库的单测使用。
# 必须在任何 app 模块导入前设置:pytest 最先加载 conftest,此处 import app.db.* 时
# engine 才会按这里的 DATABASE_URL 初始化。load_dotenv(override=False) 不会覆盖已设的值。
_TEST_DIR = tempfile.mkdtemp(prefix="videomemo-test-")
os.environ["DATABASE_URL"] = "sqlite:///" + os.path.join(_TEST_DIR, "test.db")
os.environ.setdefault("NOTE_OUTPUT_DIR", os.path.join(_TEST_DIR, "note_results"))
from app.db.init_db import init_db # noqa: E402
init_db()