"""Startup validation errors must not print configuration credentials.""" import pytest from pydantic import ValidationError from app.config import Settings def test_incomplete_max_configuration_does_not_expose_token(): with pytest.raises(ValidationError) as error: Settings(_env_file=None, max_enabled=True, max_bot_token="SYNTHETIC_SECRET") message = str(error.value) assert "MAX_BOT_USERNAME" in message assert "SYNTHETIC_SECRET" not in message and "input_value" not in message def test_invalid_field_does_not_expose_accidentally_pasted_secret(): with pytest.raises(ValidationError) as error: Settings(_env_file=None, max_enabled="SYNTHETIC_SECRET") assert "max_enabled" in str(error.value) assert "SYNTHETIC_SECRET" not in str(error.value)