Example #1
0
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
Example #2
0
def message():
    return mayhem.PubSubMessage(message_id="1234", instance_name="mayhem_test")
Example #3
0
def message():
    return mayhem.PubSubMessage(message_id="1", instance_name="cattle-1234")