mirror of
https://github.com/fawney19/Aether.git
synced 2026-09-03 09:50:21 +08:00
feat: Antigravity 和 Codex 服务支持
- 新增 Antigravity 服务:签名缓存、URL 可用性检测、信封处理 - 新增 Codex 服务:信封处理、元数据收集器 - 重构 provider transport 支持新的服务架构 - 新增 stream_bridge 和 upstream_stream_bridge 处理流式响应 - 优化 OAuth 工具函数 - 添加相关测试用例
This commit is contained in:
35
tests/services/antigravity/test_signature_cache.py
Normal file
35
tests/services/antigravity/test_signature_cache.py
Normal file
@@ -0,0 +1,35 @@
|
||||
from __future__ import annotations
|
||||
|
||||
from src.services.antigravity.constants import DUMMY_THOUGHT_SIGNATURE
|
||||
from src.services.antigravity.signature_cache import ThinkingSignatureCache
|
||||
|
||||
|
||||
def test_get_or_dummy_returns_dummy_for_gemini_models() -> None:
|
||||
cache = ThinkingSignatureCache(maxsize=10)
|
||||
assert cache.get_or_dummy("gemini-3-pro", "thinking...") == DUMMY_THOUGHT_SIGNATURE
|
||||
|
||||
|
||||
def test_get_or_dummy_returns_none_for_non_gemini_models() -> None:
|
||||
cache = ThinkingSignatureCache(maxsize=10)
|
||||
assert cache.get_or_dummy("claude-sonnet", "thinking...") is None
|
||||
|
||||
|
||||
def test_cached_signature_preferred() -> None:
|
||||
cache = ThinkingSignatureCache(maxsize=10)
|
||||
cache.cache("gemini-3-pro", "t", "sig-1")
|
||||
assert cache.get_or_dummy("gemini-3-pro", "t") == "sig-1"
|
||||
|
||||
|
||||
def test_eviction_fifo() -> None:
|
||||
cache = ThinkingSignatureCache(maxsize=4)
|
||||
cache.cache("gemini-3-pro", "t1", "s1")
|
||||
cache.cache("gemini-3-pro", "t2", "s2")
|
||||
cache.cache("gemini-3-pro", "t3", "s3")
|
||||
cache.cache("gemini-3-pro", "t4", "s4")
|
||||
|
||||
# Trigger eviction (evict 1 key when maxsize=4)
|
||||
cache.cache("gemini-3-pro", "t5", "s5")
|
||||
|
||||
# Oldest key should be gone
|
||||
assert cache.get_or_dummy("gemini-3-pro", "t1") == DUMMY_THOUGHT_SIGNATURE
|
||||
|
||||
Reference in New Issue
Block a user