'There is no supported way of get or creating a test user
However
- creating a test user takes around 5s
- you an only create 500 test users
So this slows your testing flow quite a bit.
This method checks your test users
Queries their names (stores the permissions in the name)'

@classmethod
def get_or_create_test_user(cls, app_access_token, name=None, permissions=None, force_create=False):

    if (not permissions):
        permissions = ['read_stream', 'publish_stream', 'publish_actions', 'user_photos,offline_access']
    if isinstance(permissions, list):
        permissions = ','.join(permissions)
    default_name = ('Permissions    %s' % permissions.replace(',', '    ').replace('_', ''))
    name = (name or default_name)
    test_users = cls.get_test_users(app_access_token)
    user_id_dict = dict([(int(u['id']), u) for u in test_users])
    user_ids = map(str, user_id_dict.keys())
    facebook = OpenFacebook(app_access_token)
    users = facebook.fql(('SELECT    uid,    name    FROM    user    WHERE    uid    in    (%s)' % ','.join(user_ids)))
    users_dict = dict([(u['name'], u['uid']) for u in users])
    user_id = users_dict.get(name)
    if (force_create and user_id):
        test_user_data = user_id_dict[user_id]
        cls.delete_test_user(test_user_data['access_token'], user_id)
        user_id = None
    if user_id:
        test_user_data = user_id_dict[user_id]
        test_user_data['name'] = name
        test_user = TestUser(test_user_data)
    else:
        test_user = cls.create_test_user(app_access_token, permissions, name)
    return test_user
