SuperAPI AI 工具集

sandbox-self-test

测试与质量

查看项目

更新于 10-16 06:16

技能介绍

用途:该技能用于在自备的一次性 HubSpot 开发者测试账户或沙箱中验证整个工具集。贡献者在提 PR 前、管理员在生产使用前、维护者在 HubSpot API 变更后都可用它核对各技能是否正常,无需共享测试设施,仓库内也不保存凭据。

主要能力:包含四个脚本,分别对应执行前、播种、运行套件和清理三个阶段。preflight.py 校验账户类型并探测权限范围;seed.py 幂等地创建夹具矩阵(3 家公司、9 个联系人,覆盖缺失邮箱、无负责人、缺失生命周期阶段、地理拼写混乱、重复公司域名等缺陷);run_suite.py 运行三类用例——before-smoke(各技能的 before.py 只读运行)、end-to-end(含 delete-no-email-contacts、mock 提供者的 waterfall-enrich-contacts、工作流导出)、api-roundtrip(动态列表与 v4 工作流的创建、获取、校验、删除),并输出报告;teardown.py 按标记匹配删除并做 CSV 审计。

使用方式:需准备开发者测试账户(免费,每账户最多 10 个,90 天无 API 活动会过期)或企业版标准沙箱,并在其中创建私有应用,授予 crm.objects.contacts.read/write、crm.objects.companies.read/write、crm.objects.owners.read、crm.lists.read/write、automation 权限。令牌写入 .env 的 HUBSPOT_SANDBOX_ACCESS_TOKEN(与生产的 HUBSPOT_ACCESS_TOKEN 分开)。运行前先执行 uv run skills/sandbox-self-test/scripts/preflight.py,必须输出 GO。随后依次运行 seed.py、run_suite.py,查看 reports/selftest-{date}.md,最后运行 teardown.py。可选 CI:将 ci/sandbox-self-test.yml 复制到 .github/workflows/ 并设置密钥 HUBSPOT_SANDBOX_ACCESS_TOKEN,仅手动触发。

限制:套件会写入、修改和删除数据,绝不能接触生产。账户类型门禁在所有脚本中失败即拒绝,无覆盖开关。沙箱无法模拟退信状态、全局退订、营销状态和停用负责人,这些会标记为 SKIP。搜索索引有延迟,断言前约休眠 5 秒。开发者测试账户 90 天无活动会过期。标准沙箱继承父门户层级,v4 工作流轮询在 403 时报告 SKIP。