async def test_Bus_handle_signal_ok(bus): some_signal = Signal(name='some_signal', providing_args=[]) receiver = Receiver(agent=None, handler=Handler(), signal=some_signal, timeout=60) bus.receivers[some_signal.name] = [receiver] bus.broadcast = AsyncMock() await bus.handle_signal(some_signal, 'test', None, {}) bus.broadcast.assert_called_with(receiver, some_signal, 'test', {})
async def test_Bus_handle_signal_ok_response(bus): uid = str(uuid.uuid4().hex) some_signal = Signal(name='some_signal', providing_args=[]) handler = Handler(**{'__qualname__': 'qname'}) receiver = Receiver(agent=None, handler=handler, signal=some_signal, timeout=60) bus.receivers[some_signal.name] = [receiver] bus.broadcast = AsyncMock(return_value=42) bus.send = AsyncMock() await bus.handle_signal(some_signal, 'test', uid, {}) bus.broadcast.assert_called_with(receiver, some_signal, 'test', {}) bus.send.assert_called_with(f'{bus.prefix}:response:{bus.uid}#{uid}', f'{{"{receiver.key}":42}}')
def else_signal(): return Signal(name='else_signal', providing_args=['uuid'])
def test_signal(): return Signal(name='test_signal', providing_args=['uuid'])