def set_driver(system): if system == 'mac': Config().Set_Item('Driver', 'system', system) logger.info("driver:%s设置成功" % system) elif system == 'linux': Config().Set_Item('Driver', 'system', system) logger.info("driver:%s设置成功" % system) elif system == 'windows': Config().Set_Item('Driver', 'system', system) logger.info("driver:%s设置成功" % system) else: raise Exception("不支持该系统设置driver")
class api_credit_notify(unittest.TestCase): excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', '51_case_file') excel_data = excel_table_byname(excel, 'api_credit_notify') def setUp(self): self.cm = Common() def tearDown(self): pass @ddt.data(*excel_data) def test_api_credit_notify(self, data): print("接口名称:%s" % data['casename']) param = data['param'] if len(data['headers']) == 0: headers = None else: headers = json.loads(data['headers']) rep = self.cm.Response(faceaddr=data['url'], headers=headers, product='51', param=json.dumps( param, ensure_ascii=False).encode('utf-8')) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(str(json.loads(rep.text)['msgCode']), data['msgCode'], '返回code不一致')
class credit_query_result(unittest.TestCase): excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', 'czb_case_file') excel_data = excel_table_byname(excel, 'credit_query_result') def setUp(self): self.cm = Common() self.env = sys.argv[3] def tearDown(self): pass @ddt.data(*excel_data) def test_credit_query_result(self, data): print("接口名称:%s" % data['casename']) param = json.loads(data['param']) if len(data['headers']) == 0: headers = None else: headers = json.loads(data['headers']) rep = self.cm.Response(faceaddr=data['url'], headers=headers, param=json.dumps( param, ensure_ascii=False).encode('utf-8'), environment=self.env) print("响应结果:%s" % rep) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(str(json.loads(rep.text)['resultCode']), data['resultCode'])
def test_2_51_api_credit_notify(self): '''银行授信结果通知''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', '51_case_file') data = excel_table_byname(excel, 'api_credit_notify') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param.update({"requestNum": self.cm.get_random('requestNum')}) param.update({"requestTime": self.cm.get_time('null')}) param['requestBody'].update( {"creditApplyNo": self.r.get('creditApplyNo')}) param['requestBody'].update({"creditNo": self.r.get('creditNo')}) param['requestBody'].update({"cardId": self.r.get('cardId')}) param['requestBody'].update( {"fullName": self.r.get('fullName').decode()}) param['requestBody'].update({"creditBeginDate": self.cm.get_time('-')}) param['requestBody'].update({"CreditEndDate": self.cm.get_time('-')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, product='51', param=json.dumps( param, ensure_ascii=False).encode('utf-8')) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text)
class JfqPorject(unittest.TestCase): file = Config().get_item('File', 'jfq_required_case_file') excel_data = excel_table_byname(file, 'apply_null') @classmethod def setUpClass(cls): cls.env = 'test' cls.url = JfqPorject.excel_data[0]['url'] cls.headers = JfqPorject.excel_data[0]['headers'] cls.param = JfqPorject.excel_data[0]['param'] def tearDown(self): pass @ddt.data(*excel_data) def test_project(self, data): case = data['casename'] param = json.loads(self.param) key = str(case).split("空")[1].split(".")[0] value = str(case).split("空")[1].split(".")[1] del param[key][value] headers = json.loads(self.headers) rep = Common.response(faceaddr=self.url, headers=headers, data=json.dumps(param, ensure_ascii=False), product='cloudloan', environment=self.env) self.assertEqual(rep['resultCode'], int(data['resultCode']))
def test_B_repay(self): """还款确认""" excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', 'roma_case_file') data = excel_table_byname(excel, 'repay') param = json.loads(data[0]['param']) assetId = self.cm.get_sql_data('czb', 'dev1', project_id=str( self.r.get('roma_projectId'), encoding='utf-8'), factor='id', select='assert') param.update({"assetId": assetId}) param.update({"clearTime": self.cm.get_time('-')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps( param, ensure_ascii=False).encode('utf-8'), product='roma', environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text)
def test_7_pfa(self): '''放款''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', 'roma_case_file') data = excel_table_byname(excel, 'project_loan') param = json.loads(data[0]['param']) param.update({ "sourceProjectId": str(self.r.get('roma_sourceProjectId'), encoding='utf8') }) param.update( {"projectId": str(self.r.get('roma_projectId'), encoding='utf8')}) param.update({ "sourceUserId": str(self.r.get('roma_sourceUserId'), encoding='utf8') }) param.update({"serviceSn": self.cm.get_random('serviceSn')}) param.update({"accountName": self.r.get('roma_custName').decode()}) param.update({"id": str(self.r.get('roma_cardNum'), encoding='utf8')}) self.r.set("roma_pfa_serviceSn", param['serviceSn']) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps( param, ensure_ascii=False).encode('utf-8'), product='roma', environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text)
def test_6_contract_sign(self): '''上传借款合同''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', 'roma_case_file') data = excel_table_byname(excel, 'contract_sign') print("接口名称:%s" % data[0]['casename']) param = self.cm.get_json_data('roma_contract_sign.json') param.update({"serviceSn": self.cm.get_random('serviceSn')}) param.update({ "sourceUserId": str(self.r.get('roma_sourceUserId'), encoding='utf8') }) param.update({"contractType": 2}) param.update({"sourceContractId": self.cm.get_random('userid')}) param.update({ "transactionId": str(self.r.get('roma_transactionId'), encoding='utf8') }) param.update({ "associationId": str(self.r.get('roma_projectId'), encoding='utf8') }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps( param, ensure_ascii=False).encode('utf-8'), product='roma', environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text)
def test_5_query_apply_result(self): '''进件结果查询''' time.sleep(10) excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', 'roma_case_file') data = excel_table_byname(excel, 'project_query_apply_result') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param.update({ "sourceProjectId": str(self.r.get('roma_sourceProjectId'), encoding='utf8') }) param.update( {"projectId": str(self.r.get('roma_projectId'), encoding='utf8')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps( param, ensure_ascii=False).encode('utf-8'), product='roma', environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text)
def credit(self, red): print("授信------") data = excel_table_byname(Config().get_item('File', 'zqys_case_file'), 'credit') self.r.setex(red["source_user_id"], 72000, Common.get_random("userid")) self.r.setex(red["transaction_id"], 72000, Common.get_random('transactionId')) self.r.setex(red["phone"], 72000, Common.get_random('phone')) self.r.setex(red["first_credit_date"], 72000, Common.get_time()) param = json.loads(data[0]['param']) param['personalInfo'].update({ "cardNum": self.r.get(red["id_card"]), "custName": self.r.get(red["user_name"]), "phone": self.r.get(red["phone"]) }) param['applyInfo'].update({"applyTime": Common.get_time()}) param['entityInfo']['unifiedSocialCreditCode'] = Common.get_random( "businessLicenseNo") param.update({ "sourceUserId": self.r.get(red["source_user_id"]), "serviceSn": Common.get_random('serviceSn'), "transactionId": self.r.get(red["transaction_id"]) }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=self.env) self.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) self.r.setex(red["credit_id"], 72000, rep['content']['creditId']) self.r.setex(red["user_id"], 72000, rep['content']['userId'])
def test_4_project_apply(self): '''进件''' excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file') data = excel_table_byname(excel, 'test_project') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) self.r.set('sourceProjectId', self.cm.get_random('sourceProjectId')) param.update({"sourceProjectId": str(self.r.get('sourceProjectId'), encoding='utf8')}) param.update({"sourceUserId": str(self.r.get('sourceUserId'), encoding='utf8')}) param.update({"transactionId": str(self.r.get('transactionId'), encoding='utf8')}) param['personalInfo'].update({"cardNum": str(self.r.get('cardNum'), encoding='utf8')}) param['personalInfo'].update({"custName": self.r.get('custName').decode()}) param['personalInfo'].update({"phone": str(self.r.get('phone'), encoding='utf8')}) param['applyInfo'].update({"applyTime": self.cm.get_time()}) param['riskSuggestion'].update({"firstCreditDate": str(self.r.get('firstCreditDate'), encoding='utf8')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env) print("返回信息:%s" % rep.text) projectId = json.loads(rep.text)['content']['projectId'] self.r.set('projectId', projectId) print("projectId:%s" % self.r.get('projectId')) print("sourceProjectId:%s" % self.r.get('sourceProjectId')) self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
def credit_set(environment: str, credit_id: str) -> str: """授信时调用,根据环境判断是否需要等待补偿""" Ulog().logger_().info("开始检查授信步骤") if Config().get_item("Switch", "credit") == "1": # GetSqlData.change_credit_step(environment, credit_id) GetSqlData.change_credit_status(environment, credit_id) GetSqlData.change_athena_status(environment, credit_id) time.sleep(1) Common.trigger_task(job_name="creditReparationJob", env=environment) status = 2 version = 1 while status != 4: if version > 20: Ulog().logger_().info("授信未成功") break step = GetSqlData().check_credit_step(environment, credit_id) if step != 4: Ulog().logger_().info(f"当前授信步骤为:{step:d};当前循环次数为:{version:d}") Common.trigger_task(job_name="creditReparationJob", env=environment) version += 1 time.sleep(2) elif step == 4: Ulog().logger_().info("当前授信已完成,可以进行下个步骤!") status = 4
def test_3_51_api_withdraw(self): '''用户支用申请''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', '51_case_file') data = excel_table_byname(excel, 'api_withdraw') print("接口名称:%s" % data[0]['casename']) self.r.set("applyNo", self.cm.get_random('sourceProjectId')) param = json.loads(data[0]['param']) param.update({"requestNum": self.cm.get_random('requestNum')}) param.update({"requestTime": self.cm.get_time('null')}) param['requestBody'].update({"applyNo": self.r.get('applyNo')}) param['requestBody'].update( {"creditApplyNo": self.r.get('creditApplyNo')}) param['requestBody'].update({"creditNo": self.r.get('creditNo')}) param['requestBody'].update( {"fullName": self.r.get('fullName').decode()}) param['requestBody'].update({"cardId": self.r.get('cardId')}) param['requestBody'].update({"mobile": self.r.get('mobile')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, product='51', param=json.dumps( param, ensure_ascii=False).encode('utf-8')) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) ItemNo = json.loads(rep.text)['ItemNo'] self.r.set('ItemNo', ItemNo) print("ItemNo:%s" % ItemNo) logger.info("ItemNo:%s" % ItemNo)
class KkdApply(unittest.TestCase): file = Config().get_item('File', 'kkd_required_case_file') excel_data = excel_table_byname(file, 'apply') @classmethod def setUpClass(cls): cls.env = "qa" cls.param = KkdApply.excel_data[0]['param'] cls.headers = KkdApply.excel_data[0]['headers'] cls.url = KkdApply.excel_data[0]['url'] @ddt.data(*excel_data) def test_apply(self, data): case = data['casename'] param = json.loads(self.param) key = str(case).split("项")[1].split(".")[0] value = str(case).split("项")[1].split(".")[1] if value is '*': del param[key] else: del param[key][value] if len(self.headers) == 0: headers = None else: headers = json.loads(self.headers) rep = Common.response(faceaddr=self.url, headers=headers, data=json.dumps(param, ensure_ascii=False), product='cloudloan', environment=self.env) self.assertEqual(rep['resultCode'], int(data['resultCode']))
def all_case(dirs: str, file): """批量添加用例到测试套件""" case_dir = Config().get_item(section="CaseFile", option=dirs) logger.info("用例执行文件夹%s" % case_dir) cases = unittest.TestSuite() discover = unittest.defaultTestLoader.discover(case_dir, pattern=file, top_level_dir=None) for test_suit in discover: for test_case in test_suit: cases.addTest(test_case) return cases
def change_project_audit_status(project_id: str, environment: str): """修改进件审核状态为通过""" if Config().get_item("Switch", "project") == '1': Ulog().logger_().info("风控已关闭,走虚拟进件风控逻辑") sql = f""" UPDATE sandbox_saas.project_detail SET audit_status = 2, audit_result = 1, project_step = 5 WHERE id = {project_id}; """ GetSqlData.exec_update(environment, sql) else: Ulog().logger_().info("风控开关已开启,走真实风控流程") GetSqlData.project_result(project_id, environment)
def test_A_pre_clear_calculate(self): '''提前结清试算''' excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file') data = excel_table_byname(excel, 'pre_clear_calculate') param = json.loads(data[0]['param']) param.update({"projectId": str(self.r.get('projectId'), encoding='utf8')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
def test_8_pfa_query(self): '''放款结果查询''' time.sleep(10) excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file') data = excel_table_byname(excel, 'pfa_query') param = json.loads(data[0]['param']) param.update({"serviceSn": str(self.r.get('pfa_serviceSn'), encoding='utf8')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
def test_2_query_user_amount(self): '''用户额度查询''' excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file') data = excel_table_byname(excel, 'query_user_amount') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param.update({"sourceUserId": str(self.r.get('sourceUserId'), encoding='utf8')}) param.update({"userId": str(self.r.get('userId'), encoding='utf8')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
class DeductionApply(unittest.TestCase): file = Config().get_item('File', 'rmkj_required_case_file') excel_data = excel_table_byname(file, 'deduction_apply') def setUp(self): self.env = sys.argv[3] def tearDown(self): pass @ddt.data(*excel_data) def test_deduction_apply(self, data): param = json.loads(data['param']) headers = json.loads(data['headers']) rep = Common.response(faceaddr=data['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product='cloudloan', environment=self.env) self.assertEqual(int(rep['resultCode']), data['resultCode'])
class RomaCreditApplyNull(unittest.TestCase): file = Config().get_item('File', 'new_roma_required_case_file') excel_data = excel_table_byname(file, 'credit_apply_data_null') param = excel_data[0]['param'] url = excel_data[0]['url'] headers = excel_data[0]['headers'] env = "test" @ddt.data(*excel_data) def test_credit_apply(self, data): case = data['casename'] param = json.loads(self.param) key = str(case).split("空")[1].split(".")[0] value = str(case).split("空")[1].split(".")[1] if "List" in key: param[key][0][value] = None elif "已婚" in str(case).split("空")[0]: param['personal']['maritalStatus'] = 1 param[key][value] = None
class api_credit(unittest.TestCase): excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', '51_case_file') excel_data = excel_table_byname(excel, 'api_credit') def setUp(self): self.cm = Common() def tearDown(self): pass @ddt.data(*excel_data) def test_api_credit(self, data): print("接口名称:%s" % data['casename']) if data['yn'] == 'Y' or 'y': borrowser = get_borrowser() param = json.loads(data[0]['param']) param.update({"requestNum": self.cm.get_random('requestNum')}) param.update({"requestTime": self.cm.get_time('null')}) param['requestBody'].update( {"creditApplyNo": self.cm.get_random('transactionId')}) param['requestBody'].update( {"productId": self.cm.get_random('sourceProjectId')}) param['requestBody'].update({"fullName": borrowser['name']}) param['requestBody'].update({"cardId": borrowser['idcard']}) param['requestBody'].update( {"mobile": self.cm.get_random('phone')}) param = data['param'] if len(data['headers']) == 0: headers = None else: headers = json.loads(data['headers']) rep = self.cm.Response( faceaddr=data['url'], headers=headers, product='51', param=json.dumps(param, ensure_ascii=False).encode('utf-8')) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(str(json.loads(rep.text)['msgCode']), data['msgCode'], '返回code不一致')
def query_result(self): print("授信结果检查-------") GetSqlData.credit_set(environment=self.env, credit_id=self.r.get("jfx_creditId")) GetSqlData.check_user_amount(user_id=self.r.get("jfx_userId"), environment=self.env) data = excel_table_byname(Config().get_item('File', 'jfx_case_file'), 'credit_query_result') param = json.loads(data[0]['param']) param.update({"creditId": self.r.get('jfx_creditId')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=self.env) self.assertEqual(int(data[0]['resultCode']), rep['resultCode']) self.assertEqual(rep['content']['creditStatus'], 1)
def test_3_sign_credit(self): '''上传授信协议''' excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file') data = excel_table_byname(excel, 'contract_sign') print("接口名称:%s" % data[0]['casename']) param = self.cm.get_json_data('chezhibao_contract_sign.json') param.update({"serviceSn": self.cm.get_random('serviceSn')}) param.update({"sourceUserId": str(self.r.get('sourceUserId'), encoding='utf8')}) param.update({"contractType": 1}) param.update({"sourceContractId": self.cm.get_random('userid')}) param.update({"transactionId": str(self.r.get('transactionId'), encoding='utf8')}) param.update({"associationId": str(self.r.get('creditId'), encoding='utf8')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
def credit(self): print("授信------") data = excel_table_byname(Config().get_item('File', 'jfx_case_file'), 'credit_apply_data') Common.p2p_get_userinfo('jfx', self.env) self.r.mset({ "jfx_sourceUserId": Common.get_random('userid'), 'jfx_transactionId': Common.get_random('transactionId'), "jfx_phone": Common.get_random('phone'), "jfx_firstCreditDate": Common.get_time() }) param = json.loads(data[0]['param']) param['personalInfo'].update({ "cardNum": self.r.get('jfx_cardNum'), "custName": self.r.get('jfx_custName'), "phone": self.r.get('jfx_phone') }) param['applyInfo'].update({"applyTime": Common.get_time()}) param['entityInfo']['unifiedSocialCreditCode'] = Common.get_random( "businessLicenseNo") param.update({ "sourceUserId": self.r.get('jfx_sourceUserId'), "serviceSn": Common.get_random('serviceSn'), "transactionId": self.r.get('jfx_transactionId') }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=self.env) self.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) self.r.mset({ "jfx_creditId": rep['content']['creditId'], "jfx_userId": rep['content']['userId'] })
def test_0_api_credit(self): '''授信申请''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', '51_case_file') data = excel_table_byname(excel, 'api_credit') borrowser = get_borrowser() print("接口名称:%s" % data[0]['casename']) self.cm.p2p_get_userinfo('51') self.r.mset({ "mobile": self.cm.get_random('phone'), "creditApplyNo": self.cm.get_random('transactionId'), "productId": self.cm.get_random('sourceProjectId') }) param = json.loads(data[0]['param']) param.update({"requestNum": self.cm.get_random('requestNum')}) param.update({"requestTime": self.cm.get_time('null')}) param['requestBody'].update( {"creditApplyNo": self.r.get('creditApplyNo')}) param['requestBody'].update({"productId": self.r.get('productId')}) param['requestBody'].update( {"fullName": self.r.get('fullName').decode()}) param['requestBody'].update({"cardId": self.r.get('cardId')}) param['requestBody'].update({"mobile": self.r.get('mobile')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, product='51', param=json.dumps( param, ensure_ascii=False).encode('utf-8')) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text) creditNo = json.loads(rep.text)['creditNo'] self.r.set('creditNo', creditNo) print("creditNo:%s" % creditNo) logger.info("creditNo:%s" % creditNo)
def test_4_51_api_query_withdraw(self): '''用户支用申请结果查询''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', '51_case_file') data = excel_table_byname(excel, 'api_query_withdraw') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param.update({"requestNum": self.cm.get_random('requestNum')}) param.update({"requestTime": self.cm.get_time('null')}) param['requestBody'].update({"applyNo": self.r.get('applyNo')}) param['requestBody'].update({"itemNo": self.r.get('ItemNo')}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, product='51', param=json.dumps( param, ensure_ascii=False).encode('utf-8')) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text)
class RomaCreditApply(unittest.TestCase): file = Config().get_item('File', 'new_roma_required_case_file') excel_data = excel_table_byname(file, 'credit_apply_data_new') param = excel_data[0]['param'] url = excel_data[0]['url'] headers = excel_data[0]['headers'] env = 'test' @ddt.data(*excel_data) def test_credit_apply(self, data): case = data['casename'] param = json.loads(self.param) key = str(case).split("项")[1].split(".")[0] value = str(case).split("项")[1].split(".")[1] aim = 0 if value is '*': del param[key] else: if "List" in key: aim = 1 if "已婚" in str(case).split("项")[0]: param['personal']['maritalStatus'] = 1 if "无合同" in str(case).split("项")[0]: param['orderDetail']['isHasContract'] = 'N'
def change_pay_status(environment: str, project_id: str): """修改steamrunner.pay_order的放款状态为成功""" finish_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) # finish_time = "2021-03-29 00:00:00" if Config().get_item("Switch", "loan") == '1': Ulog().logger_().info("放款开关已关闭,走虚拟放款逻辑") sql1 = f""" Update sandbox_saas_steamrunner.sr_pay_order set code=2000,msg='成功',finish_time='{finish_time}' where project_id={project_id}; """ sql2 = f""" Update sandbox_saas.project_loan_flow set loan_result=2 where project_id={project_id}; """ sql3 = f""" Update sandbox_saas.project_loan_record set loan_result=2 where project_id={project_id}; """ sql4 = f""" Update sandbox_saas.project_detail set loan_result=2,loan_status=0,loan_step=0 where id={project_id}; """ time.sleep(3) if GetSqlData.check_pay_order_code(environment, project_id) in (2002, 2003): sqls = [sql1, sql2, sql3, sql4] else: sqls = [sql1] for sql in sqls: GetSqlData.exec_update(environment, sql) else: Ulog().logger_().info("放款开关已开启,走真实放款流程")
def test_5_51_api_withdraw_notify(self): '''银行放款结果通知''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', '51_case_file') data = excel_table_byname(excel, 'api_withdraw_notify') print("接口名称:%s" % data[0]['casename']) self.r.mset({ "dueBillNo": self.cm.get_random('serviceSn'), "borrowNo": self.cm.get_random('sourceProjectId'), "contractNo": self.cm.get_random('requestNum'), "premiumTradeNo": self.cm.get_random('requestNum') }) param = json.loads(data[0]['param']) param.update({"requestNum": self.cm.get_random('requestNum')}) param.update({"requestTime": self.cm.get_time('null')}) param['requestBody'].update({"applyNo": self.r.get('applyNo')}) param['requestBody'].update({"dueBillNo": self.r.get('dueBillNo')}) param['requestBody'].update({"itemNo": self.r.get('ItemNo')}) param['requestBody'].update({"contractNo": self.r.get('contractNo')}) param['requestBody'].update( {"premiumTradeNo": self.r.get('premiumTradeNo')}) param['requestBody'].update({"loanBizDate": self.cm.get_time('-')}) param['requestBody'].update({"paycompBizDate": self.cm.get_time('-')}) param['requestBody'].update({"payStatus": '3'}) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers, product='51', param=json.dumps( param, ensure_ascii=False).encode('utf-8')) print("返回信息:%s" % rep.text) logger.info("返回信息:%s" % rep.text)