新增征信解析字段配置与生成服务

This commit is contained in:
wkc
2026-03-23 15:19:33 +08:00
parent 63d8904d01
commit 397bd07e1c
4 changed files with 324 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
from services.credit_payload_service import CreditPayloadService
def test_generate_payload_should_be_stable_for_same_input():
service = CreditPayloadService("config/credit_feature_schema.json")
payload1 = service.generate_payload(
model="LXCUSTALL",
h_type="PERSON",
filename="credit-report-a.html",
)
payload2 = service.generate_payload(
model="LXCUSTALL",
h_type="PERSON",
filename="credit-report-a.html",
)
assert payload1 == payload2
assert set(payload1.keys()) == {"lx_header", "lx_debt", "lx_publictype"}
assert len(payload1["lx_debt"]) == 21
assert len(payload1["lx_publictype"]) == 6
def test_generate_payload_should_use_schema_type_rules():
service = CreditPayloadService("config/credit_feature_schema.json")
payload = service.generate_payload(
model="LXCUSTALL",
h_type="ENTERPRISE",
filename="credit-report-b.html",
)
assert payload["lx_debt"]["uncle_bank_house_state"] in {"正常", "逾期", "不良"}
assert payload["lx_header"]["report_time"].count("-") == 2
assert payload["lx_publictype"]["civil_cnt"].isdigit()