"""Tests for config validation.""" import pytest from pydantic import ValidationError from shared.config import Settings class TestConfigValidation: def test_valid_defaults(self): settings = Settings() assert settings.risk_max_position_size == 0.1 def test_invalid_position_size(self): with pytest.raises(ValidationError, match="risk_max_position_size"): Settings(risk_max_position_size=-0.1) def test_invalid_health_port(self): with pytest.raises(ValidationError, match="health_port"): Settings(health_port=80) def test_invalid_log_level(self): with pytest.raises(ValidationError, match="log_level"): Settings(log_level="INVALID") def test_secret_fields_masked(self): settings = Settings(alpaca_api_key="my-secret-key") assert "my-secret-key" not in repr(settings) assert settings.alpaca_api_key.get_secret_value() == "my-secret-key"