tests/test_config.py
Rama main · réplica de lectura del repositorio original.
"""Tests for YAML config loaders."""
from jobd.config import (
load_classifier_rules,
load_profiles,
load_projects,
resolve_priority,
resolve_profile,
)
def test_load_projects(sample_projects_yaml):
projects = load_projects(sample_projects_yaml)
assert projects["project-b"].priority == 80
assert projects["project-a"].priority == 55
assert projects["_default"].priority == 40
def test_load_profiles(sample_profiles_yaml):
profiles = load_profiles(sample_profiles_yaml)
assert profiles["small"].fast_path is True
assert profiles["gpu-heavy"].vram_gb == 28
assert profiles["gpu-heavy"].preemptible is True
def test_load_classifier_rules(sample_classifier_yaml):
rules = load_classifier_rules(sample_classifier_yaml)
assert len(rules) == 1
assert rules[0].id == "sdxl-lora-train"
assert rules[0].confidence == "high"
def test_resolve_priority_known_project(sample_projects_yaml):
projects = load_projects(sample_projects_yaml)
assert resolve_priority(projects, "project-b", delta=0) == 80
assert resolve_priority(projects, "project-b", delta=5) == 85
assert resolve_priority(projects, "project-b", delta=-15) == 65
def test_resolve_priority_unknown_falls_to_default(sample_projects_yaml):
projects = load_projects(sample_projects_yaml)
assert resolve_priority(projects, "unknown-project", delta=0) == 40
def test_resolve_priority_clamps(sample_projects_yaml):
projects = load_projects(sample_projects_yaml)
assert resolve_priority(projects, "project-b", delta=50) == 100
assert resolve_priority(projects, "project-b", delta=-500) == 0
def test_resolve_profile(sample_profiles_yaml):
profiles = load_profiles(sample_profiles_yaml)
p = resolve_profile(profiles, "gpu-heavy")
assert p.vram_gb == 28
assert p.preemptible is True
def test_resolve_profile_unknown_returns_none(sample_profiles_yaml):
profiles = load_profiles(sample_profiles_yaml)
assert resolve_profile(profiles, "does-not-exist") is None