AppOrderAdd.py 3.05 KB
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/8/12 下午5:35
# @Author : 付孟奇

import unittest, requests
from config.vendorHost import vendor_host
from config.vendorPath import add_order_type_1_path
from config import vendorList
from util.generate import getTestCase
from util.log import logger
from util.HandleJson import file_read_global, file_read, file_readAPI, file_updata_global
from util.HandleTime import handle_time
from util.HandleJenkins import config


class AppOrderAdd(unittest.TestCase):
    def testFunc(self):
        '''创建纸质新契约订单'''
        data_list = getTestCase('A_api_case.xlsx', '创建订单')
        for i in range(len(data_list)):
            if config['pro'] in vendorList.add_order_type_2:
                self.getTest(data_list[i])
            else:
                logger.info('掠过此条case')

    def getTest(self, data):
        tcname = data['tc_name']
        code = int(data['code'])

        api_type = 'cl'

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

        headers = {
            'Content-Type': 'application/json',
            'X-Auth-Token': file_read_global('app_login', 'token')
        }

        payload = file_read(add_order_type_1_path)
        payload['订单基本信息']['销售渠道'] = file_read_global('channel', 'channel_name')
        payload['订单基本信息']['双录创建日期'] = handle_time.timeTimeYMD()
        payload['订单基本信息']['机构名称'] = file_read_global('app_login', 'directlyAgencyName')
        payload['订单基本信息']['投保单号'] = 'api' + handle_time.timeStamp_10()
        payload['主险信息'][0]['产品类型'] = file_read_global('product', 'productTypeName')
        payload['主险信息'][0]['产品名称'] = file_read_global('product', 'product_name')
        payload['主险信息'][0]['产品代码'] = file_read_global('product', 'product_code')
        payload['附加险信息'][0]['产品类型'] = file_read_global('product', 'productTypeName')
        payload['附加险信息'][0]['产品名称'] = file_read_global('product', 'product_name_att')
        payload['附加险信息'][0]['产品代码'] = file_read_global('product', 'product_code_att')


        logger.info('【' + tcname + '】的接口入参为:' + str(payload))

        url = vendor_host + api_type + file_readAPI(api_type, 'handAddOrderUsingPOST')
        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))
            if res['code'] == 0:
                file_updata_global('order', 'orderRecordId', res['result']['orderRecordId'])
                file_updata_global('order', 'orderId', res['result']['orderId'])
                logger.info('【' + tcname + '】的接口返回参数为:' + str(res))
            else:
                logger.info('【' + tcname + '】的接口返回参数为:' + str(res))
        else:
            logger.info(response.text)