Files
life-echo/api/tests/test_ws_auth_connect.py
Kevin 309a051038 feat: 回忆录证据血缘与内部评测可追溯,顺带对齐本地评测台与 CI
数据库与模型:新增多版迁移(章节证据快照、对话血缘、记忆事实/时间线 lineage 等),把「成稿 ↔ 对话/记忆」的溯源信息落到表结构里。
业务链路:会话与 WS、回忆录/故事流水线、记忆写入与 enrichment 等跟着接上线索与快照;新增章节证据快照与评测侧 EvalTraceService 等模块,方便组评审用的证据包。
内部评测:自动化 run 与手工 memoir 评审共用可追溯证据;rubric/ judge 相关脚本与文档有配套调整。
app-eval-web:Memoir/实验详情里能展开看证据摘要与 evidence_trace(含对话轮次 id);Vite 代理与 development.sh 注入的 API 端口与当前默认内部评测端口一致,避免改端口后页面连错服务。
工程杂项:GitHub Actions / 仓库说明有更新;各适配器与支付/配额/plan 等多处为小改动或跟随主改动的收尾;新增/扩充了?
2026-04-08 15:37:09 +08:00

21 lines
638 B
Python

"""WebSocket / 配额:轻量契约测试。"""
from __future__ import annotations
from unittest.mock import AsyncMock, MagicMock
import pytest
from app.features.conversation.ws.quota_guard import check_ws_quota
from app.features.quota.service import QuotaService
@pytest.mark.asyncio
async def test_check_ws_quota_delegates_to_quota_service() -> None:
qs = MagicMock(spec=QuotaService)
qs.check_can_send_message = AsyncMock(return_value=(True, ""))
ok, msg = await check_ws_quota(qs, "user-1", "free")
assert ok is True
assert msg == ""
qs.check_can_send_message.assert_awaited_once_with("user-1", "free")