def test_6_contract_sign(self): """上传借款合同""" data = excel_table_byname(self.file, 'contract_sign') param = json.loads(data[0]['param']) param.update({ "serviceSn": Common.get_random('serviceSn'), "sourceUserId": self.r.get('jfx_3_periods_sourceUserId'), "contractType": 2, "sourceContractId": Common.get_random('userid'), "transactionId": self.r.get('jfx_3_periods_transactionId'), "associationId": self.r.get('jfx_3_periods_projectId'), "content": Common.get_json_data('data', 'borrow_sign.json').get("content") }) 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'])
def test_106_contact_query(self): """合同结果查询:获取签章后的借款协议""" data = excel_table_byname(self.file, 'contract_query') param = json.loads(data[0]['param']) param.update( { "associationId": self.r.get('jfqyl_6_periods_projectId'), "serviceSn": Common.get_random("serviceSn"), "requestTime": Common.get_time("-"), "sourceUserId": self.r.get("jfqyl_6_periods_sourceUserId"), "contractId": self.r.get("jfqyl_6_periods_contractId") } ) 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']))
def test_106_contact_query(self, r, env, red): """合同结果查询:获取签章后的借款协议""" data = excel_table_byname(self.file, 'contract_query') param = json.loads(data[0]['param']) param.update( { "associationId": r.get(red["project_id"]), "serviceSn": Common.get_random("serviceSn"), "requestTime": Common.get_time("-"), "sourceUserId": r.get(red["source_user_id"]), "contractId": r.get(red["contract_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=env ) assert rep['resultCode'] == int(data[0]['resultCode'])
def test_108_loan_pfa(self, r, env, red): """放款申请""" data = excel_table_byname(self.file, 'loan_pfa') param = json.loads(data[0]['param']) r.setex(red["loan_service_sn"], 72000, Common.get_random("serviceSn")) param.update( { "sourceProjectId": r.get(red["source_project_id"]), "projectId": r.get(red["project_id"]), "sourceUserId": r.get(red["source_user_id"]), "serviceSn": r.get(red["loan_service_sn"]), "id": r.get(red["id_card"]), "accountName": r.get(red["user_name"]), "amount": 33333.33 } ) 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=env ) assert rep['resultCode'] == int(data[0]['resultCode']) # 修改支付表中的品钛返回code GetSqlData.change_pay_status( environment=env, project_id=r.get(red["project_id"]) )
def test_101_loan(self, r, env): """随意借V2放款接口""" data = excel_table_byname(self.file, 'loan') print("接口名称:%s" % data[0]['casename']) GetSqlData.project_audit_status( project_id=r.get('syjv2_projectId'), environment=env ) param = json.loads(data[0]['param']) param.update( { "sourceProjectId": r.get('syjv2_sourceProjectId'), "sourceUserId": r.get('syjv2_sourceUserId'), "projectId": r.get('syjv2_projectId'), "serviceSn": "SaasL-" + Common.get_random("serviceSn"), "id": r.get("syjv2_cardNum"), "bankPhone": r.get("syjv2_phone") } ) 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), environment=env, product="pintic" ) assert int(data[0]['msgCode']) == rep['resultCode'] assert "交易成功" == rep['content']['message']
def test_102_query_loan_status(self, r, env): """随意借V2放款结果查询接口""" data = excel_table_byname(self.file, 'query_loan_status') print("接口名称:%s" % data[0]['casename']) time.sleep(8) GetSqlData.change_pay_status( project_id=r.get('syjv2_projectId'), environment=env ) GetSqlData.loan_set(env, r.get('syjv2_projectId')) param = json.loads(data[0]['param']) param.update( { "sourceProjectId": r.get('syjv2_sourceProjectId'), "sourceUserId": r.get('syjv2_sourceUserId'), "projectId": r.get('syjv2_projectId'), "serviceSn": "SaasL-" + Common.get_random("serviceSn") } ) 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), environment=env, product="pintic" ) assert int(data[0]['msgCode']) == rep['resultCode'] assert "SUCCESS" == rep['content']['loanStatus']
def test_1_loan_notice(self, env, r): """拿去花放款通知接口""" data = excel_table_byname(self.file, 'loan_notice') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param.update({ "sourceProjectId": r.get("nqh_sourceProjectId"), "sourceUserId": r.get("nqh_sourceUserId"), "projectId": r.get("nqh_projectId"), "serviceSn": "SaasL-" + Common.get_random("serviceSn"), "id": r.get("nqh_cardNum"), "bankPhone": r.get("nqh_phone"), "loanTime": Common.get_time("-") }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) time.sleep(5) rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), environment=env, product="pintic") assert rep['resultCode'] == int(data[0]['msgCode'])
def test_111_calculate(self, r, env, red): """还款计划试算:提前结清""" data = excel_table_byname(self.file, 'calculate') param = json.loads(data[0]['param']) param.update( { "sourceUserId": r.get(red["source_user_id"]), "transactionId": r.get(red["transaction_id"]), "sourceProjectId": r.get(red["source_project_id"]), "projectId": r.get(red["project_id"]), "businessType": 2, "repayTime": Common.get_time("-") } ) 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=env ) assert rep['resultCode'] == int(data[0]['resultCode']) r.setex(red["early_settlement_repayment_plan"], 72000, json.dumps(rep['content']['repaymentPlanList']))
def test_107_pfa(self, r, env, red): """放款""" data = excel_table_byname(self.file, 'project_loan') param = json.loads(data[0]['param']) param.update({ "sourceProjectId": r.get(red["source_project_id"]), "projectId": r.get(red["project_id"]), "sourceUserId": r.get(red["source_user_id"]), "serviceSn": Common.get_random('serviceSn'), "accountName": r.get(red["user_name"]), "id": r.get(red["id_card"]), "bankCode": "CCB", "accountNo": "6227002432220410613" # 6227003814170172872 }) r.set(red["loan_service_sn"], param['serviceSn']) 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=env) assert int(data[0]['resultCode']) == rep['resultCode'] # 修改支付表中的品钛返回code GetSqlData.change_pay_status(environment=env, project_id=r.get(red["project_id"]))
def test_106_sign_credit(self, r, env, red): """上传借款授信协议""" data = excel_table_byname(self.file, 'contract_sign') param = json.loads(data[0]['param']) param.update({ "serviceSn": Common.get_random('serviceSn'), "sourceUserId": r.get(red["source_user_id"]), "contractType": 5, "sourceContractId": Common.get_random('userid'), "transactionId": r.get(red["transaction_id"]), "associationId": r.get(red["project_id"]), "content": Common.get_json_data('data', 'credit_sign.json').get("content") }) 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=env) assert int(data[0]['resultCode']) == rep['resultCode']
def test_D_offline_partial(self): """线下还款:部分还款""" data = excel_table_byname(self.file, 'offline_partial') param = json.loads(data[0]['param']) param.update({ "sourceRequestId": Common.get_random("requestNum"), "sourceRepaymentId": Common.get_random("requestNum"), "projectId": self.r.get("jfx_3_periods_projectId"), "sourceProjectId": self.r.get("jfx_3_periods_sourceProjectId"), "sourceUserId": self.r.get("jfx_3_periods_sourceUserId"), "serviceSn": Common.get_random("serviceSn"), "payTime": Common.get_time("-"), "successAmount": 50, "period": 1 }) 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']))
def test_7_pfa(self): """放款""" data = excel_table_byname(self.file, 'project_loan') param = json.loads(data[0]['param']) param.update({ "sourceProjectId": self.r.get('jfx_3_periods_sourceProjectId'), "projectId": self.r.get('jfx_3_periods_projectId'), "sourceUserId": self.r.get('jfx_3_periods_sourceUserId'), "serviceSn": Common.get_random('serviceSn'), "accountName": self.r.get("jfx_3_periods_corporateAccountName"), "bankCode": 34, "accountNo": "6227002432220410613" # 6227003814170172872 }) self.r.set("jfx_3_periods_pfa_serviceSn", param['serviceSn']) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) headers["X-TBC-SKIP-SIGN"] = "true" 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']) GetSqlData.change_pay_status( environment=self.env, project_id=self.r.get('jfx_3_periods_projectId'))
def test_108_loan_pfa(self): """放款申请""" data = excel_table_byname(self.file, 'loan_pfa') param = json.loads(data[0]['param']) self.r.set("jfqyl_6_periods_loan_serviceSn", Common.get_random("serviceSn")) param.update( { "sourceProjectId": self.r.get("jfqyl_6_periods_sourceProjectId"), "projectId": self.r.get("jfqyl_6_periods_projectId"), "sourceUserId": self.r.get("jfqyl_6_periods_sourceUserId"), "serviceSn": self.r.get("jfqyl_6_periods_loan_serviceSn"), "id": self.r.get('jfqyl_6_periods_cardNum'), "accountName": self.r.get("jfqyl_6_periods_custName"), "amount": 33333.33 } ) 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'])) # 修改支付表中的品钛返回code GetSqlData.change_pay_status( environment=self.env, project_id=self.r.get('jfqyl_6_periods_projectId') )
def test_115_debt_transfer(self): """上传债转函""" data = excel_table_byname(self.file, 'contract_sign') param = Common.get_json_data('data', 'kkd_debt_transfer.json') param.update( { "serviceSn": Common.get_random('serviceSn'), "sourceUserId": self.r.get('jfqyl_6_periods_sourceUserId'), "sourceContractId": Common.get_random('userid'), "transactionId": self.r.get('jfqyl_6_periods_transactionId'), "associationId": self.r.get('jfqyl_6_periods_projectId') } ) 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.r.set("jfqyl_6_periods_contractId", rep['content']['contractId']) self.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
def test_102_loan_notice(self): """橙分期放款通知接口""" data = excel_table_byname(self.file, 'loan_notice') param = json.loads(data[0]['param']) param.update( { "sourceProjectId": self.r.get("cfq_24_periods_sourceProjectId"), "sourceUserId": self.r.get("cfq_24_periods_sourceUserId"), "projectId": self.r.get("cfq_24_periods_projectId"), "serviceSn": "SaasL-" + Common.get_random("serviceSn"), "id": self.r.get("cfq_24_periods_cardNum"), "bankPhone": self.r.get("cfq_24_periods_phone"), "loanTime": Common.get_time("-") } ) 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), environment=self.env, product="pintec", prod_type="pintec" ) self.assertEqual(rep['resultCode'], int(data[0]['msgCode']))
def test_1_loan_notice(self, env, r): """拿去花放款通知接口""" data = excel_table_byname(self.file, 'loan_notice') print("接口名称:%s" % data[0]['casename']) GetSqlData.change_project_audit_status( project_id=r["nqh_one_period_same_day_return_projectId"], environment=env) param = json.loads(data[0]['param']) r.set("nqh_one_period_same_day_return_loan_time", Common.get_time("-")) param.update({ "sourceProjectId": r.get("nqh_one_period_same_day_return_sourceProjectId"), "sourceUserId": r.get("nqh_one_period_same_day_return_sourceUserId"), "projectId": r.get("nqh_one_period_same_day_return_projectId"), "serviceSn": "SaasL-" + Common.get_random("serviceSn"), "id": r.get("nqh_one_period_same_day_return_cardNum"), "bankPhone": r.get("nqh_one_period_same_day_return_phone"), 'loanTime': r.get("nqh_one_period_same_day_return_loan_time") }) 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), environment=env, product="pintic") assert rep['resultCode'] == int(data[0]['msgCode'])
def loan_job(): try: print(f"当前未放款成功的产品数量为:{GetSqlData.select_asset()}") GetSqlData.loan_sql('qa') Common.trigger_task("projectLoanReparationJob", "qa") print(f"执行完成,任务编号为{str(random.random()).split('.')[1]}") except Exception as e: print(e)
def test_104_project_apply(self): """进件""" data = excel_table_byname(self.file, 'test_project') param = json.loads(data[0]['param']) self.r.set('jfx_sourceProjectId', Common.get_random('sourceProjectId')) param.update( { "sourceProjectId": self.r.get('jfx_sourceProjectId'), "sourceUserId": self.r.get('jfx_sourceUserId'), "transactionId": self.r.get('jfx_transactionId') } ) param['personalInfo'].update( { "cardNum": self.r.get('jfx_cardNum'), "custName": self.r.get('jfx_custName'), "phone": self.r.get('jfx_phone'), # "isDoctor": 0, "applicantClinicRelationship": 1 } ) param['applyInfo'].update( { "applyTime": Common.get_time(), "applyAmount": 500000.00 } ) param['loanInfo'].update( { "loanAmount": 500000.00, "assetInterestRate": 0.14, "userInterestRate": 0.14 } ) param['cardInfo'].update( { "bankNameSub": "建设银行", "bankCode": 34, "bankCardNo": "6227002432220410613", # 6227002432220410613 "unifiedSocialCreditCode": Common.get_random("businessLicenseNo") } ) self.r.set("jfx_corporateAccountName", param['cardInfo']['corporateAccountName']) # param["entityInfo"]["unifiedSocialCreditCode"] = None # param["entityInfo"]["permitRegistrationNumber"] = None 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.set('jfx_projectId', rep['content']['projectId'])
def test_118_return(self): """退货""" data = excel_table_byname(self.file, 'offline_repay') param = json.loads(data[0]['param']) plan_pay_date = GetSqlData.get_repayment_plan_date( project_id=self.r.get("jfqylv2_3_periods_projectId"), environment=self.env, repayment_plan_type=1, period=1) repayment_plan_list = json.loads( self.r.get("jfqylv2_3_periods_return_repayment_plan")) success_amount = 0.00 repayment_detail_list = [] for i in repayment_plan_list: plan_detail = { "sourceRepaymentDetailId": Common.get_random("transactionId"), "payAmount": i['amount'], "planCategory": i['repaymentPlanType'] } success_amount = round( success_amount + plan_detail.get("payAmount"), 2) repayment_detail_list.append(plan_detail) param.update({ "projectId": self.r.get("jfqylv2_3_periods_projectId"), "transactionId": self.r.get("jfqylv2_3_periods_sourceProjectId"), "sourceProjectId": self.r.get("jfqylv2_3_periods_sourceProjectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "planPayDate": plan_pay_date['plan_pay_date'], "successAmount": success_amount, "repayType": 3, "period": repayment_plan_list[0]['period'], "payTime": Common.get_time("-") }) param['repaymentDetailList'] = repayment_detail_list 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'])) Assert.check_repayment(True, self.env, self.r.get("jfqylv2_3_periods_projectId"), param)
def test_104_apply(self): """进件""" data = excel_table_byname(self.file, 'apply') self.r.mset( { "jk_cwshd_18_periods_transactionId": Common.get_random('transactionId'), "jk_cwshd_18_periods_sourceProjectId": Common.get_random('sourceProjectId'), } ) param = json.loads(data[0]['param']) param.update( { "sourceProjectId": self.r.get('jk_cwshd_18_periods_sourceProjectId'), "sourceUserId": self.r.get('jk_cwshd_18_periods_sourceUserId'), "transactionId": self.r.get('jk_cwshd_18_periods_transactionId') } ) param['applyInfo'].update( { "applyTime": Common.get_time("-"), "applyAmount": 50000, "applyTerm": 18, } ) param['loanInfo'].update( { "loanAmount": 50000, "loanTerm": 18, "assetInterestRate": 0.05, "userInterestRate": 0.16, "discountRate": 0.05 } ) param['personalInfo'].update( { "cardNum": self.r.get('jk_cwshd_18_periods_cardNum'), "custName": self.r.get('jk_cwshd_18_periods_custName'), "phone": self.r.get('jk_cwshd_18_periods_phone') } ) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) # headers["X-TBC-SKIP-ENCRYPT"] = "true" # headers["X-TBC-SKIP-SIGN"] = "true" rep = Common.response( faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=self.env, prod_type="jkjr" ) self.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) self.r.set('jk_cwshd_18_periods_projectId', rep['content']['projectId'])
def test_117_deduction_apply_all_periods(self): """主动还款:连续还款整笔结清""" data = excel_table_byname(self.file, 'deduction_apply') param = json.loads(data[0]['param']) repayment_plan_list = self.r.get("rmkj_9_periods_repayment_plan") maturity = GetSqlData.get_maturity( project_id=self.r.get("rmkj_9_periods_projectId"), environment=self.env) for period in range(1, maturity + 1): success_amount = 0.00 repayment_detail_list = [] for i in json.loads(repayment_plan_list): if i['period'] == period: plan_detail = { "period": i['period'], "payAmount": i['restAmount'], "planCategory": i['repaymentPlanType'] } success_amount = round( success_amount + plan_detail.get("payAmount"), 2) repayment_detail_list.append(plan_detail) param.update({ "sourceRequestId": Common.get_random("requestNum"), "projectId": self.r.get("rmkj_9_periods_projectId"), "sourceProjectId": self.r.get("rmkj_9_periods_sourceProjectId"), "sourceUserId": self.r.get("rmkj_9_periods_sourceUserId"), "serviceSn": Common.get_random("serviceSn"), "payTime": Common.get_time("-"), "successAmount": success_amount, "period": period }) param['repaymentDetailList'] = repayment_detail_list 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'])) Assert.check_repayment(True, self.env, self.r.get("rmkj_9_periods_projectId"), param) self.r.set("rmkj_9_periods_deductionTaskId", rep['content']['deductionTaskId'])
def test_107_repurchase(self): """橙分期24期回购一期""" data = excel_table_byname(self.file, 'repurchase') param = json.loads(data[0]['param']) param['assetSwapInfo'].update( { "projectId": self.r.get("cfq_24_periods_projectId"), "sourceApplyId": Common.get_random("serviceSn"), "actionTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) for i in param['assetSwapDetailList']: i.update( { "projectId": self.r.get("cfq_24_periods_projectId"), "sourceDetailId": Common.get_random("serviceSn"), "sourceSwapId": Common.get_random("serviceSn"), "sourceRelatedPlanId": Common.get_random("serviceSn"), "actionTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) for i in param['repaymentPlanList']: global plan_list_detail, plan_pay_type plan_pay_type = { "Principal": "1", "Interest": "2" } if i['assetPlanOwner'] == "foundPartner": plan_list_detail = GetSqlData.get_repayment_plan_date(project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, repayment_plan_type=plan_pay_type.get( i['repaymentPlanType']), period=i['period']) elif i['assetPlanOwner'] == "financePartner": plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=i['period'], repayment_plan_type=plan_pay_type.get(i['repaymentPlanType']) ) i.update( { "sourcePlanId": plan_list_detail.get("source_plan_id"), "planPayDate": plan_list_detail.get("plan_pay_date") } ) 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), environment=self.env, product="pintec" ) self.assertEqual(rep['resultCode'], data[0]['msgCode'])
def test_100_credit_apply(self): """额度授信""" data = excel_table_byname(self.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'), # "isDoctor": 0, "applicantClinicRelationship": 1 } ) param['applyInfo'].update({"applyTime": Common.get_time()}) param.update( { "sourceUserId": self.r.get('jfx_sourceUserId'), "serviceSn": Common.get_random('serviceSn'), "transactionId": self.r.get('jfx_transactionId') } ) param["entityInfo"]["enterpriseCertificateNum"] = Common.get_random("transactionId") param["entityInfo"]["enterpriseCertificateType"] = 1 # del param["imageInfo"]["businessLicense"] #营业执照 # del param["imageInfo"]["medicalPracticeCertificate"] #本人医师执业证书 # del param["imageInfo"]["medicalInstitutionLicense"] #医疗机构执业许可证 # del param["imageInfo"]["shareholderCertificate"] #股东证明 # del param["imageInfo"]["authorizationCertificate"] #授权证明 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.r.mset( { "jfx_creditId": rep['content']['creditId'], "jfx_userId": rep['content']['userId'] } ) self.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
def test_100_apply(self): """进件""" data = excel_table_byname(self.file, 'apply') Common.p2p_get_userinfo('rmkj_6_periods', self.env) self.r.mset({ "rmkj_6_periods_sourceUserId": Common.get_random('userid'), "rmkj_6_periods_transactionId": Common.get_random('transactionId'), "rmkj_6_periods_phone": Common.get_random('phone'), "rmkj_6_periods_sourceProjectId": Common.get_random('sourceProjectId') }) param = json.loads(data[0]['param']) param.update({ "sourceProjectId": self.r.get('rmkj_6_periods_sourceProjectId'), "sourceUserId": self.r.get('rmkj_6_periods_sourceUserId'), "transactionId": self.r.get('rmkj_6_periods_transactionId') }) param['personalInfo'].update({ "cardNum": self.r.get('rmkj_6_periods_cardNum'), "custName": self.r.get('rmkj_6_periods_custName'), "phone": self.r.get('rmkj_6_periods_phone') }) param['applyInfo'].update({ "applyTime": Common.get_time("-"), "applyTerm": 6 }) param['loanInfo'].update({"loanTerm": 6}) param['cardInfo'].update({ "unifiedSocialCreditCode": Common.get_random("businessLicenseNo") }) param['bindingCardInfo'].update({ "bankCardNo": self.r.get('rmkj_6_periods_bankcard'), "bankPhone": self.r.get('rmkj_6_periods_phone'), # "bankCode": "PINGAN", # "bankNameSub": "平安银行" }) 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.set('rmkj_6_periods_projectId', rep['content']['projectId'])
def test_100_apply(self): """进件""" data = excel_table_byname(self.file, 'apply') Common.p2p_get_userinfo('jfqyl_6_periods', self.env) self.r.mset( { "jfqyl_6_periods_sourceUserId": Common.get_random('userid'), "jfqyl_6_periods_transactionId": Common.get_random('transactionId'), "jfqyl_6_periods_phone": Common.get_random('phone'), "jfqyl_6_periods_sourceProjectId": Common.get_random('sourceProjectId'), } ) param = json.loads(data[0]['param']) param.update( { "sourceProjectId": self.r.get('jfqyl_6_periods_sourceProjectId'), "sourceUserId": self.r.get('jfqyl_6_periods_sourceUserId'), "transactionId": self.r.get('jfqyl_6_periods_transactionId') } ) param['applyInfo'].update( { "applyTime": Common.get_time("-"), "applyAmount": 33333.33, "applyTerm": 6, "productCode": "FQ_JK_JFQYL" } ) param['loanInfo'].update( { "loanAmount": 33333.33, "loanTerm": 6, "assetInterestRate": 0.153, "userInterestRate": 0.153 } ) param['personalInfo'].update( { "cardNum": self.r.get('jfqyl_6_periods_cardNum'), "custName": self.r.get('jfqyl_6_periods_custName'), "phone": self.r.get('jfqyl_6_periods_phone') } ) param['applyInfo'].update({"applyTime": Common.get_time("-")}) 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.r.set('jfqyl_6_periods_projectId', rep['content']['projectId']) self.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
def test_credit_apply(self, data): """授信申请参数校验""" _value = None case = str(data['casename']) print(case) red = Common.p2p_get_userinfo(environment=self.env, frame="pytest") param = json.loads(self.param) param["personalInfo"].update( { "custName": self.r.get(red["user_name"]), "cardNum": self.r.get(red["id_card"]) } ) print(f"""前置条件:{data["前置条件"]}""") if len(data["前置条件"]) > 0: preconditions = data["前置条件"].split(",") for k in preconditions: key = k.split(".")[0] value = k.split(".")[1].split("==")[0] enum = k.split(".")[1].split("==")[1] if Common.is_number(enum): enum = int(enum) param[key][value] = enum if "==" in case: _key = case.split("围")[1].split(".")[0] _value = case.split("围")[1].split(".")[1].split("==")[0] _enum = case.split("==")[1].replace(" ", "") if Common.is_number(_enum): if _enum.isdigit(): _enum = int(_enum) else: _enum = float(_enum) param[_key][_value] = _enum elif "." in case: _key = case.split("空")[1].split(".")[0] _value = case.split("空")[1].split(".")[1] if _key == _value: param[_key] = None else: param[_key][_value] = None 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'])) if rep["errMsg"] is not None: self.assertIn(_value, rep["errMsg"])
def test_4_project_apply(self): """进件""" data = excel_table_byname(self.file, 'test_project') param = json.loads(data[0]['param']) self.r.set('jfx_3_periods_sourceProjectId', Common.get_random('sourceProjectId')) param.update({ "sourceProjectId": self.r.get('jfx_3_periods_sourceProjectId'), "sourceUserId": self.r.get('jfx_3_periods_sourceUserId'), "transactionId": self.r.get('jfx_3_periods_transactionId') }) param['personalInfo'].update({ "cardNum": self.r.get('jfx_3_periods_cardNum'), "custName": self.r.get('jfx_3_periods_custName'), "phone": self.r.get('jfx_3_periods_phone') }) param['applyInfo'].update({ "applyTime": Common.get_time(), "applyTerm": 3, }) param['loanInfo'].update({"loanTerm": 3}) param['cardInfo'].update({ "bankNameSub": "建设银行", "bankCode": 34, "bankCardNo": "6227002432220410613", "unifiedSocialCreditCode": Common.get_random("businessLicenseNo") }) self.r.set("jfx_3_periods_corporateAccountName", param['cardInfo']['corporateAccountName']) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) headers["X-TBC-SKIP-SIGN"] = "true" rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="cloudloan", environment=self.env) self.r.set('jfx_3_periods_projectId', rep['content']['projectId']) self.assertEqual(int(data[0]['resultCode']), rep['resultCode'])
def test_121_offline_repay_early_settlement(self): """线下还款流水推送:提前全部结清""" data = excel_table_byname(self.file, 'offline_repay') param = json.loads(data[0]['param']) plan_pay_date = GetSqlData.get_repayment_plan_date( project_id=self.r.get("rmkj_12_periods_projectId"), environment=self.env, repayment_plan_type=1, period=1) repayment_plan_list = self.r.get( "rmkj_12_periods_early_settlement_repayment_plan") success_amount = 0.00 repayment_detail_list = [] for i in json.loads(repayment_plan_list): plan_detail = { "sourceRepaymentDetailId": Common.get_random("transactionId"), "payAmount": i['amount'], "planCategory": i['repaymentPlanType'] } success_amount = round( success_amount + plan_detail.get("payAmount"), 2) repayment_detail_list.append(plan_detail) param.update({ "projectId": self.r.get("rmkj_12_periods_projectId"), "transactionId": self.r.get("rmkj_12_periods_sourceProjectId"), "sourceProjectId": self.r.get("rmkj_12_periods_sourceProjectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "planPayDate": str(plan_pay_date['plan_pay_date']), "successAmount": success_amount, "repayType": 2, "period": json.loads(repayment_plan_list)[0]['period'] }) param['repaymentDetailList'] = repayment_detail_list 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) assert rep['resultCode'], int(data[0]['resultCode'])
def test_118_deduction_early_settlement(self): """主动还款:提前全部结清""" data = excel_table_byname(self.file, 'deduction_apply') print("接口名称:%s" % data[0]['casename'] + ": 提前结清") param = json.loads(data[0]['param']) repayment_plan_list = self.r.get( "rmkj_12_periods_early_settlement_repayment_plan") success_amount = 0.00 repayment_detail_list = [] for i in json.loads(repayment_plan_list): plan_detail = { "period": i['period'], "payAmount": i['amount'], "planCategory": i['repaymentPlanType'] } success_amount = round( success_amount + plan_detail.get("payAmount"), 2) repayment_detail_list.append(plan_detail) param.update({ "sourceRequestId": Common.get_random("requestNum"), "projectId": self.r.get("rmkj_12_periods_projectId"), "sourceProjectId": self.r.get("rmkj_12_periods_sourceProjectId"), "sourceUserId": self.r.get("rmkj_12_periods_sourceUserId"), "serviceSn": Common.get_random("serviceSn"), "repayType": 2, "payTime": Common.get_time("-"), "successAmount": success_amount, "period": json.loads(repayment_plan_list)[0]['period'] }) param['repaymentDetailList'] = repayment_detail_list 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) assert rep['resultCode'], int(data[0]['resultCode']) self.r.set("rmkj_12_periods_deductionTaskId", rep['content']['deductionTaskId'])
def test_100_credit_apply(self): """额度授信""" data = excel_table_byname(self.file, 'credit') Common.p2p_get_userinfo('jk_ckshd_12_periods', self.env) self.r.mset({ "jk_ckshd_12_periods_sourceUserId": Common.get_random('userid'), 'jk_ckshd_12_periods_transactionId': Common.get_random('transactionId'), "jk_ckshd_12_periods_phone": Common.get_random('phone'), "jk_ckshd_12_periods_firstCreditDate": Common.get_time() }) param = json.loads(data[0]['param']) param['personalInfo'].update({ "cardNum": self.r.get('jk_ckshd_12_periods_cardNum'), "custName": self.r.get('jk_ckshd_12_periods_custName'), "phone": self.r.get('jk_ckshd_12_periods_phone') }) param['applyInfo'].update({"applyTime": Common.get_time()}) param['entityInfo']['unifiedSocialCreditCode'] = Common.get_random( "businessLicenseNo") param.update({ "sourceUserId": self.r.get('jk_ckshd_12_periods_sourceUserId'), "serviceSn": Common.get_random('serviceSn'), "transactionId": self.r.get('jk_ckshd_12_periods_transactionId') }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) headers["X-TBC-SKIP-ENCRYPT"] = "true" headers["X-TBC-SKIP-SIGN"] = "true" rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product="gateway", environment=self.env, prod_type="jkjr") self.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) self.r.mset({ "jk_ckshd_12_periods_creditId": rep['content']['creditId'], "jk_ckshd_12_periods_userId": rep['content']['userId'] })