Files
ecm_sync_system/tests/unit/test_validate_config_strictness.py
T
strepsiades 4a9c444b10 first commit
2026-03-09 16:31:42 +08:00

34 lines
746 B
Python

from __future__ import annotations
from pathlib import Path
from tools.validate_config import validate_config
REPO_ROOT = Path(__file__).resolve().parents[2]
def test_validate_config_rejects_missing_required_keys(tmp_path: Path) -> None:
invalid_cfg = tmp_path / "invalid.yaml"
invalid_cfg.write_text(
"""
meta:
version: 1
context: {}
states:
S00:
action: NONE
status: PENDING
desc: missing binding_status
stages: {}
transitions: {}
invariants: {}
""".strip(),
encoding="utf-8",
)
problems, _ = validate_config(invalid_cfg)
errors = [p for p in problems if p.level == "ERROR"]
assert errors
assert any("binding_status" in p.message or "binding_status" in p.path for p in errors)