diff dictation/config_test.py @ 277:1d99147f520c

Merge Qwen services and infinite canvas heads
author MrJuneJune <me@mrjunejune.com>
date Mon, 17 Aug 2026 17:01:40 -0700
parents 78699f810817
children 49e9e591c9bb
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dictation/config_test.py	Mon Aug 17 17:01:40 2026 -0700
@@ -0,0 +1,39 @@
+import os
+from pathlib import Path
+import unittest
+from unittest.mock import patch
+
+from dictation.config import DictationConfig
+
+
+class DictationConfigTest(unittest.TestCase):
+    def test_defaults_are_local_and_bounded(self):
+        with patch.dict(os.environ, {}, clear=True):
+            config = DictationConfig.from_environment()
+        self.assertEqual(config.host, "127.0.0.1")
+        self.assertEqual(config.port, 8090)
+        self.assertEqual(config.max_sessions, 1)
+        self.assertEqual(config.compute_type, "int8_float16")
+        self.assertTrue(str(config.model_dir).endswith("faster-whisper-small"))
+
+    def test_rejects_invalid_session_limit(self):
+        with patch.dict(
+            os.environ,
+            {"DICTATION_MAX_SESSIONS": "0"},
+            clear=True,
+        ):
+            with self.assertRaisesRegex(ValueError, "between 1 and 8"):
+                DictationConfig.from_environment()
+
+    def test_accepts_model_override(self):
+        with patch.dict(
+            os.environ,
+            {"DICTATION_MODEL_DIR": "/tmp/dictation-model"},
+            clear=True,
+        ):
+            config = DictationConfig.from_environment()
+        self.assertEqual(config.model_dir, Path("/tmp/dictation-model"))
+
+
+if __name__ == "__main__":
+    unittest.main()