Files
ai-kefu-admin/tests/test_ip_service_region.py
浅念 d1aed8e722 feat: 吸收上游 7 个测试文件断言与 placeholder 配置化对齐
上游 ai-kefu → phase1 吸收(Task 11 unit 12):
- 拷入 7 个测试文件,import/夹具按目标库重锚(app.engine.* / conftest
  async_db+build_jiancai_runtime / seed_profiles 提示词锚点)
- 补实现(同步自上游): chat_rest 服务端可信 IP(_server_ip/
  _merge_client_info,直连场景自报假 IP 不再原样落库);widget.js 与
  chat.js 的 data-placeholder 读取(叠加 Task 10 管道:data-* > brand >
  中性兜底,tests/test_placeholder_static.py 守卫)
- 断言重锚以 jc 主线为准: ev.contact_info 存裸号+等待尾注(e164 走
  _cc 派生)、source 值 fallback/customer_stated 口径、推送标注键
  号码补全说明、prompt 静态锚按租户(seed_profiles)双测
- 全量回归 459 passed(基线 421 + 吸收 38)

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-10-12 23:19:02 +08:00

25 lines
1.0 KiB
Python

"""ip_service 区码扩展(同步自上游 ai-kefu tests/test_ip_service_region.py)。
仅改 import 路径(app.services → app.engine.services);断言原样——
iptocc 数据面行为两库同源,实测 41.90.64.1→KE / 24.114.0.1→加拿大。
"""
from app.engine.services.ip_service import COUNTRY_NAMES, resolve_country, resolve_region_code
def test_resolve_region_code_direct_passthrough():
assert resolve_region_code("8.8.8.8") in ("US", None) # iptocc 数据面,断言不抛
assert resolve_region_code("127.0.0.1") is None # 本地
assert resolve_region_code("") is None
def test_resolve_region_code_matches_resolve_country_space():
# 同一 IP:resolve_region_code 返回 ISO,resolve_country 走 COUNTRY_NAMES 映射
code = resolve_region_code("41.90.64.1") # 肯尼亚段
assert code == "KE"
def test_ca_country_name_fixed():
assert COUNTRY_NAMES["CA"] == "加拿大"
assert COUNTRY_NAMES["AU"] == "澳大利亚"
assert resolve_country("24.114.0.1") != "CA" # 加拿大段不再透出字面量