import os import tempfile import unittest from pathlib import Path from unittest.mock import patch from training_coach.env import load_local_env class EnvTests(unittest.TestCase): def test_load_local_env_sets_missing_values_without_overriding_existing(self): with tempfile.TemporaryDirectory() as temp_dir: env_path = Path(temp_dir) / ".env" env_path.write_text( "\n".join( [ "# comment", "PARSER_BACKEND=llama_cpp", "OLLAMA_MODEL='qwen3:1.7B'", "EXISTING=value-from-file", ] ) ) with patch.dict(os.environ, {"EXISTING": "value-from-env"}, clear=True): load_local_env(env_path) self.assertEqual(os.environ["PARSER_BACKEND"], "llama_cpp") self.assertEqual(os.environ["OLLAMA_MODEL"], "qwen3:1.7B") self.assertEqual(os.environ["EXISTING"], "value-from-env") if __name__ == "__main__": unittest.main()