async def test_publish(mock_put, mock_queue, mock_sleep, mocker, mock_uuid, mock_choices, caplog): with pytest.raises(RuntimeError): # exhausted mock_uuid list await mayhem.publish(mock_queue) exp_mock_put_calls = [ mocker.call( mayhem.PubSubMessage(message_id="1", instance_name="cattle-1234")), mocker.call( mayhem.PubSubMessage(message_id="2", instance_name="cattle-5678")), mocker.call( mayhem.PubSubMessage(message_id="3", instance_name="cattle-9876")), ] ret_tasks = [ t for t in asyncio.all_tasks() if t is not asyncio.current_task() ] assert 3 == len(ret_tasks) assert 3 == len(caplog.records) mock_put.assert_not_called() await asyncio.gather(*ret_tasks) assert exp_mock_put_calls == mock_put.call_args_list
def message(): return mayhem.PubSubMessage(message_id="1234", instance_name="mayhem_test")
def message(): return mayhem.PubSubMessage(message_id="1", instance_name="cattle-1234")