5.2 KiB
5.2 KiB
测试实施第二步执行记录
执行时间
- 日期:2026-07-01
- 步骤:第二步,执行静态配置和权限基础测试
第二步目标
验证第一版基础配置类能力在真实 PostgreSQL 环境下可用,包括客户创建和查询、租户隔离查询、短信应用、签名、模板、通道、通道组、路由规则、报备字段和系统日志的基础创建/查询闭环。
本步骤不执行发送、计费扣费、报备回执、Dashboard 指标或 CMPP 真实连接状态测试;这些属于后续步骤。
执行环境
| 项目 | 结果 |
|---|---|
| PostgreSQL | 可连接,沿用第一步基线环境。 |
| Redis | 可连接。 |
| MinIO | 可连接,但本步未执行文件上传。 |
| API | 使用 API_PORT=3101 npm --prefix api run start:dev 启动。 |
| API health | GET /api/health 已在第一步验证,本步 API 启动成功后执行配置 smoke。 |
已执行命令
$env:API_PORT='3101'; npm --prefix api run start:dev
node <inline step2 static config smoke>
本步执行过的测试用例
| 用例编号 | 用例名称 | 执行范围 | 结果 |
|---|---|---|---|
| TC-CUSTOMER-001 | 运营端创建客户并初始化租户 | 通过 POST /api/admin/tenants 创建测试客户,并通过列表和详情查询验证。 |
通过 |
| TC-CUSTOMER-007 | 客户租户隔离和越权访问 | 使用 x-tenant-id 分别查询客户自身和 tenant-b 的应用/日志,验证不混入本次创建数据。当前只覆盖租户 header 隔离子集。 |
通过 |
| TC-CLIENT-002 | 创建短信应用并重置密钥 | 创建短信应用、IP 白名单、日限额和模板不匹配策略,并通过客户端列表查询验证。当前未覆盖密钥重置,因为接口未提供。 | 部分通过 |
| TC-CLIENT-003 | 签名创建、材料上传与提交审核 | 创建签名、登记材料、提交审核,并在运营端签名列表验证可见。 | 通过 |
| TC-CLIENT-004 | 模板变量识别与提交审核 | 创建多变量模板,验证自动识别 3 个变量,提交审核,并在运营端模板列表验证可见。 | 通过 |
| TC-ADMIN-003 | 通道创建与启停 | 创建 CMPP 通道并验证默认协议为 CMPP。当前未覆盖启停,因为接口未提供 PUT/停用动作。 | 部分通过 |
| TC-ADMIN-004 | 通道组与路由规则 | 创建通道组、通道组成员、租户/应用路由规则,并通过路由列表验证。 | 通过 |
| TC-LOG-002 | 配置变更日志 | 创建 operation log,并按租户查询验证本租户可见、其他租户不可见。当前只覆盖手工写日志和查询子集。 | 部分通过 |
| TC-STATUS-002 | 配置状态变化必须写入系统日志 | 通过本步配置 smoke 写入日志,验证日志可按租户查询。当前未覆盖启用/停用/删除/恢复状态变化,因为相关接口不完整。 | 部分通过 |
本步创建的数据
| 数据类型 | ID |
|---|---|
| 测试运行编号 | step2-1782898747407 |
| Tenant | cmr1vvq4e00002syu6n55obbc |
| SmsApplication | cmr1vvq8z00012syultbzjmf9 |
| SmsSignature | cmr1vvqa400032syuooygn3k4 |
| SmsTemplate | cmr1vvqbj00062syu21hhfsj7 |
| SmsChannel | cmr1vvqcl000b2syu3fea3wlc |
| SmsChannelGroup | cmr1vvqcs000c2syuqmw6wv9v |
| ChannelRouteRule | cmr1vvqd9000e2syurnpsw8rv |
| OperationLog | cmr1vvqf8000g2syukbgzaj9d |
通过项
- API 在真实数据库环境下可完成客户、应用、签名、模板、通道、通道组、路由和日志的基础创建/查询。
- 客户端应用列表能按
x-tenant-id过滤,未把本次客户数据泄漏给tenant-b。 - 系统日志能按
x-tenant-id过滤,未把本次客户日志泄漏给tenant-b。 - 模板变量自动识别可用,多变量模板
name/orderNo/code被识别为 3 个变量。 - 签名提交审核和模板提交审核能生成 pending 状态。
未执行或阻塞项
| 范围 | 原因 |
|---|---|
| 客户资料编辑 | 当前 TenantsController 只提供 GET/POST,无 PUT/PATCH。 |
| 客户删除/归档 | 当前无删除/归档接口。 |
| 应用密钥重置 | 当前客户端应用接口无 secret reset endpoint。 |
| 应用启停/删除 | 当前无应用 PUT/DELETE 或启停接口。 |
| 签名删除 | 当前无签名删除接口。 |
| 模板删除 | 当前无模板删除接口。 |
| 通道启停 | 当前通道接口无 PUT 或启停接口。 |
| 权限角色强校验 | 当前 API 未接入真实鉴权守卫,本步只能验证租户 header 过滤,不能验证角色权限阻断。 |
| 配置状态变化日志自动写入 | 当前多数配置接口未自动写 operation log,本步用显式日志接口验证日志查询能力。 |
本步结论
第二步可执行的静态配置基础创建/查询测试已完成。结果显示:基础配置对象可在真实 PostgreSQL 环境中创建和查询,租户 header 隔离对子集接口有效。
第二步同时暴露出第一版测试继续推进前需要关注的能力缺口:
- 多数配置对象缺少编辑、启停、删除接口。
- API 当前未做完整角色/权限守卫。
- 配置变更日志不是所有接口自动写入。
这些缺口不阻塞进入第三步的认证、审核、报备闭环测试,但会限制删除/启停/权限类用例的执行深度。