28 lines
789 B
Python
28 lines
789 B
Python
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from src.config import Settings
|
|
|
|
pytestmark = pytest.mark.unit
|
|
|
|
|
|
def test_settings_loads_defaults_without_env_file() -> None:
|
|
settings = Settings(_env_file=None)
|
|
|
|
assert settings.postgres.port == 5433
|
|
assert settings.minio.bucket == "chatbot-source-files"
|
|
assert settings.ingestion.max_concurrency == 4
|
|
assert settings.qdrant.url == "http://127.0.0.1:6343"
|
|
|
|
|
|
def test_settings_parses_env_example() -> None:
|
|
env_example = Path(__file__).parent.parent.parent / ".env.example"
|
|
|
|
settings = Settings(_env_file=env_example)
|
|
|
|
assert settings.postgres.host == "127.0.0.1"
|
|
assert settings.minio.endpoint == "127.0.0.1:9100"
|
|
assert settings.ingestion.embed_batch_size == 128
|
|
assert settings.qdrant.api_key is None
|