Files
knowledge-governance/scripts/test-scope.json
T
姚章浩 8da4666e76
build / build (push) Successful in 1m14s
test(library): 端到端编排在本机真实 PG/ES 上跑通
为什么:只验证单阶段写入还不够,完整链路(授权→预备份→四类写入→校验)也要在真实服务上跑。
本机 WeKnora 测试栈一次性库与随机索引已通过,CI 无这些服务故在 test-scope 声明为可选。
2026-10-28 15:58:06 +08:00

193 lines
11 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"_doc": [
"测试范围声明:**哪些跳过是允许的**。judge 在 scripts/ci_checks.py 里读这个文件。",
"极性是『默认必需』:没在这里声明的测试,一旦被 SKIP / PENDING ⇒ 门禁红(必需项不能报通过)。",
"只有『确实需要外部环境、本仓拿不到』的集成/外部依赖用例才写进来,每条必须写清理由。",
"package 级条目 = 该包里所有 skip 都算『可选未运行』(例如整个包都依赖 TEST_DATABASE_URL)。",
"test 级条目 = 只豁免那一个用例(包里其它用例仍是必需的)。",
"报告里会把这些『可选未运行』的条数与原因如实列出 —— 记录,不等于通过。",
"⚠️ 文件缺失或解析不了 ⇒ 门禁红:范围声明不出来时,不许默认放行。"
],
"optional": [
{
"package": "knowledge-governance/internal/releaseadapter/v071",
"test": "TestLibrarySourceReadOnlyDiagnostic",
"reason": "仅明确只读测试源授权及进程内凭据下运行;真实 PG、ES、OSS 不冻结,属于诊断而非一致性或生产放行;默认 CI 不注入测试源凭据,实际失败必须另行保留而非算通过"
},
{
"package": "knowledge-governance/internal/releaseadapter/v071",
"test": "TestLibraryCaptureIsolatedStack",
"reason": "显式隔离 PG、随机 ES 索引和无网络 Docker 夹具的联合捕获验收;默认 CI 不连接这些服务,本地另行运行并做索引覆盖变异反向验证;不代表真实 WeKnora 写入隔离或 Wiki 语义验收"
},
{
"package": "knowledge-governance/internal/libraryfreeze",
"test": "TestFreezeIsolatedDocker",
"reason": "只在显式 KG_FREEZE_DOCKER_ISOLATED=1 下使用本地 Docker 与已缓存 busybox 创建随机标签、无网络/无挂载夹具,验证真实暂停恢复和进程中断;默认 CI 不连接 Docker 或运行中的服务,本地另行实跑"
},
{
"package": "knowledge-governance/internal/qaopsmirror",
"test": "TestAILiveBailianPersistsAssessmentAndTranslation",
"reason": "真实百炼付费调用仅在明确用户授权、独立注入凭据、精确opt-in及一次性隔离库下执行;普通CI不携带服务密钥或消耗配额,本批另行真实后台与浏览器验收"
},
{
"package": "knowledge-governance/internal/qaopsmirror",
"reason": "本包所有集成用例只在显式一次性 loopback kg_qaops_mirror_test_ 库运行;默认 CI 不连共享或生产库;隔离 PG -race 另行实跑"
},
{
"package": "knowledge-governance/internal/qaopsquality",
"test": "TestQualityStoreImmutableHistoryReplayConcurrencyAndStaleness",
"reason": "仅在显式一次性 loopback kg_qaops_quality_test_ 库执行;默认 CI 不连接共享/生产库,隔离 PG 另行实跑"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestQARecordInternalIdentityAndWholeFilterKeys",
"reason": "必须显式一次性隔离PG;验证真实只读SQL身份关联/计数及隐私,不连接生产;默认无库时明确跳过,另行本地补验"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestQAUsageGroupsCountEventsOnceOverTheFullFilter",
"reason": "必须显式一次性隔离PG;验证真实只读SQL身份关联/计数及隐私,不连接生产;默认无库时明确跳过,另行本地补验"
},
{
"package": "knowledge-governance/internal/qaopsorg",
"test": "TestDirectorySyncQueueDurableReplayAndLeaseFencing",
"reason": "仅显式一次性隔离PG库验证持久化入队、并发重放、进程接管与租约栅栏;不调用真实钉钉源、不连接共享或生产库;默认CI无库则明确跳过"
},
{
"package": "knowledge-governance/internal/qaopsorg",
"test": "TestOrganizationStoreRoundTripAndOptimisticConflict",
"reason": "仅在显式KG_QAOPS_ORG_TEST_ISOLATED=1且127.0.0.1上的一次性kg_qaops_org_test_库运行;写入治理侧快照与配置,禁止使用共享或生产库;本批已在隔离PG补验"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestSSHDialerTransportsRealTraffic",
"reason": "需要已批准 SSH 路径和只读版本接口;CI 不带生产 SSH 凭据,缺环境时显式跳过"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestSSHTunnelCloseReapsChild",
"reason": "需要已批准 SSH 目标来验证子进程回收;无路径的 CI 不应尝试建立生产连接"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestReadOnlyRepositoryAgainstFixtureDatabase",
"reason": "需显式 KG_DOBOTAI_TEST_ISOLATED=1 且 TEST_DATABASE_URL 通过隔离库护栏,CI 不建生产测试表;本批已在一次性测试库补验"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestBuildRefusesUnsafeAccountsAndTargets",
"reason": "只在显式一次性测试库创建危险权限夹具,不在生产库验证写入;本批已在隔离库补验"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestSourceRechecksEffectivePrivilegesBeforeEveryQuery",
"reason": "在一次性测试库模拟额外表写权限,测试前须通过隔离护栏;本批已实际补验"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestQARecordSearchPreservesSourceAndDoesNotMultiplyFeedback",
"reason": "完整查询/反馈/游标/空列验证需要显式一次性测试库;本批已在隔离库补验"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestProductionReadOnlyCombinedVerification",
"reason": "需独立批准的生产只读账号文件与 SSH 路径并显式 KG_DOBOTAI_PROD_VERIFY=1;CI 永不自动读取生产库"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestProductionQAQueryReadOnlyVerification",
"reason": "真实源查询端到端验证仅在显式 KG_DOBOTAI_PROD_VERIFY=1、批准的凭据文件与 SSH 路径下执行;CI 不访问生产,测试不写源库"
},
{
"package": "knowledge-governance/internal/platform/postgres",
"reason": "整个包的集成用例都要 TEST_DATABASE_URL 指向可销毁测试库;本仓不连生产库,CI 无库 ⇒ 跳过(补验路径:起一次性 PG 后设 TEST_DATABASE_URL)"
},
{
"package": "knowledge-governance/internal/releaseadapter/v071",
"reason": "v0.7.1 源/目标库与 MinIO 集成环境;无环境即跳过"
},
{
"package": "knowledge-governance/cmd/pp-ledger-import",
"reason": "导入器集成用例需要 TEST_DATABASE_URL"
},
{
"package": "knowledge-governance/cmd/release-worker",
"reason": "release runtime 集成用例需要受限文件与运行时环境变量"
},
{
"package": "knowledge-governance/internal/monitoring",
"reason": "真实服务健康矩阵 / 指标窗口用例需要外部服务可达"
},
{
"package": "knowledge-governance/internal/httpapi",
"test": "TestUISettingsWriteReadBackIntegration",
"reason": "系统设置写回读用例需要一个运行中的实例"
},
{
"package": "knowledge-governance/internal/httpapi",
"test": "TestUISettingsWriteReadBackWithLiveVerification",
"reason": "同上(带实时校验的那条)"
},
{
"package": "knowledge-governance/internal/version",
"test": "TestNumberMatchesChangelog",
"reason": "未注入版本号时按设计 SKIP(本地跑全量测试不该被迫先构建);**它的强制点在 contracts 项**:那里带 -ldflags 跑它并断言真的 PASS、且出现 SKIP 就判红"
},
{
"package": "knowledge-governance/internal/version",
"test": "TestDevBuildDoesNotClaimRelease",
"reason": "构建身份未注入时按设计 SKIP(本地跑全量测试不该被迫先构建);**它的强制点在 contracts 项**:那里带 -ldflags 跑它并断言真的 PASS、且出现 SKIP 就判红"
},
{
"package": "knowledge-governance/internal/version",
"test": "TestReleaseBuildRequiresEvidence",
"reason": "构建身份未注入时按设计 SKIP(本地跑全量测试不该被迫先构建);**它的强制点在 contracts 项**:那里带 -ldflags 跑它并断言真的 PASS、且出现 SKIP 就判红"
},
{
"package": "knowledge-governance/internal/versionhistory",
"test": "TestLiveSyncAgainstRealRepository",
"reason": "真实仓库的只读同步用例需要内部可达的 Gitea(**匿名**,不读凭据);无环境即跳过(补验路径:设 VERSION_HISTORY_LIVE_BASE_URL 后单跑这条)"
},
{
"package": "knowledge-governance/internal/qaopsmirror",
"test": "TestLocalMirrorQueriesNeverRequireSource",
"reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收"
},
{
"package": "knowledge-governance/internal/qaopsmirror",
"test": "TestLocalMirrorDurableQueueCoalescesAndAudits",
"reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收"
},
{
"package": "knowledge-governance/internal/qaopsmirror",
"test": "TestLocalMirrorSyncActivatesAndCheckpoints",
"reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收"
},
{
"package": "knowledge-governance/internal/qaopsmirror",
"test": "TestLocalMirrorPeriodicSyncIsDurableAndDueOnly",
"reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收"
},
{
"package": "knowledge-governance/internal/releaseadapter/v071",
"test": "TestLibraryReleaseRunIsolated",
"reason": "完整编排(授权→预备份→四类写入→校验)跑真实一次性隔离 PG 与随机 ES 索引;默认 CI 无这些服务,本机 WeKnora 测试栈已实跑通过"
},
{
"package": "knowledge-governance/internal/releaseadapter/v071",
"test": "TestLibraryProductionTargetIsolated",
"reason": "需要一次性隔离库 kg_library_test_* 与随机 ES 索引(KG_LIBRARY_TEST_DATABASE_URL / KG_LIBRARY_TEST_ELASTIC_URL / KG_LIBRARY_TEST_ISOLATED=1);默认 CI 不提供,本机 WeKnora 测试栈已真实跑通导入/撤销/预备份/故障恢复,CI 中跳过不等于验证"
},
{
"package": "knowledge-governance/internal/dobotaiops",
"test": "TestMirrorSourceManifestDetectsUpdatesWithoutVolatileTimes",
"reason": "仅显式一次性隔离PG验证本地副本/持久同步或专门只读源夹具;默认CI不连接共享与生产库,另行实际执行隔离验收"
},
{
"package": "knowledge-governance/internal/qawemail",
"test": "TestScheduledSendRequiresConfirmationAndSendsExactlyOnce",
"reason": "需要一个一次性 PostgreSQL 与测试主密钥(KG_WEEKLY_MAIL_TEST_DSN/KG_WEEKLY_MAIL_TEST_KEY),CI 不提供;本批已在隔离库真实跑通并通过"
}
]
}