tableDB/TEST.md

1.8 KiB
Raw Blame History

测试报告

性能测试

测试项 性能指标 (v1.1.6) 备注
BenchmarkTableSet ~760,000 ns/op 包含 Schema 验证、身份注入、1-RTT 写入及自动 ID 生成
鉴权开销 (RTT) 1-RTT 核心鉴权逻辑已合并至主查询/写入 SQL无额外网络往返
内存展平查询 O(1) 字段有效性验证与策略检索均通过内存缓存实现,无递归开销

覆盖场景

  1. 零开销 ABAC 鉴权引擎
    • 验证了在开启 enableRLS 时,系统自动注入 creator = ? OR (conditions)
    • 验证了 checkAuth 在单条操作Get/Remove时的 1-RTT 性能闭环。
  2. 多级权限继承与环状检测
    • 测试通过了 Manager -> Clerk 的权限继承Manager 自动获得 Clerk 的所有表级访问权。
    • 验证了循环继承A -> B -> A场景下系统依然能保持稳定运行不发生内存溢出或死锁。
  3. 自主授权体系
    • 验证了普通用户(非 _system)只有在对目标表拥有 full 权限时,才能通过 SetPolicy 为第三方授权。
    • 验证了 inherit 类型的策略被严格限制在 SystemUserID 权限下操作。
  4. 结构化数据操作与隔离
    • 测试通过了包含和排除 system userID 时的增删改查。
    • Auth 方法通过携带不同 userID 后实现了 creator 的数据隔离限制。
  5. 生命周期 Hook 触发机制
    • OnUpdatingRow 触发并允许修改将要入库的行数据。
    • OnUpdatedRows 在更新结束后被触发。
    • OnRemovedRows 在成功移除后被触发返回对应的 ID 集合。
  6. SQL注入黑盒测试
    • Table 名称注入被验证并阻止。
    • Field 查询字段注入被验证并阻止。
    • Join On 条件验证被拦截。
    • OrderBy 查询的语句结构注入被拦截。