Files
2026-07-13 13:39:38 +08:00

44 lines
1.4 KiB
Python

from __future__ import annotations
import unittest
from unittest.mock import patch
import livekit.plugins.hamming._plugin as plugin_mod
from livekit.plugins.hamming._setup import configure_hamming
class ConfigureHammingTests(unittest.TestCase):
def setUp(self) -> None:
plugin_mod._RUNTIME = None
def tearDown(self) -> None:
plugin_mod._RUNTIME = None
def test_configure_hamming_builds_runtime_for_session_export(self) -> None:
with patch("livekit.plugins.hamming._setup.configure_runtime", return_value="runtime"):
result = configure_hamming(
api_key="ham_test_key",
external_agent_id="agent-123",
recording={"mode": "session_audio"},
)
self.assertEqual(result, "runtime")
def test_configure_hamming_preserves_session_first_options(self) -> None:
configure_hamming(
api_key="ham_test_key",
external_agent_id="agent-123",
capture={"interim_transcripts": True},
recording={"mode": "session_audio"},
streaming={"mode": "none"},
)
runtime = plugin_mod.get_runtime()
assert runtime is not None
self.assertTrue(runtime.config.capture.interim_transcripts)
self.assertEqual(runtime.config.recording.mode, "session_audio")
self.assertEqual(runtime.config.streaming.mode, "none")
if __name__ == "__main__":
unittest.main()