AppOrderSubmit.py 2.54 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 order_mp4_path, order_zip_path
from util.generate import getTestCase
from util.log import logger
from util.HandleJson import file_read_global, file_readAPI
import warnings


class AppOrderSubmit(unittest.TestCase):
    def testFunc(self):
        '''订单视频提交'''
        warnings.simplefilter('ignore', ResourceWarning)
        data_list = getTestCase('A_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'])

        api_type = 're'

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

        headers = {
            'X-Auth-Token': file_read_global('app_login', 'token'),
        }

        # multipart_encoder = MultipartEncoder(
        #     fields={
        #         "videoUrl": "public-staging-bucket/metlife/video/20210818/12a3cbc1f9d44f269bb9421bb2076a3e.mp4",
        #         "jsonData": ("json.txt", open(order_mp4_path, 'rb'), "video/mp4"),
        #         'imageData': ("images.zip", open(order_zip_path, 'rb'), "application/zip")
        #     },
        #     # 自定义分隔符
        #     boundary='wfWiEWrgEFA9A78512weF7106A'
        # )
        #
        # # 后给Content-Type加入属性
        # headers['Content-Type'] = multipart_encoder.content_type

        payload = {'videoUrl': 'public-staging-bucket/metlife/video/20210818/12a3cbc1f9d44f269bb9421bb2076a3e.mp4'}
        files = [
            ('jsonData', ('json.txt',
                          open(order_mp4_path, 'rb'), "video/mp4")),
            ('imageData', ('images.zip',
                           open(order_zip_path, 'rb'), "application/zip")),
        ]

        url = vendor_host + api_type + file_readAPI(api_type, 'orderSubmitUsingPOST')
        # url = r'http://192.168.10.190:9000/re' + file_readAPI(api_type, 'orderSubmitUsingPOST')
        # response = requests.post(url=url, data=multipart_encoder, headers=headers)
        response = requests.post(url, headers=headers, data=payload, files=files)
        if response.status_code is 200:
            res = response.json()
            self.assertEqual(res['code'], code, msg=str(res))
            logger.info('【' + tcname + '】的接口返回参数为:' + str(res))
        else:
            logger.info(response.text)