2.8 KiB
PLM 接口测试脚本使用说明
脚本 scripts/test_plm_risk_report.py 使用对方 2026-10-09 调用说明中第 3 节的完整参数。
样例保存在 docs/examples/plm-risk-request-20261009.json,品类保持“护发素”,不改为洗发水。
原报告与幂等验证
在后端项目根目录执行:
.\.venv\Scripts\python.exe scripts/test_plm_risk_report.py --local-config
默认访问 http://192.168.9.28:18474/api/v1/integrations/risk-assessments/report。
--local-config 表示从本项目 .env 读取 dieya-plm 对应密钥,密钥和签名不写入输出。
在外部环境可以改为设置 RISK_CLIENT_SECRET 或 RISK_INTEGRATION_CLIENT_SECRET,不传 --local-config。
脚本首先查询原请求。不存在时才提交原参数生成,失败记录允许使用原快照重新提交。
取得报告后,重复 POST 同一业务参数验证幂等,再 GET 查询验证正文及元数据一致。
HTTP 202、429 会遵守 Retry-After 等待;完整测试总期限 180 秒,单次连接最多 10 秒、请求最多 130 秒。
POST 网络异常后先 GET 查询,避免直接换编号重复生成。其他错误会保留诊断与快照并以退出码 1 结束。
新生成一份报告
.\.venv\Scripts\python.exe scripts/test_plm_risk_report.py --local-config --new-request
这会生成唯一的 PLM-TEST-... 请求编号。其他业务字段(包括截止日期)保持原样,便于与原报告比较。
如需要不同产品、日期或操作人,准备新的 JSON 文件,再通过 --body-file 指定。
可指定访问地址和输出目录:
.\.venv\Scripts\python.exe scripts/test_plm_risk_report.py --local-config --url http://127.0.0.1:18474/api/v1/integrations/risk-assessments/report --output-dir .runtime-uploads/integration-tests/my-run
输出文件
默认保存在 .runtime-uploads/integration-tests/<北京时间及随机后缀>/,该目录已被 Git 忽略。
| 文件 | 内容 |
|---|---|
request.json |
实际发送的紧凑 UTF-8 请求快照,用于恢复 |
report.md |
接口实际返回的完整 Markdown,不进行重写 |
response.json |
状态、耗时、安全响应头、报告摘要、测试检查项或失败诊断 |
summary.md |
成功时的分数、等级、维度数量及报告链接 |
响应头校验包括请求编号、评估 ID、模型版本、0~100 安全分、合法风险等级;还会核对七个维度行。 HTTP 客户端只解压一次,报告以 UTF-8 校验,解压后的上限为 1MiB。
当前“护发素”不匹配八类品类评分规则,报告会显示无法归类和品类维度默认 50 分。 HTTP 200 表示调用成功,不代表所有维度具备真实数据。新旧报告的评分可比较,AI 建议文本可能不同。