Mercurial
view dictation/config_test.py @ 282:6bd4a3990696 default tip
Add cross-platform canvas orchestration and typed composer
Enable native ARM dependencies, macOS Copilot orchestration, portable service supervision, CPU dictation, and a shared N-key speak-or-type composer.
Co-authored-by: Copilot <[email protected]>
Copilot-Session: f68442b1-fa8f-46a0-9689-81710613bbd4
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Thu, 20 Aug 2026 20:45:25 -0700 |
| parents | 49e9e591c9bb |
| children |
line wrap: on
line source
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.assertIn(config.device, {"cpu", "cuda"}) self.assertEqual( config.compute_type, "int8" if config.device == "cpu" else "int8_float16", ) self.assertEqual(config.partial_interval_ms, 500) self.assertEqual(config.silence_ms, 400) 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")) def test_cpu_defaults_to_int8(self): with patch.dict( os.environ, {"DICTATION_DEVICE": "cpu"}, clear=True, ): config = DictationConfig.from_environment() self.assertEqual(config.device, "cpu") self.assertEqual(config.compute_type, "int8") if __name__ == "__main__": unittest.main()