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

    # mocks
    service_channel = Mock(channel_id=1)
    qc.make_channel = Mock(side_effect=coroutine(lambda _type: service_channel))
    qc.channels[service_channel.channel_id] = {
        "mute": False, "type": "services", "channel": service_channel
    }
    qc.create_queue_and_consume = Mock(side_effect=coroutine(
        lambda channel, on_message_method, queue_name: ("queue_name", "consumer_tag")
    ))

    queue_name = await qc.start_consuming_for_commands()
    assert qc.create_queue_and_consume.called
    assert queue_name == "queue_name"
    assert qc.channels[service_channel.channel_id]["consumer_tag"] == "consumer_tag"
async def test_start_consuming_for_platforms(loop):
    app = BaseApplication('app', loop=loop, CONFIG='config.tests')
    app.platforms = {"ubuntu-14.04-x64": 1}
    qc = AsyncQueueConsumer(app)

    # mocks
    platform_channel = Mock(channel_id=1)
    qc.make_channel = Mock(side_effect=coroutine(lambda _type: platform_channel))
    qc.channels[platform_channel.channel_id] = {
        "mute": False, "type": "platforms", "channel": platform_channel
    }
    qc.create_queue_and_consume = Mock(side_effect=coroutine(
        lambda channel, on_message_method, queue_name: ("queue_name", "consumer_tag")
    ))

    await qc.start_consuming_for_platforms()
    assert qc.create_queue_and_consume.called
    assert qc.channels[platform_channel.channel_id]["consumer_tag"] == "consumer_tag"
    assert qc.channels[platform_channel.channel_id]["platform"] == "ubuntu-14.04-x64"