Files
llama_deploy/e2e_tests/message_queues/rabbitmq/test_message_queue.py
T
2025-06-03 13:11:00 +02:00

40 lines
1.1 KiB
Python

import asyncio
import pytest
from llama_deploy.client import Client
from llama_deploy.types import QueueMessage
@pytest.mark.asyncio
async def test_roundtrip(mq):
async def consume():
async for m in mq.get_messages("test"):
return m
t = asyncio.create_task(consume())
await asyncio.sleep(1)
test_message = QueueMessage(type="test_message", data={"message": "this is a test"})
await mq.publish(test_message, topic="test")
result = await t
assert result == test_message
await asyncio.sleep(1)
@pytest.mark.asyncio
async def test_multiple_control_planes(control_planes):
c1 = Client(control_plane_url="http://localhost:8001")
c2 = Client(control_plane_url="http://localhost:8002")
session = await c1.core.sessions.create()
r1 = await session.run("basic", arg="Hello One!")
await c1.core.sessions.delete(session.id)
assert r1 == "Workflow one received Hello One!"
session = await c2.core.sessions.create()
r2 = await session.run("basic", arg="Hello Two!")
await c2.core.sessions.delete(session.id)
assert r2 == "Workflow two received Hello Two!"