관리자 사용량 근거를 정교화

This commit is contained in:
Yun Chan 2026-08-29 23:59:17 +09:00
parent ccdcfcd2f5
commit 707dba4f8f
10 changed files with 1136 additions and 209 deletions

View file

@ -1,5 +1,6 @@
import json
import unittest
from datetime import datetime, timezone
from unittest.mock import AsyncMock, patch
from app.contracts.engine_gateway import EngineMessage, GenerateRequest
@ -274,19 +275,19 @@ class ProviderRegistryTest(unittest.IsolatedAsyncioTestCase):
source="live_cli",
models=[
provider_registry.EngineModelOption(
id="gemini-3.6-flash-high",
label="Gemini 3.6 Flash (High)",
id="gemini-3.7-flash-high",
label="Gemini 3.7 Flash (High)",
reasoning_efforts=["high"],
default_reasoning_effort="high",
)
],
default_model="gemini-3.6-flash-high",
default_model="gemini-3.7-flash-high",
default_reasoning_effort="high",
fetched_at=1,
)
request = GenerateRequest(
provider="agy_cli",
model="gemini-3.6-flash-high",
model="gemini-3.7-flash-high",
reasoning_effort="high",
messages=[EngineMessage(role="user", content="hello")],
)
@ -322,6 +323,11 @@ class ProviderRegistryTest(unittest.IsolatedAsyncioTestCase):
with (
patch.object(provider_registry, "_binary", return_value="agy"),
patch.object(
provider_registry,
"_utcnow",
return_value=datetime(2026, 8, 28, tzinfo=timezone.utc),
),
patch.object(
provider_registry,
"discover_capabilities",
@ -342,7 +348,7 @@ class ProviderRegistryTest(unittest.IsolatedAsyncioTestCase):
self.assertEqual(result.text, "OK")
self.assertEqual(result.tokens_in, 12)
self.assertEqual(result.tokens_out, 2)
self.assertEqual(result.cost_usd, 0.0000303)
self.assertEqual(result.cost_usd, 0.00001515)
args = captured[0]
print_index = args.index("--print")
self.assertEqual(print_index, len(args) - 2)
@ -413,6 +419,11 @@ class ProviderRegistryTest(unittest.IsolatedAsyncioTestCase):
with (
patch.object(provider_registry, "_binary", return_value="agy.exe"),
patch.object(
provider_registry,
"_utcnow",
return_value=datetime(2026, 8, 28, tzinfo=timezone.utc),
),
patch.object(
provider_registry,
"discover_capabilities",
@ -438,7 +449,7 @@ class ProviderRegistryTest(unittest.IsolatedAsyncioTestCase):
self.assertEqual(events[-1].result.text, "안녕")
self.assertEqual(events[-1].result.tokens_in, 12)
self.assertEqual(events[-1].result.tokens_out, 2)
self.assertEqual(events[-1].result.cost_usd, 0.0000303)
self.assertEqual(events[-1].result.cost_usd, 0.00001515)
args = captured[0]
self.assertIn("--output-format", args)
self.assertEqual(args[args.index("--output-format") + 1], "stream-json")