Added a configuration flag to set the target number of sections, and updated default min and max section token limits
This commit is contained in:
@@ -24,6 +24,7 @@ def test_default_config_allows_missing_api_key():
|
||||
assert config.api_key is None
|
||||
assert config.llm_concurrency == DEFAULT_LLM_CONCURRENCY
|
||||
assert config.llm_timeout_seconds == DEFAULT_LLM_TIMEOUT_SECONDS
|
||||
assert config.target_sections is None
|
||||
assert config.max_section_tokens == DEFAULT_MAX_SECTION_TOKENS
|
||||
assert config.min_section_tokens == DEFAULT_MIN_SECTION_TOKENS
|
||||
assert config.module_keys == DEFAULT_MODULE_KEYS
|
||||
@@ -83,6 +84,21 @@ def test_llm_timeout_seconds_env_is_parsed():
|
||||
assert config.llm_timeout_seconds == 120.5
|
||||
|
||||
|
||||
def test_target_sections_cli_override_takes_precedence():
|
||||
config = AuditaConfig.from_sources(
|
||||
env={"AUDITA_TARGET_SECTIONS": "2"},
|
||||
overrides=ConfigOverrides(target_sections=5),
|
||||
)
|
||||
|
||||
assert config.target_sections == 5
|
||||
|
||||
|
||||
def test_target_sections_env_is_parsed():
|
||||
config = AuditaConfig.from_sources(env={"AUDITA_TARGET_SECTIONS": "3"})
|
||||
|
||||
assert config.target_sections == 3
|
||||
|
||||
|
||||
def test_min_section_tokens_env_is_parsed():
|
||||
config = AuditaConfig.from_sources(env={"AUDITA_MIN_SECTION_TOKENS": "3000"})
|
||||
|
||||
@@ -153,6 +169,12 @@ def test_report_dict_includes_llm_timeout_seconds():
|
||||
assert config.to_report_dict()["llm_timeout_seconds"] == 321.0
|
||||
|
||||
|
||||
def test_report_dict_includes_target_sections():
|
||||
config = AuditaConfig.from_sources(env={"AUDITA_TARGET_SECTIONS": "7"})
|
||||
|
||||
assert config.to_report_dict()["target_sections"] == 7
|
||||
|
||||
|
||||
def test_threshold_overrides_take_precedence():
|
||||
config = AuditaConfig.from_sources(
|
||||
env={
|
||||
@@ -214,6 +236,12 @@ def test_invalid_llm_timeout_seconds_is_rejected(value):
|
||||
AuditaConfig.from_sources(env={"AUDITA_LLM_TIMEOUT_SECONDS": value})
|
||||
|
||||
|
||||
@pytest.mark.parametrize("value", ["0", "-1", "many"])
|
||||
def test_invalid_target_sections_is_rejected(value):
|
||||
with pytest.raises(AuditaConfigError, match="AUDITA_TARGET_SECTIONS"):
|
||||
AuditaConfig.from_sources(env={"AUDITA_TARGET_SECTIONS": value})
|
||||
|
||||
|
||||
@pytest.mark.parametrize("value", ["0", "-1", "many"])
|
||||
def test_invalid_min_section_tokens_is_rejected(value):
|
||||
with pytest.raises(AuditaConfigError, match="AUDITA_MIN_SECTION_TOKENS"):
|
||||
|
||||
Reference in New Issue
Block a user