fix(avatar): prevent takeover replies blocking across chats
This commit is contained in:
@@ -25,7 +25,8 @@ def test_scheduler_uses_boxim_and_restart_safe_service(
|
||||
boxim = MagicMock()
|
||||
mock_boxim_class.return_value = boxim
|
||||
takeover = MagicMock()
|
||||
takeover.poll_and_process_messages = AsyncMock()
|
||||
takeover.poll_messages = AsyncMock()
|
||||
takeover.process_reply_tasks = AsyncMock()
|
||||
mock_takeover_class.return_value = takeover
|
||||
|
||||
environment = {
|
||||
@@ -46,14 +47,18 @@ def test_scheduler_uses_boxim_and_restart_safe_service(
|
||||
assert config["BOXIM_API_BASE_URL"] == "https://im.example/api"
|
||||
mock_takeover_class.assert_called_once_with(main.SessionLocal, boxim)
|
||||
|
||||
scheduler.add_job.assert_called_once()
|
||||
scheduled_callable = scheduler.add_job.call_args.args[0]
|
||||
job_options = scheduler.add_job.call_args.kwargs
|
||||
assert scheduled_callable is takeover.poll_and_process_messages
|
||||
assert job_options["id"] == "takeover_message_poll"
|
||||
assert job_options["trigger"].interval.total_seconds() == 1
|
||||
assert job_options["max_instances"] == 1
|
||||
assert job_options["coalesce"] is True
|
||||
assert scheduler.add_job.call_count == 2
|
||||
poll_call, process_call = scheduler.add_job.call_args_list
|
||||
assert poll_call.args[0] is takeover.poll_messages
|
||||
assert poll_call.kwargs["id"] == "takeover_message_poll"
|
||||
assert poll_call.kwargs["trigger"].interval.total_seconds() == 1
|
||||
assert poll_call.kwargs["max_instances"] == 1
|
||||
assert poll_call.kwargs["coalesce"] is True
|
||||
assert process_call.args[0] is takeover.process_reply_tasks
|
||||
assert process_call.kwargs["id"] == "takeover_reply_process"
|
||||
assert process_call.kwargs["trigger"].interval.total_seconds() == 0.5
|
||||
assert process_call.kwargs["max_instances"] == 1
|
||||
assert process_call.kwargs["coalesce"] is True
|
||||
scheduler.start.assert_called_once_with()
|
||||
|
||||
main.takeover_scheduler = None
|
||||
|
||||
Reference in New Issue
Block a user