import yaml from edgemind import schema from datetime import datetime def test_local_problem_from_yaml(): with open("specs/LocalProblem.example.yaml", "r") as f: data = yaml.safe_load(f) lp = schema.LocalProblem(**data) assert lp.id == "local_problem_001" assert lp.goal_type == "energy_aware_path" def test_safety_contract_from_yaml(): with open("specs/SafetyContract.example.yaml", "r") as f: data = yaml.safe_load(f) sc = schema.SafetyContract(**data) assert sc.predicate == "battery_level >= 0.10" def test_plan_delta_and_auditlog(): now = datetime.utcnow() pd = schema.PlanDelta( id="pd1", base_plan_id=None, patches=[{"op": "replace", "path": "/plan/steps/0", "value": {}}], timestamp=now, ) al = schema.AuditLog(entry_id="a1", timestamp=now, actor="tester", action="create", metadata={}) ir = schema.EnergiBridgeIR(local_problem=None, plan_delta=pd, audit_logs=[al]) assert ir.plan_delta.id == "pd1" assert ir.audit_logs[0].actor == "tester"