dataloader/tests/unit/test_workers_reaper.py

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()