# 征信解析 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 '' > /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` 的情况,但不影响当前实现正确性;本次已通过切换到空闲端口完成隔离验证。