AgoraIO-Extensions / AgoraIO-Extensions/agent-infra

test(connection): enforce isolated connector capability coverage

オープン
#463 コメント 4 件 リアクション 0 件 担当者 0 名 GitHub で見る
enhancement needs-triage ready-for-agent
主要言語
TypeScript
スター
0
フォーク
0
平均マージ
8時間 51分
マージ済み PR(30日)
99

説明

## Problem

Connection 已接入多个 Provider 和大量 Action,但缺少一套由当前 Catalog 驱动、可持续证明全部连接器能力可用的统一测试门禁。真实 Provider 测试还必须保证所有 mutation 只作用于专用测试项目,不能修改任何现有第三方站点数据。

## Scope

- 建立从正式 Provider/Action catalog 派生的 capability coverage manifest,避免人工维护第二份 Action 清单。
- 为每个 Action 声明测试覆盖类型,并在 Action 缺少测试归属时 fail closed。
- 实现可复用的测试项目资源 guard:真实写操作仅允许命中明确配置的 immutable tenant/project/repository/space 标识和本次 run 创建的对象。
- 增加 guard 与 capability coverage 的单元测试。
- 建立默认不访问真实 Provider、必须显式启用的 E2E harness 契约和运行说明。
- 本 Issue 不注入真实 Credential,不在 CI 中默认执行第三方 mutation,也不以 fixture 结果替代真实 Provider 验收。

## Acceptance criteria

- AC-1: 当前正式 catalog 中的每个 Provider Action 都能被测试清单自动发现,且没有测试归属会使测试失败。
- AC-2: mutation 在缺少测试模式、测试容器 immutable ID、run ID 或 ownership marker 时 fail closed。
- AC-3: update/delete 只能作用于本次 run 记录并带匹配 ownership marker 的对象。
- AC-4: 测试覆盖 tenant/container 不匹配、跨 run 对象、已有对象和 read-only 场景的负向行为。
- AC-5: E2E harness 默认不触网,只有显式配置目标 Provider 测试项目后才允许运行真实 CRUD。
- AC-6: 文档说明 GitHub、Bitbucket、Jira、Confluence 的测试项目约束、CRUD 生命周期、清理与遗留对象处理。
- AC-7: 验证证据区分 UT/contract 成功与真实 Provider E2E 是否实际执行。

## Validation

- pnpm check
- pnpm check-types
- pnpm test
- pnpm build
- pnpm smoke
- Targeted capability coverage and resource guard tests
- git diff --check

## Blocked by

None

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。