AgoraIO-Extensions / AgoraIO-Extensions/agent-infra

test(connection): enforce isolated connector capability coverage

Đang mở
#463 4 bình luận 0 reaction 0 người được giao Xem trên GitHub
enhancement needs-triage ready-for-agent
Ngôn ngữ chính
TypeScript
Star
0
Fork
0
Merge trung bình
8 giờ 51 phút
Pull request đã merge (30 ngày)
99

Mô tả

## 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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.