32 lines
857 B
Python
32 lines
857 B
Python
from typing import cast
|
|
from unittest.mock import AsyncMock
|
|
|
|
from faststream.rabbit import RabbitBroker
|
|
|
|
from app.messaging import (
|
|
DEAD_ROUTING_KEY,
|
|
PAYMENTS_ROUTING_KEY,
|
|
declare_topology,
|
|
)
|
|
|
|
|
|
async def test_declare_topology_binds_both_queues() -> None:
|
|
broker = AsyncMock()
|
|
payments_exchange = object()
|
|
dead_exchange = object()
|
|
payments_queue = AsyncMock()
|
|
dead_queue = AsyncMock()
|
|
broker.declare_exchange.side_effect = [payments_exchange, dead_exchange]
|
|
broker.declare_queue.side_effect = [payments_queue, dead_queue]
|
|
|
|
await declare_topology(cast(RabbitBroker, broker))
|
|
|
|
payments_queue.bind.assert_awaited_once_with(
|
|
payments_exchange,
|
|
routing_key=PAYMENTS_ROUTING_KEY,
|
|
)
|
|
dead_queue.bind.assert_awaited_once_with(
|
|
dead_exchange,
|
|
routing_key=DEAD_ROUTING_KEY,
|
|
)
|