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
Exemplo n.º 2
0
def test_nova_change_quota_by_tenantname(tenant_name, key, value):
    """ test to change quotas of a tenant with a key and value """

    support_keys = ('metadata_items', 'injected_file_content_bytes', 'injected_files', 'gigabytes', 'ram',
                    'floating_ips',   'security_group_rules',        'instances',      'volumes',   'cores',
                    'id',             'security_groups')

    if key not in support_keys:
        return 2

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

    bt = BaseTest()
    endpoint = bt.get_service_endpoint('nova')
    tenant = bt.get_tenant_by_name(tenant_name)

    body = {
        'quota_set': {
            key: value
        }
    }

    endpoint = endpoint + '/os-quota-sets/' + tenant['id']
    #response, content = bt.get(endpoint)
    
    response, content = bt.put(endpoint, 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
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