async def test_create_queue_and_consume_with_autoname(loop):
    app = BaseApplication('app', loop=loop, CONFIG='config.tests')
    qc = AsyncQueueConsumer(app)

    # mocks
    qc.create_queue = Mock(side_effect=coroutine(
        lambda _channel: "queue_name"
    ))
    qc.queue_consume = Mock(side_effect=coroutine(
        lambda _channel, queue_name, on_message_method: "consumer_tag"
    ))

    queue_name, consumer_tag = await qc.create_queue_and_consume(Mock(), lambda: None)
    assert qc.create_queue.called
    assert qc.queue_consume.called
    assert queue_name, consumer_tag == ("queue_name", "consumer_tag")
async def test_unmute_channel(loop):
    app = BaseApplication('app', loop=loop, CONFIG='config.tests')
    qc = AsyncQueueConsumer(app)

    # mocks
    service_channel = Mock(channel_id=1)
    qc.channels[service_channel.channel_id] = \
            {"mute": False, "type": "services", "channel": service_channel}
    qc.queue_consume = Mock(side_effect=coroutine(
        lambda consumer_tag, no_wait, timeout: "consumer_tag"
    ))

    await qc.unmute_channel(service_channel, Mock(), "queue_name")
    assert qc.queue_consume.called
    assert not qc.channels[service_channel.channel_id]["mute"]
    assert qc.channels[service_channel.channel_id]["consumer_tag"] == "consumer_tag"