2024-01-15 10:30:07 +01:00

39 lines
1.0 KiB
Python

import gzip
import json
from multiprocessing import Process
from time import sleep
from kn_utils.logging import logger
from pyinfra.queue.development_queue_manager import DevelopmentQueueManager
from pyinfra.queue.queue_manager import QueueManager
class TestQueueManager:
def test_basic_functionality(self, settings):
settings.rabbitmq_heartbeat = 7200
development_queue_manager = DevelopmentQueueManager(settings)
message = {
"targetFilePath": "test/target.json.gz",
"responseFilePath": "test/response.json.gz",
}
development_queue_manager.publish_request(message)
queue_manager = QueueManager(settings)
consume = lambda: queue_manager.start_consuming(lambda x: x)
p = Process(target=consume)
p.start()
wait_time = 1
logger.info(f"Waiting {wait_time} seconds for the consumer to process the message...")
sleep(wait_time)
p.kill()
response = development_queue_manager.get_response()
print(response)