refactor: centralize settings and application services
This commit is contained in:
@@ -5,6 +5,35 @@ from unittest.mock import patch
|
||||
from assistant_bot import config
|
||||
|
||||
|
||||
class AppSettingsTests(unittest.TestCase):
|
||||
def test_loads_complete_startup_configuration_once(self) -> None:
|
||||
environment = {
|
||||
config.TOKEN_ENV_NAME: "token",
|
||||
config.PASSWORD_ENV_NAME: "secret",
|
||||
config.MODE_ENV_NAME: "local",
|
||||
config.DB_ENV_NAME: "data/test.sqlite3",
|
||||
config.TIMEZONE_ENV_NAME: "UTC",
|
||||
config.WHISPER_LANGUAGE_ENV_NAME: "auto",
|
||||
}
|
||||
with patch(
|
||||
"assistant_bot.config.load_env_file"
|
||||
) as load_env_file, patch.dict(
|
||||
os.environ,
|
||||
environment,
|
||||
clear=True,
|
||||
):
|
||||
settings = config.load_app_settings()
|
||||
|
||||
load_env_file.assert_called_once_with()
|
||||
self.assertEqual(settings.bot_token, "token")
|
||||
self.assertEqual(settings.assistant_password, "secret")
|
||||
self.assertEqual(settings.mode, "local")
|
||||
self.assertEqual(settings.db_path, config.PROJECT_ROOT / "data/test.sqlite3")
|
||||
self.assertEqual(settings.timezone.key, "UTC")
|
||||
self.assertIsNone(settings.whisper_language)
|
||||
self.assertIsNone(settings.yandex_cloud_folder)
|
||||
|
||||
|
||||
class WhisperConfigTests(unittest.TestCase):
|
||||
def test_gpu_int8_defaults(self) -> None:
|
||||
variable_names = (
|
||||
|
||||
Reference in New Issue
Block a user