muse-agent-example/tests/单元/test_资源提供接缝.py
zizi d909d1bd1b 后端实现与用例身份:19 包集成落地并修复收尾缺陷
实现侧:
- 上下文:任务范围拆分为 范围校验/范围授权;索引按可发现口径重建、索引新鲜度改对称差;依赖校验统一快照漂移说明。
- 知识方法:方法与材料读取口径统一;超限方法材料按可选省略,核对路径不再二次计费;删除无合同的读时重算。
- 任务运行:新增 context.usage/tool.denied 事件类型;连接池常驻并在装配生命周期内开关;调用结算与核对分列。
- 效果评测/审校修订/交付连载/作者经验/作品规划:凭据冻结、标定消费、导出补证、事实引文核对等收尾修复。
- 资源加载:能力正文不再夹带索引用的导航注记(该注记此前进入角色与技能的模型提示)。
- 元数据:受保护骨架与代码保护属性对齐;字段校验与内置结构口径同步。
- 基础设施:环境预检进入装配生命周期;数据库连接运行期字段不参与相等比较;索引指纹归一化 jsonb 浮点。
- 删除被替代实现:7 份旧提示词模板与空壳 资料来源 读取器。

用例侧:
- 用例身份与导航元信息迁移;夹具补生命周期、同库暴露与模板封存;
- 本轮定向修复:方法材料省略、事实引文、迁移回执、额度与暂停用例、慢用例超时预算等。
2026-09-18 01:15:00 +08:00

47 lines
1.7 KiB
Python

"""开发资源必须明确注入,不能掩盖损坏的生产安装包。"""
import pytest
from muse import 资源加载
from muse.共享.错误 import 资源缺失错误
from muse.资源加载 import 使用资源提供器, 安装包资源提供器
@pytest.mark.case_id("NC-resource-source-is-not-release")
def test_源资源身份不能冒充发布安装(源码资源):
清单 = 源码资源.加载清单()
assert 清单["资源来源"] == "开发源码"
assert 清单["代码哈希"] == "development-not-an-installation"
清单["资源"].clear()
assert 源码资源.加载清单()["资源"]
@pytest.mark.case_id("NC-resource-explicit-context-restores")
def test_嵌套注入退出恢复原资源(源码资源):
class 小输入:
def 加载清单(self):
return {"资源": {"合成": {}}}
def 打开资源(self, 名称):
assert 名称 == "合成"
return b"fixture"
def 核对资源(self):
return self.加载清单()
with 使用资源提供器(小输入()):
assert 资源加载.打开资源("合成") == b"fixture"
assert 资源加载.加载清单() == 源码资源.加载清单()
@pytest.mark.case_id("NC-resource-package-never-falls-back")
def test_生产提供器缺资源不回退源码(monkeypatch, 源码资源):
def 缺包(_):
raise ModuleNotFoundError("synthetic absent package")
monkeypatch.setattr(资源加载.resources, "files", 缺包)
with 使用资源提供器(源码资源):
assert 资源加载.读取能力目录()["role"]
with pytest.raises(资源缺失错误, match="缺少资源目录"):
安装包资源提供器().加载清单()