mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-01 17:00:21 +08:00
fix: 统一格式兼容性检查,透传格式也需开关启用
- 同族格式(如 CLAUDE/CLAUDE_CLI)现在也需要全局开关和端点开关启用才能透传 - 格式转换关闭时,Models API 只返回客户端格式本身 - 添加测试用例验证透传格式受开关限制
This commit is contained in:
@@ -168,13 +168,13 @@ def test_conversion_allowed_when_converter_supports_full() -> None:
|
||||
|
||||
|
||||
def test_claude_cli_to_claude_no_conversion_needed() -> None:
|
||||
"""CLAUDE 和 CLAUDE_CLI 格式相同,只是认证不同,可透传"""
|
||||
"""CLAUDE 和 CLAUDE_CLI 格式相同,只是认证不同,可透传(需开关启用)"""
|
||||
ok, needs_conv, reason = is_format_compatible(
|
||||
"CLAUDE_CLI",
|
||||
"CLAUDE",
|
||||
endpoint_format_acceptance_config=None,
|
||||
endpoint_format_acceptance_config={"enabled": True},
|
||||
is_stream=False,
|
||||
global_conversion_enabled=False,
|
||||
global_conversion_enabled=True,
|
||||
registry=MagicMock(),
|
||||
)
|
||||
assert ok is True
|
||||
@@ -183,13 +183,13 @@ def test_claude_cli_to_claude_no_conversion_needed() -> None:
|
||||
|
||||
|
||||
def test_claude_to_claude_cli_no_conversion_needed() -> None:
|
||||
"""CLAUDE 和 CLAUDE_CLI 格式相同,只是认证不同,可透传"""
|
||||
"""CLAUDE 和 CLAUDE_CLI 格式相同,只是认证不同,可透传(需开关启用)"""
|
||||
ok, needs_conv, reason = is_format_compatible(
|
||||
"CLAUDE",
|
||||
"CLAUDE_CLI",
|
||||
endpoint_format_acceptance_config=None,
|
||||
endpoint_format_acceptance_config={"enabled": True},
|
||||
is_stream=False,
|
||||
global_conversion_enabled=False,
|
||||
global_conversion_enabled=True,
|
||||
registry=MagicMock(),
|
||||
)
|
||||
assert ok is True
|
||||
@@ -198,13 +198,13 @@ def test_claude_to_claude_cli_no_conversion_needed() -> None:
|
||||
|
||||
|
||||
def test_gemini_cli_to_gemini_no_conversion_needed() -> None:
|
||||
"""GEMINI 和 GEMINI_CLI 格式相同,只是认证不同,可透传"""
|
||||
"""GEMINI 和 GEMINI_CLI 格式相同,只是认证不同,可透传(需开关启用)"""
|
||||
ok, needs_conv, reason = is_format_compatible(
|
||||
"GEMINI_CLI",
|
||||
"GEMINI",
|
||||
endpoint_format_acceptance_config=None,
|
||||
endpoint_format_acceptance_config={"enabled": True},
|
||||
is_stream=False,
|
||||
global_conversion_enabled=False,
|
||||
global_conversion_enabled=True,
|
||||
registry=MagicMock(),
|
||||
)
|
||||
assert ok is True
|
||||
@@ -212,6 +212,34 @@ def test_gemini_cli_to_gemini_no_conversion_needed() -> None:
|
||||
assert reason is None
|
||||
|
||||
|
||||
def test_claude_cli_to_claude_blocked_when_global_switch_disabled() -> None:
|
||||
"""透传格式(CLAUDE_CLI -> CLAUDE)也受全局开关限制"""
|
||||
ok, needs_conv, reason = is_format_compatible(
|
||||
"CLAUDE_CLI",
|
||||
"CLAUDE",
|
||||
endpoint_format_acceptance_config={"enabled": True},
|
||||
is_stream=False,
|
||||
global_conversion_enabled=False,
|
||||
registry=MagicMock(),
|
||||
)
|
||||
assert ok is False
|
||||
assert reason and ("全局" in reason or "FORMAT_CONVERSION_ENABLED" in reason)
|
||||
|
||||
|
||||
def test_claude_cli_to_claude_blocked_when_endpoint_not_configured() -> None:
|
||||
"""透传格式(CLAUDE_CLI -> CLAUDE)也需要端点配置"""
|
||||
ok, needs_conv, reason = is_format_compatible(
|
||||
"CLAUDE_CLI",
|
||||
"CLAUDE",
|
||||
endpoint_format_acceptance_config=None,
|
||||
is_stream=False,
|
||||
global_conversion_enabled=True,
|
||||
registry=MagicMock(),
|
||||
)
|
||||
assert ok is False
|
||||
assert reason and "未配置" in reason
|
||||
|
||||
|
||||
def test_openai_cli_to_openai_needs_conversion() -> None:
|
||||
"""OPENAI 和 OPENAI_CLI 格式不同(Chat Completions vs Responses API),需要转换"""
|
||||
registry = MagicMock()
|
||||
|
||||
Reference in New Issue
Block a user