test_configuration.py 866 B

12345678910111213141516171819202122232425262728293031
  1. import pytest
  2. from pydantic import ValidationError
  3. from app.core.config import BACKEND_ROOT, Settings
  4. def test_settings_load_environment_from_backend_directory() -> None:
  5. assert Settings.model_config["env_file"] == BACKEND_ROOT / ".env"
  6. @pytest.mark.parametrize(
  7. ("field", "value"),
  8. [
  9. ("mysql_core_database", "insurance_core"),
  10. ("mysql_agent_database", "insurance_agent"),
  11. ("mysql_analytics_database", "insurance_analytics"),
  12. ("redis_prefix", "ins:"),
  13. ],
  14. )
  15. def test_stage_one_configuration_rejects_unsafe_data_targets(
  16. field: str,
  17. value: str,
  18. ) -> None:
  19. with pytest.raises(ValidationError):
  20. Settings(
  21. app_env="test",
  22. jwt_access_secret="a" * 32,
  23. jwt_refresh_secret="b" * 32,
  24. field_encryption_key="c" * 32,
  25. **{field: value},
  26. )