feat: connect desktop sessions and streaming
This commit is contained in:
@@ -4,7 +4,7 @@ import tempfile
|
||||
import unittest
|
||||
from pathlib import Path
|
||||
|
||||
from javis.core.provider_router import HybridProvider
|
||||
from javis.core.provider_router import ApprovalChoice, HybridProvider
|
||||
from javis.memory.usage_store import ProviderEvent, SQLiteUsageStore
|
||||
from javis.providers.base import (
|
||||
ChatMessage,
|
||||
@@ -182,6 +182,19 @@ class HybridProviderTests(unittest.TestCase):
|
||||
self.assertEqual(answer, "Cloud")
|
||||
self.assertEqual(len(self.cloud.calls), 1)
|
||||
|
||||
def test_ask_supports_allow_local_and_cancel_choices(self) -> None:
|
||||
question = [ChatMessage("user", "Meine Familie plant Urlaub")]
|
||||
|
||||
allowed = self._router(approval_callback=lambda _decision: ApprovalChoice.ALLOW)
|
||||
self.assertEqual(allowed.chat(question), "Cloud")
|
||||
|
||||
local = self._router(approval_callback=lambda _decision: ApprovalChoice.LOCAL)
|
||||
self.assertEqual(local.chat(question), "Lokal")
|
||||
|
||||
cancelled = self._router(approval_callback=lambda _decision: ApprovalChoice.CANCEL)
|
||||
with self.assertRaises(ResponseAbortedError):
|
||||
cancelled.chat(question)
|
||||
|
||||
def test_429_falls_back_without_losing_local_answer(self) -> None:
|
||||
self.cloud.error = ProviderRateLimitError("quota")
|
||||
router = self._router()
|
||||
|
||||
Reference in New Issue
Block a user