test_config.py 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. """
  2. 配置模块测试
  3. """
  4. import pytest
  5. import os
  6. from unittest.mock import patch
  7. from src.config.settings import Settings
  8. class TestSettings:
  9. """测试配置类"""
  10. def test_default_settings(self):
  11. """测试默认配置"""
  12. settings = Settings()
  13. assert settings.app_name == "AI_Architecture"
  14. assert settings.app_version == "1.0.0"
  15. assert settings.debug is False
  16. assert settings.log_level == "INFO"
  17. assert settings.cache_enabled is True
  18. assert settings.max_tokens == 4000
  19. assert settings.temperature == 0.7
  20. def test_environment_variables(self):
  21. """测试环境变量配置"""
  22. with patch.dict(os.environ, {
  23. "OPENAI_API_KEY": "test_key",
  24. "LOG_LEVEL": "DEBUG",
  25. "CACHE_ENABLED": "false"
  26. }):
  27. settings = Settings()
  28. assert settings.openai_api_key == "test_key"
  29. assert settings.log_level == "DEBUG"
  30. assert settings.cache_enabled is False
  31. def test_validation(self):
  32. """测试配置验证"""
  33. settings = Settings()
  34. # 测试数值类型
  35. assert isinstance(settings.max_tokens, int)
  36. assert isinstance(settings.temperature, float)
  37. assert isinstance(settings.cache_ttl, int)
  38. # 测试布尔类型
  39. assert isinstance(settings.debug, bool)
  40. assert isinstance(settings.cache_enabled, bool)