async def METHOD_NAME(avrae, dhttp):
    avrae.message("!alias foobar echo the arguments are &ARGS&")
    await dhttp.drain()
    # no args
    avrae.message("!foobar")
    await dhttp.receive_delete()
    await dhttp.receive_message(r".+: the arguments are \[\]")
    # 1 arg
    avrae.message("!foobar foo")
    await dhttp.receive_delete()
    await dhttp.receive_message(r".+: the arguments are \['foo'\]")
    # 2 args
    avrae.message("!foobar foo bar")
    await dhttp.receive_delete()
    await dhttp.receive_message(r".+: the arguments are \['foo', 'bar'\]")
    # 1 quoted arg
    avrae.message('!foobar "foo bar"')
    await dhttp.receive_delete()
    await dhttp.receive_message(r".+: the arguments are \['foo bar'\]")