Skip to content

metadata/loaders/database-loader.test.ts 的 mock driver supports 写满 off-spec 键(aggregations/nestedObjects/geoQueries/changeStreams…)—— 从未与 DriverCapabilities 对上 #4782

Description

@os-zhuang

#4634(DriverCapabilities 活性审计)期间发现,顺带记录,不在该 PR 范围内修(metadata 包不在其区域约束内,且不影响任何门禁/测试结果)。

现象

packages/metadata/src/loaders/database-loader.test.ts:36-47 的 mock driver:

supports: {
  transactions: false,
  joins: false,
  aggregations: false,      // ← 不是 DriverCapabilities 的键(那边叫 queryAggregations,现已退役)
  streaming: false,
  bulkOperations: true,     // ← 不存在的键
  nestedObjects: false,     // ← 不存在的键
  fullTextSearch: false,
  geoQueries: false,        // ← 不存在的键(那边曾叫 geospatialQuery)
  changeStreams: false,     // ← 不存在的键
},

一半键从未在 DriverCapabilitiesSchema 里存在过,另一半(transactions/joins/streaming/fullTextSearch)已于 #4634 退役。对象未做类型标注所以一直编译通过,也没有任何读者,纯属误导下一个照抄 mock 的作者。cloud 侧 ControlPlaneProxyDriver 的 fallback 字面量(supports: any)有同款问题,已另行记入 cloud 仓 issue。

建议

#4634 落地后改为 supports: {}(空广告即合法广告),删掉整块假键。一行修复。

发现于 #4634 审计,未认领。

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions