async def test__populate_signals(self, *, livecheck, execution): events = Mock() signal = SignalEvent( signal_name='foo', case_name=execution.case_name, key=b'k', value=b'v', ) signal2 = SignalEvent( signal_name='foo', case_name='bar', key=b'k2', value=b'v2', ) case = livecheck.cases[execution.case_name] = Mock( resolve_signal=AsyncMock(), ) livecheck.cases.pop('bar', None) # make sure 'bar' is missing async def iterate_events(): yield execution.id, signal yield execution.id, signal2 events.items.side_effect = iterate_events await livecheck._populate_signals(events) case.resolve_signal.assert_called_once_with(execution.id, signal)
async def test_send__no_test_force(self, *, signal): signal.case = Mock(app=Mock(bus=Mock(send=AsyncMock()))) await signal.send('value', key='k', force=True) signal.case.app.bus.send.coro.assert_called_once_with( key='k', value=SignalEvent( signal_name=signal.name, case_name=signal.case.name, key='k', value='value', ), )
async def test_send(self, *, signal, execution): with current_test_stack.push(execution): signal.case = Mock(app=Mock(bus=Mock(send=AsyncMock()))) await signal.send('value', key=None, force=True) signal.case.app.bus.send.coro.assert_called_once_with( key=execution.id, value=SignalEvent( signal_name=signal.name, case_name=signal.case.name, key=execution.id, value='value', ), )