Example #1
0
    def _check_role_permission_validate_multiple(self,user_id,user_role,bucket_name,final_user_role,no_bucket_access=None,no_access_bucket_name=None):
        failure_list = []
        result = True
        user_details = user_id.split(":")
        final_roles = self._return_roles(user_role)
        payload = "name=" + user_details[0] + "&roles=" + final_roles
        rbacmain(self.master_ip,self.auth_type)._set_user_roles(user_name=user_details[0],payload=payload)

        master, expected, expected_neg = rbacRoles()._return_permission_set(final_user_role)        

        if no_bucket_access:
            temp_dict =  expected_neg['permissionSet']
            bucket_name = no_access_bucket_name
        else:
            temp_dict =  expected['permissionSet']

        for permission in temp_dict.iterkeys():
            if "[<bucket_name>]" in permission:
                new_key = permission.replace("<bucket_name>",bucket_name)
                temp_dict[new_key] = temp_dict.pop(permission)
        permission_set = master['permissionSet'].split(',')
        for idx, permission in enumerate(permission_set):
            if "[<bucket_name>]" in permission:
                permission = permission.replace("<bucket_name>",bucket_name)
                permission_set[idx] = permission
        permission_str = ','.join(permission_set)
        status, content, header = rbacmain(self.master_ip)._check_user_permission(user_details[0],user_details[1],permission_str)
        content = json.loads(content)   
        log.info ("Value of content is {0}".format(content))
        for item in temp_dict.iterkeys():
            if temp_dict[item] != content[item]:
                log.info ("Item is {0} -- Expected Value is - {1} and Actual Value is {2}".format(item,temp_dict[item],content[item]))
                result = False
        return result
Example #2
0
    def _check_role_permission_validate_multiple(self,user_id,user_role,bucket_name,final_user_role,no_bucket_access=None,no_access_bucket_name=None):
        failure_list = []
        result = True
        user_details = user_id.split(":")
        final_roles = self._return_roles(user_role)
        payload = "name=" + user_details[0] + "&roles=" + final_roles
        status, content, header =  rbacmain(self.master_ip)._set_user_roles(user_name=user_details[0],payload=payload)
        master, expected, expected_neg = rbacRoles()._return_permission_set(final_user_role)

        if no_bucket_access:
            temp_dict =  expected_neg['permissionSet']
            bucket_name = no_access_bucket_name
        else:
            temp_dict =  expected['permissionSet']

        for permission in temp_dict.iterkeys():
            if "[<bucket_name>]" in permission:
                new_key = permission.replace("<bucket_name>",bucket_name)
                temp_dict[new_key] = temp_dict.pop(permission)
        permission_set = master['permissionSet'].split(',')
        for idx, permission in enumerate(permission_set):
            if "[<bucket_name>]" in permission:
                permission = permission.replace("<bucket_name>",bucket_name)
                permission_set[idx] = permission
        permission_str = ','.join(permission_set)
        status, content, header = rbacmain(self.master_ip)._check_user_permission(user_details[0],user_details[1],permission_str)
        content = json.loads(content)
        log.info ("Value of content is {0}".format(content))
        for item in temp_dict.iterkeys():
            if temp_dict[item] != content[item]:
                log.info ("Item is {0} -- Expected Value is - {1} and Actual Value is {2}".format(item,temp_dict[item],content[item]))
                result = False
        return result
Example #3
0
    def _check_role_permission_validate_multiple_rest_api(
            self,
            user_id,
            user_role,
            bucket_name,
            final_user_role,
            no_bucket_access=None,
            no_access_bucket_name=None):
        final_result = True
        user_details = user_id.split(":")
        final_roles = self._return_roles(user_role)
        payload = "name=" + user_details[0] + "&roles=" + final_roles
        status, content, header = rbacmain(self.master_ip,
                                           self.auth_type)._set_user_roles(
                                               user_name=user_details[0],
                                               payload=payload)
        master, expected, expected_neg = rbacRoles()._return_permission_set(
            final_user_role)

        if no_bucket_access:
            temp_dict = expected_neg['permissionSet']
            bucket_name = no_access_bucket_name
        else:
            temp_dict = expected['permissionSet']

        f = open(user_role, 'w')
        f.close()

        for key, value in temp_dict.iteritems():
            temp_str = str(key) + ":" + str(value)
            result = self.test_perm_rest_api(temp_str, user_details[0],
                                             'password', user_role)

        with open(user_role, "r") as ins:
            log.info(" -------- FINAL RESULT for role - {0} ---------".format(
                user_role))
            array = []
            for line in ins:
                array.append(line)
                log.info(line)
            log.info("----------END FINAL RESULT ------------")

        for item in array:
            json_acceptable_string = item.replace("'", "\"")
            item = json.loads(json_acceptable_string)
            if item['final_result'] == 'False':
                final_result = False

        return final_result
Example #4
0
    def _check_role_permission_validate_multiple_rest_api(self,user_id,user_role,bucket_name,final_user_role,no_bucket_access=None,no_access_bucket_name=None):
        final_result = True
        user_details = user_id.split(":")
        final_roles = self._return_roles(user_role)
        payload = "name=" + user_details[0] + "&roles=" + final_roles
        status, content, header =  rbacmain(self.master_ip)._set_user_roles(user_name=user_details[0],payload=payload)
        master, expected, expected_neg = rbacRoles()._return_permission_set(final_user_role)


        if no_bucket_access:
            temp_dict =  expected_neg['permissionSet']
            bucket_name = no_access_bucket_name
        else:
            temp_dict =  expected['permissionSet']

        f = open(user_role,'w')
        f.close()

        for key,value in temp_dict.iteritems():
            temp_str = str(key) + ":" + str(value)
            result = self.test_perm_rest_api(temp_str,user_details[0],'password',user_role)

        with open(user_role, "r") as ins:
            log.info(" -------- FINAL RESULT for role - {0} ---------".format(user_role))
            array = []
            for line in ins:
                array.append(line)
                log.info(line)
            log.info("----------END FINAL RESULT ------------")

        for item in array:
            json_acceptable_string = item.replace("'", "\"")
            item = json.loads(json_acceptable_string)
            if item['final_result'] == 'False':
                final_result = False

        return final_result