test_config.py•1.28 kB
"""Tests for configuration management."""
from ala_mcp.config import Settings
def test_default_settings():
"""Test default settings values."""
settings = Settings()
assert settings.base_url == "https://biocache-ws.ala.org.au/ws"
assert settings.default_timeout == 30
assert settings.server_name == "ala-api-server"
assert settings.log_level == "INFO"
assert settings.api_key is None
def test_settings_from_env(monkeypatch):
"""Test settings can be overridden by environment variables."""
monkeypatch.setenv("ALA_BASE_URL", "https://custom-api.example.com")
monkeypatch.setenv("ALA_DEFAULT_TIMEOUT", "60")
monkeypatch.setenv("ALA_LOG_LEVEL", "DEBUG")
monkeypatch.setenv("ALA_API_KEY", "test-key-123")
settings = Settings()
assert settings.base_url == "https://custom-api.example.com"
assert settings.default_timeout == 60
assert settings.log_level == "DEBUG"
assert settings.api_key == "test-key-123"
def test_settings_validation():
"""Test settings validation."""
# Should accept valid timeout
settings = Settings(default_timeout=10)
assert settings.default_timeout == 10
# Should accept valid log level
settings = Settings(log_level="ERROR")
assert settings.log_level == "ERROR"