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

2.6 KiB
Raw Blame History

征信解析 Mock Server 后端验证记录

自动化验证

1. Payload Service 红绿验证

cd lsfx-mock-server
python3 -m pytest tests/test_credit_payload_service.py -v
  • 首次执行结果:失败
    • 原因:services.credit_payload_service 不存在
  • 实现后再次执行结果:通过

2. 接口层红绿验证

cd lsfx-mock-server
python3 -m pytest tests/test_credit_api.py -v
  • 首次执行结果:失败
    • 原因:/xfeature-mngs/conversation/htmlEval 尚未注册,返回 404
  • 实现后再次执行结果:通过

3. 启动注册验证

cd lsfx-mock-server
python3 -m pytest tests/test_startup.py -v
  • 首次执行结果:失败
    • 原因:主应用尚未注册征信解析路由
  • 实现后再次执行结果:通过

4. 目标回归验证

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 进程占用 8000curl 实际命中了外部已有服务而非当前 worktree 内的 Mock 服务。为避免环境噪音,本次手工验证改用 18000 端口前台启动当前应用:

cd lsfx-mock-server
PORT=18000 python3 main.py

启动日志确认:

  • Application startup complete.
  • Uvicorn running on http://0.0.0.0:18000

健康检查验证

curl -s http://127.0.0.1:18000/credit/health

返回结果:

{"status":"healthy","service":"credit-mock"}

征信解析接口验证

准备示例文件:

printf '<html></html>' > /tmp/sample-credit.html

执行请求:

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_headerlx_debtlx_publictype
  • lx_header.report_time 为日期格式字符串
  • lx_debt 下 21 个字段、lx_publictype 下 6 个字段均已生成

服务停止

本次手工验证采用前台启动,验证完成后已通过 Ctrl+C 停止服务,确认未残留由本次验证启动的 Mock 进程。

结论

  • 征信字段 schema 读取、稳定随机 payload 生成、错误码模拟、主应用路由注册均符合计划要求。
  • 自动化测试与手工冒烟验证均通过。
  • 本地环境存在外部进程占用 8000 的情况,但不影响当前实现正确性;本次已通过切换到空闲端口完成隔离验证。