test(ai): stabilize recovery callback contract
This commit is contained in:
@@ -23,7 +23,7 @@ OllamaFailoverManager 單元測試 - P1.1c v4.0
|
||||
from __future__ import annotations
|
||||
|
||||
import asyncio
|
||||
from unittest.mock import ANY, AsyncMock, MagicMock, patch
|
||||
from unittest.mock import ANY, AsyncMock, MagicMock, create_autospec, patch
|
||||
|
||||
import pytest
|
||||
|
||||
@@ -402,7 +402,22 @@ class TestSelectProvider:
|
||||
gcp_b_status=HealthStatus.HEALTHY,
|
||||
local_status=HealthStatus.OFFLINE,
|
||||
)
|
||||
recovery_callback = AsyncMock()
|
||||
async def metadata_callback(
|
||||
provider_name: str,
|
||||
*,
|
||||
observation_generation: int,
|
||||
observation_started_at_monotonic: float,
|
||||
) -> None:
|
||||
_ = (
|
||||
provider_name,
|
||||
observation_generation,
|
||||
observation_started_at_monotonic,
|
||||
)
|
||||
|
||||
# Bare AsyncMock signature reporting varies across runner Python patch
|
||||
# versions. Autospec the production callback contract so this test
|
||||
# verifies our metadata boundary instead of unittest.mock internals.
|
||||
recovery_callback = create_autospec(metadata_callback)
|
||||
manager.set_recovery_callback(recovery_callback)
|
||||
audit = AsyncMock()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user