fix: enforce application limits and signature format

This commit is contained in:
hectorzhao
2026-07-22 16:29:22 +08:00
parent cd085d2712
commit a09036c67b
20 changed files with 479 additions and 79 deletions
+27 -1
View File
@@ -95,7 +95,7 @@
- 优先级:P0
- 前置条件:MinIO 或等价对象存储测试服务可用;如不可用,本用例标记为阻塞或未执行,不得用文件服务 mock 作为验收通过依据。
- 步骤:
1. 创建短信签名,填写名称、用途、引流信息。
1. 创建短信签名,填写完整中文黑括号名称 `【测试签名】`、用途、引流信息。
2. 上传或登记签名证明材料。
3. 提交审核。
4. 打开签名列表和详情。
@@ -104,6 +104,21 @@
- 材料与签名关联成功。
- 提交后签名状态变为 pending。
- 生成审核记录。
- PostgreSQL保存完整名称`【测试签名】`,客户端和运营端新增、编辑输入框及列表、详情均显示恰好一层黑括号。
### TC-CLIENT-003B 签名黑括号格式前后端强制校验
- 优先级:P0
- 前置条件:存在可创建签名的企业和应用。
- 步骤:
1. 分别在客户端和运营端新增、编辑签名,输入`测试签名``[测试签名]``【【测试签名】】``【 】``【测试签名】附加文本`
2. 绕过页面直接调用真实新增、编辑API提交相同非法名称。
3. 输入合法完整名称`【测试签名】`并保存,刷新列表、详情、审核和报备页面。
4. 选择该签名生成模板内容和发送预览。
- 预期结果:
- 所有非法格式在前端不可提交,直接调用API也返回400及可行动错误,不写入`SmsSignature`
- 合法名称以完整格式写入PostgreSQL;新增、编辑和所有展示位置均为`【测试签名】`
- 模板与发送预览只包含一层签名,不出现`【【测试签名】】`
### TC-CLIENT-003A 签名与引流信息工作台及通道信息隔离
@@ -3691,3 +3706,14 @@ npm run verify:phase8
| A23-REVIEW-001 | 签名/模板点击通过 | 首先显示对象名、唯一ID、企业、应用、资格检查和影响;没有最终确认不得改变pending状态或写AuditRecord |
| A23-REVIEW-002 | 审核并发与幂等 | 使用pending+updatedAt条件更新;同键重放返回同一操作单且仅一条审计;版本变化返回冲突 |
| A23-REVIEW-003 | 审核确认层五视口 | 签名确认层截图覆盖五视口;模板覆盖桌面截图和390px DOM尺寸测量;内容与按钮可达、无横向溢出、console无业务error/warn |
## 2026-07-22 日发送配额与HTTP参数回归用例
| 用例ID | 场景 | 验收标准 |
| --- | --- | --- |
| TC-SEND-DAILY-001 | 新建应用不传dailyLimit | PostgreSQL保存100000,返回值与页面均显示100000 |
| TC-SEND-DAILY-002 | 当日剩余1条时,客户端或HTTP同时发2个号码 | 整批返回429/DAILY_SEND_LIMIT_EXCEEDED,不新建任务、短信记录、冻结或队列作业 |
| TC-SEND-DAILY-003 | 两个API实例并发争抢最后配额 | 依赖`applicationId+usageDate`唯一索引与条件upsert,只有不突破上限的请求成功 |
| TC-SEND-DAILY-004 | 多号码CMPP Submit整包超限 | 仅一个SubmitResp;每个号码均有rejected主记录和DAILY_LIMIT回执,无冻结和扣费 |
| TC-HTTP-PARAM-002 | 首次开通HTTP后查看并复制参数 | 六项能力默认开启,回执/上行为HTTP Webhook;复制文本含AppID和“客户端自助密钥”,与真实API/DB一致 |
| TC-HTTP-PARAM-003 | 升级前已开通HTTP且Webhook能力开启,投递模式仍为cmpp | migration将对应回执/上行模式回填为http,参数复制不再显示CMPP长连接 |