Files
Aether/tests/api/handlers/gemini/test_stream_parser.py
fawney19 7b66505634 refactor: 全局适配 ApiFamily/EndpointKind 结构化标识体系
将新的 (ApiFamily, EndpointKind) / `family:kind` 签名体系应用到整个代码库:
- API Handlers: 所有 adapter/handler 使用新的签名格式
- Services: provider, model, usage, cache, auth 等服务层适配
- Database: ProviderEndpoint 新增 api_family/endpoint_kind 字段
- Frontend: Provider 管理、Usage 表格等组件适配
- Tests: 更新所有相关测试用例
2026-02-01 17:28:00 +08:00

20 lines
723 B
Python

from src.api.handlers.gemini.stream_parser import GeminiStreamParser
def test_is_done_event_true_for_new_finish_reason_values() -> None:
parser = GeminiStreamParser()
event = {"candidates": [{"finishReason": "MALFORMED_FUNCTION_CALL"}]}
assert parser.is_done_event(event) is True
def test_is_done_event_false_for_unspecified() -> None:
parser = GeminiStreamParser()
event = {"candidates": [{"finishReason": "FINISH_REASON_UNSPECIFIED"}]}
assert parser.is_done_event(event) is False
def test_is_done_event_false_when_no_candidates_or_reason() -> None:
parser = GeminiStreamParser()
assert parser.is_done_event({}) is False
assert parser.is_done_event({"candidates": [{}]}) is False