Skip to content

feat(marketplace): 透出能力资源附件 - #29

Open
EddyChao wants to merge 1 commit into
jetlinks:masterfrom
EddyChao:codex/capability-latest-version-attachment
Open

feat(marketplace): 透出能力资源附件#29
EddyChao wants to merge 1 commit into
jetlinks:masterfrom
EddyChao:codex/capability-latest-version-attachment

Conversation

@EddyChao

Copy link
Copy Markdown
Contributor

目的

让能力市场最新版本及其依赖详情透出资源级附件,供 SaaS 和运行时前端读取封面等资源元数据。

核心变动

  • CapabilityLatestVersionInfo 新增 �ttachment 公共契约字段。
  • HTTP 客户端测试覆盖 dependencyDetails[*].attachment 反序列化。
  • 测试 WebClient 显式使用测试连接器,避免初始化本机 JDK selector;实际请求仍由测试 ExchangeFunction 处理。
  • README 同步资源附件契约。
  • 阶段提交:6db6b59 feat(marketplace): 透出能力资源附件。

设计与测试目标

  • 保持运行时仅依赖 Marketplace 公共 DTO,不暴露 SaaS 内部实体。
  • 验证依赖能力附件可通过 HTTP NDJSON 契约完整反序列化。
  • 验证现有查询、详情、下载、标签和异常消息解析行为不回归。

测试结果

  • 测试命令:mvn -q -pl marketplace-client -am '-Dtest=HttpCapabilityMarketplaceClientTest' '-Dsurefire.failIfNoSpecifiedTests=false' test`。
  • 证据来源与复用判断:在提交 6db6b59 前对相同 staged diff 执行聚焦测试;提交仅固化该 diff,证据仍有效。
  • 新增/更新测试:HttpCapabilityMarketplaceClientTest。
  • 单元测试:8 通过,0 失败,0 错误,0 跳过。
  • 集成测试:不适用;本次为公共 DTO 与 HTTP 客户端反序列化契约,已通过注入 ExchangeFunction 覆盖请求和响应边界。
  • 压力测试:不适用;未新增批处理、SQL 或性能敏感路径。
  • 覆盖率:marketplace-core 行 146/484(30.17%)、分支 99/277(35.74%);marketplace-client 行 126/534(23.60%)、分支 23/136(16.91%)。

文档同步情况

  • 已同步:README 中 CapabilityLatestVersionInfo 的资源级 �ttachment 契约。
  • 未同步:无。
  • 说明:README 仅保留当前公共契约,不记录任务执行流水。

风险与说明

  • 影响范围:Marketplace 公共 DTO、HTTP 客户端契约测试和 README。
  • 兼容性与发布边界:新增可空字段,不改变已有字段语义;旧调用方可忽略该字段。
  • 注释 / 公共契约:字段已补充公共契约注释。
  • 数据库兼容与 SQL 性能:不涉及。
  • 链路追踪 / 可观测性:不涉及,仅扩展数据契约。
  • MBean / 运维可观测性:不涉及,无常驻内存资源。
  • 未覆盖场景:未连接真实 Marketplace 服务,服务端映射由 SaaS PR 单独覆盖。
  • 已知限制:附件内容保持 Map<String,Object> 的既有资源元数据结构。
  • 回滚方式:回退提交 6db6b59

@EddyChao
EddyChao marked this pull request as draft August 26, 2026 10:28
@EddyChao
EddyChao marked this pull request as ready for review August 27, 2026 01:25
@EddyChao

EddyChao commented Sep 4, 2026

Copy link
Copy Markdown
Contributor Author

@zhou-hao 大佬,帮忙瞅瞅这个pr

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