Skip to content

修复 session-sync 测试的空数据库初始化#618

Open
hanzckernel wants to merge 1 commit intoEKKOLearnAI:mainfrom
hanzckernel:fix/session-sync-test-db-init
Open

修复 session-sync 测试的空数据库初始化#618
hanzckernel wants to merge 1 commit intoEKKOLearnAI:mainfrom
hanzckernel:fix/session-sync-test-db-init

Conversation

@hanzckernel
Copy link
Copy Markdown
Collaborator

session-sync 测试在干净 SQLite DB 下的表初始化边界已补齐;这次只改测试 setup,不改运行时同步逻辑。

改动

  • session-sync.test.ts 的 cleanup 前先走 initAllStores(),避免 fresh DB 下直接 DELETE FROM sessions/messagesno such table
  • 去掉已经不用的 ensureTable import,并把 startup sync 的断言改成 async await。
  • mock 掉 Hermes state.db 读取,只验证本地 DB 为空/非空时是否进入同步分支,避免测试依赖本机 ~/.hermes 状态。

验证

已通过:

rm -rf packages/server/data
npm test -- tests/server/session-sync.test.ts --reporter=verbose
npm test -- tests/server/session-sync.test.ts tests/server/hermes-schemas.test.ts tests/server/schema-sync.test.ts --reporter=verbose
npm test
npm run build
git diff --check

结果:

  • fresh DB targeted test:2 passed
  • related schema/session tests:15 passed
  • full suite:61 files passed,404 passed,2 skipped
  • build passed
  • diff check passed

说明

  • 之前的失败来自测试没有执行 DB schema 初始化;应用启动路径本身会通过 initAllStores() 建表。
  • 这个 PR 只修测试初始化和断言稳定性,不调整 session sync 的产品行为。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant