Добавлены тесты для критических фиксов (lock_check, UniqueViolation, escName, idx_one_running)
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
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
|
||||
Reference in New Issue
Block a user