WebQualityAuditProportionConfigRuleAdd.py 2.61 KB
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/8/13 下午3:55
# @Author : 付孟奇

import unittest, requests
from config.vendorHost import vendor_host
from util.generate import getTestCase
from util.log import logger
from util.HandleJson import file_readAPI
from util.HandleJson import file_read_global, file_updata_global
from util.HandleSql import db_sql


class WebQualityAuditProportionConfigRuleAdd(unittest.TestCase):

    def testFunc(self):
        '''质检比列列表:新增规则'''
        data_list = getTestCase('WEB_api_case.xlsx', '新增质检比例')
        for i in range(len(data_list)):
            self.getTest(data_list[i])

    def getTest(self, data):
        tcname = data['tc_name']
        code = int(data['code'])
        ruleName = data['ruleName']
        proportion = int(data['proportion'])
        channle = file_read_global('channel', 'channel_name')
        age_id = file_read_global('age', '60岁以下')
        age = db_sql.select_age_value(age_id)
        productType = file_read_global('product', 'productTypeId')
        branchId = file_read_global('organization', 'branchId')
        subBranchId = file_read_global('organization', 'subBranchId')

        api_type = 'qa'

        logger.info('********************【' + tcname + '】接口测试开始!' + '********************')

        headers = {
            'Content-Type': 'application/json',
            'X-Auth-Token': file_read_global('web_login', 'token')
        }
        payload = {
            "ruleName": ruleName,
            "proportion": proportion,
            "checkedChannelArr": [channle],
            "checkedAgeArr": [age],
            "checkedProductTypeArr": [productType],
            "ai": [],
            "reviewProportion": 100,
            "checkedProvinceArr": [branchId],
            "checkedCityArr": [subBranchId],
            "checkedPeriodArr": [],
            "checkedSystemTypeArr": [],
            "checkedOrderTypeArr": [],
            "samplingPeriod": "0",
            "checkedSubCompanyArr": [subBranchId]
        }
        logger.info('【' + tcname + '】的接口入参为:' + str(payload))

        url = vendor_host + api_type + file_readAPI(api_type, 'addProportionRuleUsingPOST')
        response = requests.request('POST', url, headers=headers, json=payload)

        if response.status_code is 200:
            res = response.json()
            self.assertEqual(res['code'], code, msg=str(res))
            file_updata_global('proportion', 'role_name', ruleName)
            logger.info('【' + tcname + '】的接口返回参数为:' + str(res))
        else:
            logger.info(response.text)