84 lines
3.2 KiB
Python
84 lines
3.2 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""
|
|
Platform resolution tests.
|
|
"""
|
|
import pytest
|
|
|
|
|
|
class TestPlatformResolution:
|
|
"""Platform key resolution: key / display_name / aliases -> canonical key."""
|
|
|
|
def test_maersk_key(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("maersk") == "maersk"
|
|
|
|
def test_maersk_alias_chinese(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("马士基") == "maersk"
|
|
|
|
def test_maersk_alias_upper(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("MAERSK") == "maersk"
|
|
|
|
def test_cma_cgm_key(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("cma_cgm") == "cma_cgm"
|
|
|
|
def test_cma_cgm_alias_chinese(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("达飞") == "cma_cgm"
|
|
|
|
def test_cma_cgm_alias_display(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("CMA CGM") == "cma_cgm"
|
|
|
|
def test_deepseek_key(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("deepseek") == "deepseek"
|
|
|
|
def test_deepseek_alias_capitalize(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("DeepSeek") == "deepseek"
|
|
|
|
def test_unknown_returns_none(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("not_a_platform_xyz") is None
|
|
|
|
def test_empty_returns_none(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("") is None
|
|
assert resolve_platform_key(None) is None
|
|
|
|
def test_list_platforms_all(self):
|
|
from util.platforms import list_platforms
|
|
all_plat = list_platforms()
|
|
assert any(p["platform_key"] == "maersk" for p in all_plat)
|
|
assert any(p["platform_key"] == "deepseek" for p in all_plat)
|
|
assert any(p["platform_key"] == "sohu" for p in all_plat)
|
|
|
|
def test_list_platforms_logistics_only(self):
|
|
from util.platforms import list_platforms
|
|
log_plat = list_platforms("logistics")
|
|
assert any(p["platform_key"] == "maersk" for p in log_plat)
|
|
assert any(p["platform_key"] == "cma_cgm" for p in log_plat)
|
|
assert not any(p["platform_key"] == "deepseek" for p in log_plat)
|
|
|
|
def test_list_platforms_llm_only(self):
|
|
from util.platforms import list_platforms
|
|
llm_plat = list_platforms("llm")
|
|
assert any(p["platform_key"] == "deepseek" for p in llm_plat)
|
|
assert any(p["platform_key"] == "doubao" for p in llm_plat)
|
|
assert not any(p["platform_key"] == "maersk" for p in llm_plat)
|
|
|
|
def test_evergreen_key(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("evergreen") == "evergreen"
|
|
|
|
def test_evergreen_alias_chinese(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("长荣") == "evergreen"
|
|
|
|
def test_cargo_wise_key(self):
|
|
from util.platforms import resolve_platform_key
|
|
assert resolve_platform_key("cargo_wise") == "cargo_wise"
|