28 lines
822 B
Python
28 lines
822 B
Python
from __future__ import annotations
|
|
|
|
from unittest.mock import AsyncMock, Mock, patch
|
|
|
|
import pytest
|
|
|
|
from dataloader.workers.reaper import requeue_lost
|
|
|
|
|
|
@pytest.mark.unit
|
|
@pytest.mark.asyncio
|
|
async def test_requeue_lost_calls_repository_and_returns_ids():
|
|
"""
|
|
Проверяет, что requeue_lost вызывает QueueRepository.requeue_lost и возвращает результат.
|
|
"""
|
|
fake_session = Mock()
|
|
|
|
with patch("dataloader.workers.reaper.QueueRepository") as repo_cls:
|
|
repo = Mock()
|
|
repo.requeue_lost = AsyncMock(return_value=["id1", "id2"])
|
|
repo_cls.return_value = repo
|
|
|
|
res = await requeue_lost(fake_session)
|
|
|
|
assert res == ["id1", "id2"]
|
|
repo_cls.assert_called_once_with(fake_session)
|
|
repo.requeue_lost.assert_awaited_once()
|