SystemResetPassword.py 2.04 KB
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/7/16 下午5:36
# @Author : 付孟奇

import unittest, requests
from config.vendorHost import vendor_host
from config import vendorList
from util.log import logger
from util.generate import getTestCase
from util.HandleJson import file_readAPI
from util.HandleJson import file_read_global
from util.HandleJenkins import config
from util.HandleRedis import handle_redis


class SystemResetPassword(unittest.TestCase):

    def testFunc(self):
        '''重置密码'''
        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'])
        password = data['password']
        username = data['username']
        validateCode = handle_redis.get_value('loginservice_forget_password_string_'+config['phone'])

        api_type = 'cl'

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

        headers = {
            'Content-Type': 'application/json',
        }
        if config['pro'] in vendorList.app_login_type_3:
            payload = {
                "username": file_read_global('account', 'app_user'),
                "password": password,
                "validateCode": validateCode,
                "phoneNum": config['phone'],
                "deviceNum": "078424F3-26DE-4A76-BC66-E4CD2C55BB0A"
            }
        logger.info('【' + tcname + '】的接口入参为:' + str(payload))

        url = vendor_host + api_type + file_readAPI(api_type, 'forgPasswordUsingPOST')
        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('【' + tcname + '】的接口返回参数为:' + str(res))
        else:
            logger.error(response.text)


if __name__ == '__main__':
    unittest.main()