ergo-agentic-langfuse-retest / tests /test_datasource_loader.py
1zero24's picture
Upload latest hosted langfuse retest snapshot
290ff9e verified
Raw
History Blame Contribute Delete
2.27 kB
"""Tests for the canonical knowledge-base loader and registry."""
from ergo_agentic.datasources import DatasourceRegistry, load_parameters
from ergo_agentic.datasources.paths import KNOWLEDGE_BASE_FILE
from ergo_agentic.domain.enums import ParameterGroup, RiskLevel, SelectionMode
def test_load_parameters():
params = load_parameters(KNOWLEDGE_BASE_FILE)
assert len(params) == 12
def test_all_groups_present():
params = load_parameters(KNOWLEDGE_BASE_FILE)
assert {p.group for p in params} == {
ParameterGroup.CHAIR,
ParameterGroup.DESK,
ParameterGroup.KEYBOARD_MOUSE,
ParameterGroup.LAPTOP,
ParameterGroup.SCREEN,
}
def test_every_parameter_has_good_option():
for p in load_parameters(KNOWLEDGE_BASE_FILE):
assert any(o.is_good_habit for o in p.options), p.parameter_text
def test_option_keys_globally_unique():
keys = [o.key for p in load_parameters(KNOWLEDGE_BASE_FILE) for o in p.options]
assert len(keys) == len(set(keys))
def test_registry_lookups():
reg = DatasourceRegistry.from_knowledge_base()
opt = reg.get_option("chair-posture-slouching")
assert opt is not None
assert opt.label == "Slouching"
assert not opt.is_good_habit
assert opt.risk_level == RiskLevel.MEDIUM
assert isinstance(opt.posture_score, int)
parent = reg.get_parameter_for_outcome("chair-posture-slouching")
assert parent is not None
assert parent.parameter_text == "Back support"
def test_get_option_metadata_returns_inlined_fields():
reg = DatasourceRegistry.from_knowledge_base()
opt = reg.get_option_metadata("chair-armRest-lowerThanElbow")
assert opt is not None
assert opt.is_good_habit
assert opt.risk_level is None
assert opt.posture_score == 15
def test_multi_select_detection():
reg = DatasourceRegistry.from_knowledge_base()
back_support = reg.get_parameter_for_outcome("chair-posture-slouching")
assert back_support is not None
assert back_support.selection_mode == SelectionMode.MULTI
def test_unknown_outcome_returns_none():
reg = DatasourceRegistry.from_knowledge_base()
assert reg.get_option("nonexistent-outcome-key") is None