from operator import itemgetter from typing import Iterable import pytest from pyinfra.queue.consumer import Consumer @pytest.fixture(scope="session") def consumer(queue_manager, callback): return Consumer(callback, queue_manager) @pytest.fixture(scope="session") def access_callback(): return itemgetter("fileId") @pytest.fixture() def items(): numbers = [f"{i}".encode() for i in range(3)] return pair_data_with_queue_message(numbers) def pair_data_with_queue_message(data: Iterable[bytes]): def inner(): for i, d in enumerate(data): body = { "dossierId": "folder", "fileId": f"file{i}", "targetFileExtension": "in.gz", "responseFileExtension": "out.gz", "pages": [0, 2, 3], } yield d, body return list(inner())