def test_user_reenable(username):
    """ test enable a user who was disabled """

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if(user == None):
        return 3

    user_id = user['id']

    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users/' + user_id + '/enabled'

    headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
    body = {
            'user': {
                'enabled': True,
            },
        }

    response, content = bt.put(endpoint, headers=headers, body=json.dumps(body));
    
    if(response['status'] != '200'):
        print "Reenable user failed!"
        return 1

    return 0
def test_create_user_by_name(username, password, tenant_name):
    """ test administrator to create a user whose name is the giving name"""
    bt = BaseTest()
    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users'
    headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}

    tenant = bt.get_tenant_by_name(tenant_name)
    user = bt.get_user_by_name(username)

    if tenant == None or user != None:
        return 3

    body = {
            'user': {
                'name': username,
                'password': password,
                'tenantId': tenant['id'],
                'email': '*****@*****.**',
                'enabled': True
            }
        }

    response, content = bt.post(endpoint, headers=headers, body=json.dumps(body))

    if(response['status'] == '200'):
        return 0
    return 1
def test_disable_user(username):
    """ test administrator to disable a ueser by giving user name """

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if(user == None):
        return 3

    user_id = user['id']

    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users/' + user_id + '/enabled'

    headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}
    body = {
            'user': {
                'enabled': False,
            },
        }

    response, content = bt.put(endpoint, headers=headers, body=json.dumps(body))    

    if(response['status'] != '200'):
        return 1

    return 0
def test_disable_user(username):
    """ test administrator to disable a ueser by giving user name """

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if (user == None):
        return 3

    user_id = user['id']

    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users/' + user_id + '/enabled'

    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    body = {
        'user': {
            'enabled': False,
        },
    }

    response, content = bt.put(endpoint,
                               headers=headers,
                               body=json.dumps(body))

    if (response['status'] != '200'):
        return 1

    return 0
예제 #5
0
def test_create_user_by_name(username, password, tenant_name):
    """ test administrator to create a user whose name is the giving name"""
    bt = BaseTest()
    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users'
    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }

    tenant = bt.get_tenant_by_name(tenant_name)
    user = bt.get_user_by_name(username)

    if tenant == None or user != None:
        return 3

    body = {
        'user': {
            'name': username,
            'password': password,
            'tenantId': tenant['id'],
            'email': '*****@*****.**',
            'enabled': True
        }
    }

    response, content = bt.post(endpoint,
                                headers=headers,
                                body=json.dumps(body))

    if (response['status'] == '200'):
        return 0
    return 1
def test_user_reenable(username):
    """ test enable a user who was disabled """

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if (user == None):
        return 3

    user_id = user['id']

    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users/' + user_id + '/enabled'

    headers = {
        'Content-Type': 'application/json',
        'Accept': 'application/json'
    }
    body = {
        'user': {
            'enabled': True,
        },
    }

    response, content = bt.put(endpoint,
                               headers=headers,
                               body=json.dumps(body))

    if (response['status'] != '200'):
        print "Reenable user failed!"
        return 1

    return 0
def change_user_password(username, password, tenant_name, newpassword):
    """ Change a user can change its password """

    bt = BaseTest()
    user = bt.get_user_by_name(username)
    if user == None:
        return 3

    headers = {'Content-Type': 'application/json', 'Accept': 'application/json'}

    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users/' + user['id']

    bt_user = BaseTest(username, password, tenant_name)
    
    post_body = {
                'user': {
                    'id': user['id'],
                    'password': newpassword,
                }
            }

    response, content = bt_user.put(endpoint, headers=headers, body=json.dumps(post_body))

    if(response['status'] != '200'):
        return 1
    return 0
def test_user_disabled_nologin(username, password, tenant_name):
    """ test a disabled user can not to login anymore """

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if(user == None):
        return 3

    try:
        bt_user = BaseTest(username, password, tenant_name)
    except exceptions.AuthenticationFailure:
        return 0

    return 1
def test_user_disabled_nologin(username, password, tenant_name):
    """ test a disabled user can not to login anymore """

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if (user == None):
        return 3

    try:
        bt_user = BaseTest(username, password, tenant_name)
    except exceptions.AuthenticationFailure:
        return 0

    return 1
def test_delete_user(username):
    """ test administrator to delete a user whose name is the giving name"""

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if (user == None):
        return 3

    user_id = user['id']

    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users/' + user_id

    response, content = bt.delete(endpoint)

    if (response['status'] == '200'):
        return 0

    return 1
def test_delete_user(username):
    """ test administrator to delete a user whose name is the giving name"""

    bt = BaseTest()
    user = bt.get_user_by_name(username)

    if(user == None):
        return 3

    user_id = user['id']

    endpoint = bt.get_service_endpoint('keystone')
    endpoint = endpoint + '/users/' + user_id

    response, content = bt.delete(endpoint)    

    if(response['status'] == '200'):
        return 0

    return 1