refactor: simplify lock processing in worker trigger

This commit is contained in:
2024-01-05 16:11:32 +02:00
parent 7e5f21c26d
commit 706808fc97
2 changed files with 13 additions and 21 deletions

View File

@ -1,8 +1,6 @@
from pytest_mock import MockerFixture
from threading import Timer
from pytest_mock import MockerFixture
from ahriman.core.configuration import Configuration
from ahriman.core.distributed import WorkerTrigger
@ -11,10 +9,8 @@ def test_create_timer(worker_trigger: WorkerTrigger) -> None:
must create a timer and put it to queue
"""
worker_trigger.create_timer()
timer = worker_trigger._timers.popleft()
assert timer.function == worker_trigger.ping
timer.cancel()
assert worker_trigger._timer.function == worker_trigger.ping
worker_trigger._timer.cancel()
def test_on_start(worker_trigger: WorkerTrigger, mocker: MockerFixture) -> None:
@ -31,7 +27,7 @@ def test_on_stop(worker_trigger: WorkerTrigger, mocker: MockerFixture) -> None:
must unregister itself as worker
"""
run_mock = mocker.patch("threading.Timer.cancel")
worker_trigger._timers.append(Timer(1, print)) # doesn't matter
worker_trigger._timer = Timer(1, print) # doesn't matter
worker_trigger.on_stop()
run_mock.assert_called_once_with()
@ -50,7 +46,7 @@ def test_ping(worker_trigger: WorkerTrigger, mocker: MockerFixture) -> None:
"""
run_mock = mocker.patch("ahriman.core.distributed.WorkerTrigger.register")
timer_mock = mocker.patch("threading.Timer.start")
worker_trigger._timers.append(Timer(1, print)) # doesn't matter
worker_trigger._timer = Timer(1, print) # doesn't matter
worker_trigger.ping()
run_mock.assert_called_once_with()