Adds tests for VeritextSettings defaults, env var overrides, and the get_logger/configure_logging functions.
59 lines
2.0 KiB
Python
59 lines
2.0 KiB
Python
"""Tests for configuration module."""
|
|
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
from veritext.core.config import VeritextSettings, get_settings
|
|
|
|
|
|
class TestVeritextSettings:
|
|
def test_default_log_level(self) -> None:
|
|
settings = VeritextSettings()
|
|
assert settings.log_level == "INFO"
|
|
|
|
def test_default_log_format(self) -> None:
|
|
settings = VeritextSettings()
|
|
assert settings.log_format == "console"
|
|
|
|
def test_default_benchmark_path(self) -> None:
|
|
settings = VeritextSettings()
|
|
assert settings.benchmark_storage_path == Path("benchmarks")
|
|
|
|
def test_default_tokeniser_lowercase(self) -> None:
|
|
settings = VeritextSettings()
|
|
assert settings.tokeniser_lowercase is True
|
|
|
|
def test_default_remove_punctuation(self) -> None:
|
|
settings = VeritextSettings()
|
|
assert settings.tokeniser_remove_punctuation is True
|
|
|
|
def test_default_semantic_model(self) -> None:
|
|
settings = VeritextSettings()
|
|
assert settings.semantic_model == "all-MiniLM-L6-v2"
|
|
|
|
def test_default_semantic_cache_enabled(self) -> None:
|
|
settings = VeritextSettings()
|
|
assert settings.semantic_cache_embeddings is True
|
|
|
|
def test_env_var_override(self, monkeypatch: pytest.MonkeyPatch) -> None:
|
|
monkeypatch.setenv("VERITEXT_LOG_LEVEL", "DEBUG")
|
|
settings = VeritextSettings()
|
|
assert settings.log_level == "DEBUG"
|
|
|
|
def test_env_var_override_log_format(self, monkeypatch: pytest.MonkeyPatch) -> None:
|
|
monkeypatch.setenv("VERITEXT_LOG_FORMAT", "json")
|
|
settings = VeritextSettings()
|
|
assert settings.log_format == "json"
|
|
|
|
|
|
class TestGetSettings:
|
|
def test_get_settings_returns_instance(self) -> None:
|
|
settings = get_settings()
|
|
assert isinstance(settings, VeritextSettings)
|
|
|
|
def test_get_settings_returns_valid_defaults(self) -> None:
|
|
settings = get_settings()
|
|
assert settings.log_level in ("DEBUG", "INFO", "WARNING", "ERROR")
|
|
assert settings.log_format in ("console", "json")
|