mirror of
https://github.com/open-telemetry/opentelemetry-python-contrib.git
synced 2025-07-30 13:43:03 +08:00
40 lines
963 B
Python
40 lines
963 B
Python
from confluent_kafka import Consumer
|
|
|
|
|
|
class MockConsumer(Consumer):
|
|
def __init__(self, queue, config):
|
|
self._queue = queue
|
|
super().__init__(config)
|
|
|
|
def consume(
|
|
self, num_messages=1, *args, **kwargs
|
|
): # pylint: disable=keyword-arg-before-vararg
|
|
messages = self._queue[:num_messages]
|
|
self._queue = self._queue[num_messages:]
|
|
return messages
|
|
|
|
def poll(self, timeout=None):
|
|
if len(self._queue) > 0:
|
|
return self._queue.pop(0)
|
|
return None
|
|
|
|
|
|
class MockedMessage:
|
|
def __init__(self, topic: str, partition: int, offset: int, headers):
|
|
self._topic = topic
|
|
self._partition = partition
|
|
self._offset = offset
|
|
self._headers = headers
|
|
|
|
def topic(self):
|
|
return self._topic
|
|
|
|
def partition(self):
|
|
return self._partition
|
|
|
|
def offset(self):
|
|
return self._offset
|
|
|
|
def headers(self):
|
|
return self._headers
|