实现侧: - 上下文:任务范围拆分为 范围校验/范围授权;索引按可发现口径重建、索引新鲜度改对称差;依赖校验统一快照漂移说明。 - 知识方法:方法与材料读取口径统一;超限方法材料按可选省略,核对路径不再二次计费;删除无合同的读时重算。 - 任务运行:新增 context.usage/tool.denied 事件类型;连接池常驻并在装配生命周期内开关;调用结算与核对分列。 - 效果评测/审校修订/交付连载/作者经验/作品规划:凭据冻结、标定消费、导出补证、事实引文核对等收尾修复。 - 资源加载:能力正文不再夹带索引用的导航注记(该注记此前进入角色与技能的模型提示)。 - 元数据:受保护骨架与代码保护属性对齐;字段校验与内置结构口径同步。 - 基础设施:环境预检进入装配生命周期;数据库连接运行期字段不参与相等比较;索引指纹归一化 jsonb 浮点。 - 删除被替代实现:7 份旧提示词模板与空壳 资料来源 读取器。 用例侧: - 用例身份与导航元信息迁移;夹具补生命周期、同库暴露与模板封存; - 本轮定向修复:方法材料省略、事实引文、迁移回执、额度与暂停用例、慢用例超时预算等。
33 lines
1.2 KiB
Python
33 lines
1.2 KiB
Python
"""配置源拒绝含糊空路径,合法名称中的空格原样保留。"""
|
|
|
|
import pytest
|
|
|
|
from muse.共享.错误 import 配置错误
|
|
from muse.配置 import 解析配置, 读取配置
|
|
|
|
|
|
@pytest.mark.case_id("NC-O06-PATH-INVALID")
|
|
@pytest.mark.parametrize("field", ["原文暂存", "探索草稿"])
|
|
@pytest.mark.parametrize("value", ["", " ", 42, False, []])
|
|
def test_空路径与非字符串拒绝(field, value):
|
|
with pytest.raises(配置错误):
|
|
解析配置(
|
|
{
|
|
"数据库": {"取值方式": "环境变量", "位置": "O06_DB"},
|
|
"资源": {"发布身份": "test"},
|
|
"文件": {field: value},
|
|
}
|
|
)
|
|
|
|
|
|
@pytest.mark.case_id("NC-O06-PATH-SPACES")
|
|
def test_读取配置保留合法路径首尾空格(tmp_path):
|
|
path = tmp_path / "config.toml"
|
|
path.write_text(
|
|
'["数据库"]\n"取值方式"="环境变量"\n"位置"="O06_DB"\n'
|
|
'["资源"]\n"发布身份"="test"\n["文件"]\n"原文暂存"=" raw "\n"探索草稿"=" drafts "\n'
|
|
)
|
|
cfg = 读取配置(path)
|
|
assert cfg.原文暂存 == str(tmp_path / " raw ")
|
|
assert cfg.探索草稿 == str(tmp_path / " drafts ")
|