Files
ccdi/docs/tests/records/2026-03-23-credit-parsing-mock-server-backend-verification.md

109 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 征信解析 Mock Server 后端验证记录
## 自动化验证
### 1. Payload Service 红绿验证
```bash
cd lsfx-mock-server
python3 -m pytest tests/test_credit_payload_service.py -v
```
- 首次执行结果:失败
- 原因:`services.credit_payload_service` 不存在
- 实现后再次执行结果:通过
### 2. 接口层红绿验证
```bash
cd lsfx-mock-server
python3 -m pytest tests/test_credit_api.py -v
```
- 首次执行结果:失败
- 原因:`/xfeature-mngs/conversation/htmlEval` 尚未注册,返回 `404`
- 实现后再次执行结果:通过
### 3. 启动注册验证
```bash
cd lsfx-mock-server
python3 -m pytest tests/test_startup.py -v
```
- 首次执行结果:失败
- 原因:主应用尚未注册征信解析路由
- 实现后再次执行结果:通过
### 4. 目标回归验证
```bash
cd lsfx-mock-server
python3 -m pytest tests/test_credit_payload_service.py tests/test_credit_api.py tests/test_startup.py -v
```
- 结果:`10 passed`
## 手工冒烟验证
### 启动过程
首次按设计默认端口 `8000` 冒烟时,发现本机已有其他 Python 进程占用 `8000``curl` 实际命中了外部已有服务而非当前 worktree 内的 Mock 服务。为避免环境噪音,本次手工验证改用 `18000` 端口前台启动当前应用:
```bash
cd lsfx-mock-server
PORT=18000 python3 main.py
```
启动日志确认:
- `Application startup complete.`
- `Uvicorn running on http://0.0.0.0:18000`
### 健康检查验证
```bash
curl -s http://127.0.0.1:18000/credit/health
```
返回结果:
```json
{"status":"healthy","service":"credit-mock"}
```
### 征信解析接口验证
准备示例文件:
```bash
printf '<html></html>' > /tmp/sample-credit.html
```
执行请求:
```bash
curl -s -X POST http://127.0.0.1:18000/xfeature-mngs/conversation/htmlEval \
-F model=LXCUSTALL \
-F hType=PERSON \
-F file=@/tmp/sample-credit.html
```
返回结果要点:
- `status_code``"0"`
- `message``"成功"`
- `payload` 包含 `lx_header``lx_debt``lx_publictype`
- `lx_header.report_time` 为日期格式字符串
- `lx_debt` 下 21 个字段、`lx_publictype` 下 6 个字段均已生成
### 服务停止
本次手工验证采用前台启动,验证完成后已通过 `Ctrl+C` 停止服务,确认未残留由本次验证启动的 Mock 进程。
## 结论
- 征信字段 schema 读取、稳定随机 payload 生成、错误码模拟、主应用路由注册均符合计划要求。
- 自动化测试与手工冒烟验证均通过。
- 本地环境存在外部进程占用 `8000` 的情况,但不影响当前实现正确性;本次已通过切换到空闲端口完成隔离验证。