WebProductCreat.py 2.54 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 WebProductCreat(unittest.TestCase):

    def testFunc(self):
        '''创建产品'''
        data_list = getTestCase('WEB_api_case.xlsx', '创建产品')
        for i in range(len(data_list)):
            product_name = data_list[i]['productName']
            product_id = db_sql.select_product(product_name)
            if product_id is not None:
                db_sql.delete_product(product_name)
            self.getTest(data_list[i])

    def getTest(self, data):
        tc_ame = data['tc_name']
        code = int(data['code'])
        productName = data['productName']
        productCode = data['productCode']
        insuranceType = data['insuranceType']

        api_type = 're'

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

        headers = {
            'Content-Type': 'application/json',
            'X-Auth-Token': file_read_global('web_login', 'token')
        }
        payload = {"productName": productName,
                   "productTypeId": file_read_global('product', 'productTypeId'),
                   "productCode": productCode,
                   "insuranceType": insuranceType,
                   "additionalAttributes": [],
                   "checkedChannelArr": [file_read_global('channel', 'channel_code')]}
        logger.info('【' + tc_ame + '】的接口入参为:' + str(payload))

        url = vendor_host + api_type + file_readAPI(api_type, 'createProductUsingPOST')
        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))
            logger.info('【' + tc_ame + '】的接口返回参数为:' + str(res))
            if insuranceType == '1':
                file_updata_global('product', 'product_name', productName)
                file_updata_global('product', 'product_code', productCode)
            elif insuranceType == '2':
                file_updata_global('product', 'product_name_att', productName)
                file_updata_global('product', 'product_code_att', productCode)
        else:
            logger.info(response.text)