import os import tempfile import unittest from unittest import mock from hello_hut import config class ConfigTest(unittest.TestCase): def test_missing_file(self): self.assertEqual(config.load_config("/nonexistent/config.toml"), {}) def test_no_home(self): with mock.patch.dict(os.environ, {}, clear=True): self.assertIsNone(config.config_path()) @unittest.skipIf(config.tomllib is None, "needs Python 3.11+") def test_reads_name(self): with tempfile.NamedTemporaryFile("w", suffix=".toml", delete=False) as f: f.write('name = "Ada"\n') try: self.assertEqual(config.load_config(f.name), {"name": "Ada"}) finally: os.unlink(f.name)