25 lines
1.0 KiB
Python
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" # 加拿大段不再透出字面量
|