YT-AI-Automation / backend /tests /test_run_manager.py
github-actions
Sync Docker Space
9b79a79
Raw
History Blame Contribute Delete
640 Bytes
import json
import sys
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[1]))
from src.core import run_manager
def test_write_json_falls_back_when_replace_is_locked(tmp_path, monkeypatch):
path = tmp_path / "run.json"
payload = {"run_id": "r1", "status": "running"}
def locked_replace(_src, _dst):
raise PermissionError("simulated Windows file lock")
monkeypatch.setattr(run_manager.os, "replace", locked_replace)
run_manager._write_json(path, payload)
assert json.loads(path.read_text(encoding="utf-8")) == payload
assert not path.with_suffix(".json.tmp").exists()