aboutsummaryrefslogtreecommitdiffstats
path: root/tests/test_llm.py
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-11-09 19:28:18 +0100
committerDanilo M. <danix@danix.xyz>2026-11-09 19:28:18 +0100
commit7a985a14d440acdda93dc7a43ee7c6bdecc2bf44 (patch)
tree199fa5bf28e8da681b3a38f19227e4bc3084327b /tests/test_llm.py
parent28b96b2659ca21857e8175f52be05011bff15a57 (diff)
downloaddeck-it-7a985a14d440acdda93dc7a43ee7c6bdecc2bf44.tar.gz
deck-it-7a985a14d440acdda93dc7a43ee7c6bdecc2bf44.zip
feat: LLM card shows current session models with section headers
Diffstat (limited to 'tests/test_llm.py')
-rw-r--r--tests/test_llm.py20
1 files changed, 15 insertions, 5 deletions
diff --git a/tests/test_llm.py b/tests/test_llm.py
index 354b5fe..ea28b08 100644
--- a/tests/test_llm.py
+++ b/tests/test_llm.py
@@ -19,7 +19,7 @@ class Down(unittest.TestCase):
class Up(unittest.TestCase):
def test_aggregates_opencode_and_ignores_other_programs(self):
data = {"/api/claude_limits": [{"context_pct": 12}],
- "/api/claude_session": {"context_used": 1200},
+ "/api/claude_session": {"session": {"models": [{"model": "claude-opus-4"}]}},
"/api/summary": [
{"program": "opencode", "provider": "deepseek", "model": "v4",
"total_cost_usd": 1.5, "tokens": 1000, "calls": 3},
@@ -27,24 +27,34 @@ class Up(unittest.TestCase):
"total_cost_usd": 0.5, "tokens": 500, "calls": 1},
{"program": "assistant", "provider": "x", "model": "y",
"total_cost_usd": 9.0, "tokens": 9999, "calls": 9},
- ]}
+ ],
+ "/api/last_session": {"sessions": [
+ {"program": "opencode", "rows": [
+ {"provider": "together", "model": "qwen", "calls": 1},
+ {"provider": "deepseek", "model": "v4", "calls": 3},
+ ]},
+ ]}}
st = llm.make({"llm": {"url": "http://x"},
"fetch": lambda u, timeout=2: data[u]}).state()
self.assertFalse(st["offline"])
self.assertEqual(st["claude"]["context_pct"], 12)
+ self.assertEqual(st["claude"]["model"], "claude-opus-4")
self.assertEqual(st["opencode"]["cost"], 2.0)
self.assertEqual(st["opencode"]["tokens"], 1500)
self.assertEqual(st["opencode"]["calls"], 4)
- self.assertEqual(st["opencode"]["models"][0]["model"], "v4")
+ self.assertEqual(st["opencode"]["model"], "v4")
def test_handles_the_real_latest_shape(self):
data = {"/api/claude_limits": {"latest": {"context_pct": 42, "five_hour_pct": 10}},
- "/api/claude_session": {},
- "/api/summary": []}
+ "/api/claude_session": {"session": None},
+ "/api/summary": [],
+ "/api/last_session": {"sessions": []}}
st = llm.make({"llm": {"url": "http://x"},
"fetch": lambda u, timeout=2: data[u]}).state()
self.assertEqual(st["claude"]["context_pct"], 42)
self.assertEqual(st["claude"]["five_hour_pct"], 10)
+ self.assertIsNone(st["claude"]["model"])
+ self.assertIsNone(st["opencode"]["model"])
if __name__ == "__main__":