Completed the MVP for the new Audita refactor
This commit is contained in:
@@ -3,6 +3,8 @@ import pytest
|
||||
from audita.core.config import (
|
||||
AuditaConfig,
|
||||
ConfigOverrides,
|
||||
DEFAULT_GLOSSARY_CONFIDENCE_THRESHOLD,
|
||||
DEFAULT_HOMOPHONES_CONFIDENCE_THRESHOLD,
|
||||
DEFAULT_NORMALIZE_MAX_SEGMENT_GAP,
|
||||
DEFAULT_WORK_DIR_RETENTION,
|
||||
)
|
||||
@@ -13,6 +15,8 @@ def test_default_config_allows_missing_api_key():
|
||||
config = AuditaConfig.from_sources(env={})
|
||||
|
||||
assert config.api_key is None
|
||||
assert config.glossary_confidence_threshold == DEFAULT_GLOSSARY_CONFIDENCE_THRESHOLD
|
||||
assert config.homophones_confidence_threshold == DEFAULT_HOMOPHONES_CONFIDENCE_THRESHOLD
|
||||
assert config.normalize_max_segment_gap == DEFAULT_NORMALIZE_MAX_SEGMENT_GAP
|
||||
assert config.work_dir_retention == DEFAULT_WORK_DIR_RETENTION
|
||||
|
||||
@@ -29,3 +33,31 @@ def test_cli_overrides_take_precedence():
|
||||
def test_invalid_work_dir_retention_is_rejected():
|
||||
with pytest.raises(AuditaConfigError):
|
||||
AuditaConfig.from_sources(env={"AUDITA_WORK_DIR_RETENTION": "sometimes"})
|
||||
|
||||
|
||||
def test_threshold_overrides_take_precedence():
|
||||
config = AuditaConfig.from_sources(
|
||||
env={
|
||||
"AUDITA_GLOSSARY_CONFIDENCE_THRESHOLD": "0.6",
|
||||
"AUDITA_HOMOPHONES_CONFIDENCE_THRESHOLD": "0.7",
|
||||
},
|
||||
overrides=ConfigOverrides(
|
||||
glossary_confidence_threshold=0.85,
|
||||
homophones_confidence_threshold=0.9,
|
||||
),
|
||||
)
|
||||
|
||||
assert config.glossary_confidence_threshold == 0.85
|
||||
assert config.homophones_confidence_threshold == 0.9
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"env_name",
|
||||
[
|
||||
"AUDITA_GLOSSARY_CONFIDENCE_THRESHOLD",
|
||||
"AUDITA_HOMOPHONES_CONFIDENCE_THRESHOLD",
|
||||
],
|
||||
)
|
||||
def test_invalid_thresholds_are_rejected(env_name):
|
||||
with pytest.raises(AuditaConfigError):
|
||||
AuditaConfig.from_sources(env={env_name: "1.5"})
|
||||
|
||||
Reference in New Issue
Block a user