import unittest import os from unittest.mock import patch from backend.config.settings import settings class TestValidLLMProviderSettings(unittest.TestCase): @patch.dict(os.environ, { 'GOOGLE_API_KEY': 'ivq', 'GOOGLE_MAX_TOKENS': '1200', 'OPENAI_API_KEY': 'xyz', 'OPENAI_MAX_TOKENS': '3800', 'LLM_PROVIDER': 'openai' }) def test_valid_llm_provider_settings(self): """ Test settings object provides correct config when LLM_PROVIDER is set """ # reinitialize settings instance settings.__init__() llm_config = settings.get_llm_config() self.assertEqual(llm_config['api_key'], 'xyz') self.assertEqual(llm_config['max_tokens'], 3800) class TestInvalidLLMProviderSettings(unittest.TestCase): @patch.dict(os.environ, { 'LLM_PROVIDER': 'microsoft' }) def test_invalid_llm_provider_settings(self): """ Test that improper provider config raises the right error """ # reinitialize settings instance settings.__init__() with self.assertRaisesRegex(ValueError, "Unsupported"): settings.get_llm_config()