async def test_Signal_register_ok(test_signal, else_signal): assert Signal.get_all()['test_signal'] is test_signal assert Signal.get_all()['else_signal'] is else_signal assert Signal.get_all()['test_signal'] == test_signal assert Signal.get_all()['else_signal'] == else_signal assert test_signal.name == 'test_signal' assert test_signal.providing_args == ['uuid'] assert not test_signal == 1
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}}')
async def test_Signal_get_fail_not_found(): with pytest.raises(SignalException): Signal.get('not_found')
async def test_Signal_get_ok(test_signal): assert Signal.get('test_signal') is test_signal
def else_signal(): return Signal(name='else_signal', providing_args=['uuid'])
def test_signal(): return Signal(name='test_signal', providing_args=['uuid'])