Skip to content

test(subscribeassistantenhanced): align subscribe test doubles - #362

Merged
InfinityPacer merged 1 commit into
mainfrom
codex/test/sae-main-subscribe-contract
Jul 28, 2026
Merged

test(subscribeassistantenhanced): align subscribe test doubles#362
InfinityPacer merged 1 commit into
mainfrom
codex/test/sae-main-subscribe-contract

Conversation

@InfinityPacer

Copy link
Copy Markdown
Owner

问题与背景

MoviePilot v2 的订阅媒体身份契约已扩展为统一携带 TMDB、豆瓣、Bangumi、AniList 及通用媒体源字段。SubscribeAssistantEnhanced 的部分测试替身仍保持旧对象形状,导致调用主程序 build_subscribe_meta() 时抛出字段缺失异常,并连锁造成 8 项缺集相关测试失败。

原因分析

SAE 生产代码已经复用主程序的统一 MetaInfo 构造入口,真实 Subscribe 对象具备完整稳定字段;问题仅存在于两个 SimpleNamespace 测试替身。为不完整替身在生产代码中增加动态属性回退会掩盖仓内稳定对象契约,因此应由测试数据补齐字段。

解决方案

  • 为完成守卫和插件集成测试的订阅替身补齐 doubanidbangumiidanilistidmedia_sourcemedia_id
  • 保留现有断言、mock 行为和生产逻辑不变。

影响与风险

  • 仅修改测试数据,不改变 SubscribeAssistantEnhanced 运行行为或配置。
  • 不包含版本升级、tag 或 GitHub Release。
  • 其他未进入 build_subscribe_meta() 的局部测试替身无需为本次场景扩充。

验证

  • 原 8 项失败用例:8 passed。
  • pytest tests/v2/subscribeassistantenhanced -q:1327 passed。
  • 插件覆盖率门禁通过:行覆盖率 93.38%,方法覆盖率 98.26%。
  • tests/run.py -q:CI 工具 33 passed,V2 2185 passed。
  • 插件版本门禁和 git diff --check 通过。
  • 独立 implementation review 通过。

关联

@InfinityPacer
InfinityPacer merged commit bd20de7 into main Jul 28, 2026
3 checks passed
@InfinityPacer
InfinityPacer deleted the codex/test/sae-main-subscribe-contract branch July 28, 2026 08:21
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