from __future__ import annotations from backend.app.core.config import Settings def test_external_service_env_overrides_are_supported_and_sanitized() -> None: settings = Settings( _env_file=None, chroma_url="https://chroma.example.test:443", neo4j_uri="neo4j+s://graph.example.test:7687", neo4j_username="neo4j", neo4j_password="not-for-logs", redis_url="rediss://:redis-secret@redis.example.test:6380/0", ) diagnostics = settings.infrastructure_diagnostics() assert diagnostics["chroma_mode"] == "external" assert diagnostics["neo4j_mode"] == "external" assert diagnostics["redis_mode"] == "external" assert diagnostics["chroma_endpoint"] == "https://chroma.example.test:443" assert "not-for-logs" not in str(diagnostics) assert "redis-secret" not in str(diagnostics) def test_local_defaults_do_not_hardcode_database_passwords() -> None: settings = Settings(_env_file=None) assert settings.neo4j_password == "" diagnostics = settings.infrastructure_diagnostics() assert diagnostics["chroma_mode"] == "local" assert diagnostics["neo4j_mode"] == "local" assert diagnostics["redis_mode"] == "local" def test_ollama_cloud_key_ignores_bind_address_as_client_host() -> None: settings = Settings( _env_file=None, ollama_host="0.0.0.0", ollama_api_key="present-for-test", ) assert settings.resolved_ollama_host == "https://ollama.com" def test_ollama_local_bind_address_resolves_to_loopback_client_host() -> None: settings = Settings( _env_file=None, ollama_host="0.0.0.0", ollama_api_key="", ) assert settings.resolved_ollama_host == "http://127.0.0.1:11434"