AgoraIO-Extensions / AgoraIO-Extensions/agent-infra

test(connection): enforce isolated connector capability coverage

Abierto
#463 4 comentarios 0 reacciones 0 asignados Ver en GitHub
enhancement needs-triage ready-for-agent
Lenguaje dominante
TypeScript
Estrellas
0
Forks
0
Merge medio
8 h 51 min
PR fusionados (30 d)
99

Descripción

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

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.