import db.scenario_defs as defs def test_lock_check_returns_none_when_db_connection_missing(monkeypatch): monkeypatch.setattr(defs, "get_conn", lambda: None) result = defs.lock_check("cid", "test") assert result is None def test_lock_check_returns_none_on_db_exception(monkeypatch): class BrokenCursor: def execute(self, *args, **kwargs): raise RuntimeError("db broken") def close(self): return None class BrokenConn: def cursor(self): return BrokenCursor() put_calls = {"n": 0} monkeypatch.setattr(defs, "get_conn", lambda: BrokenConn()) monkeypatch.setattr(defs, "put_conn", lambda _c: put_calls.__setitem__("n", put_calls["n"] + 1)) result = defs.lock_check("cid", "test") assert result is None assert put_calls["n"] == 1