def test_110_query_repayment_plan(self, r, env, red): """国投云贷还款计划查询""" data = excel_table_byname(self.file, 'query_repayment_plan') param = json.loads(data[0]['param']) param.update( { "transactionId": r.get(red["transaction_id"]), "projectId": r.get(red["project_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']) Assert.check_repayment(False, env, r.get(red["project_id"])) r.setex(red["repayment_plan"], 72000, json.dumps(rep['content']['repaymentPlanList']))
def test_116_capital_flow(self): """资金流水推送""" data = excel_table_byname(self.file, 'cash_push') param = json.loads(data[0]['param']) success_amount = GetSqlData.get_repayment_amount( project_id=self.r.get("kkd_3_periods_projectId"), environment=self.env, period=1) param.update({ "serviceSn": Common.get_random("serviceSn"), "projectId": self.r.get("kkd_3_periods_projectId"), "sourceProjectId": self.r.get("kkd_3_periods_sourceProjectId"), "repaymentPlanId": Common.get_random("sourceProjectId"), "sucessAmount": success_amount, "sourceRepaymentId": Common.get_random("sourceProjectId"), "tradeTime": Common.get_time(), "finishTime": 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="cloudloan") self.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
def test_0_approved(self, env, r): """拿去花进件同意接口""" data = excel_table_byname(self.file, 'approved') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) Common.p2p_get_userinfo("nqh", env) r.mset({ "nqh_sourceProjectId": Common.get_random("sourceProjectId"), "nqh_sourceUserId": Common.get_random("userid"), "nqh_transactionId": Common.get_random("transactionId") }) param.update({ "sourceProjectId": r.get("nqh_sourceProjectId"), "sourceUserId": r.get("nqh_sourceUserId"), "transactionId": r.get("nqh_transactionId") }) param['applyInfo'].update({"applyTime": Common.get_time("-")}) param['personalInfo'].update({ "cardNum": r.get("nqh_cardNum"), "custName": r.get("nqh_custName"), "phone": r.get("nqh_phone") }) param['cardInfo'].update({"bankPhone": r.get("nqh_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") r.set("nqh_projectId", rep['content']['projectId']) assert rep['resultCode'] == int(data[0]['msgCode']) GetSqlData.change_project_audit_status( project_id=r.get('nqh_projectId'), environment=env)
def test_113_loan_pfa(self): """放款申请""" data = excel_table_byname(self.file, 'loan_pfa') param = json.loads(data[0]['param']) self.r.set("jk_ckshd_12_periods_loan_serviceSn", Common.get_random("serviceSn")) param.update({ "sourceProjectId": self.r.get("jk_ckshd_12_periods_sourceProjectId"), "projectId": self.r.get("jk_ckshd_12_periods_projectId"), "sourceUserId": self.r.get("jk_ckshd_12_periods_sourceUserId"), "serviceSn": self.r.get("jk_ckshd_12_periods_loan_serviceSn"), "id": self.r.get('jk_ckshd_12_periods_cardNum'), "accountName": self.r.get("jk_ckshd_12_periods_custName"), "amount": 30000 }) 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('jk_ckshd_12_periods_projectId'))
def test_107_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"]) } ) 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_111_calculate(self): """还款计划试算(已放款):正常还款""" data = excel_table_byname(self.file, 'calculate') param = json.loads(data[0]['param']) param.update( { "sourceUserId": self.r.get("ddq_6_periods_sourceUserId"), "transactionId": self.r.get("ddq_6_periods_sourceProjectId"), "sourceProjectId": self.r.get("ddq_6_periods_sourceProjectId"), "projectId": self.r.get("ddq_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.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
def test_2_loanasset(self, r, env): """借去花进件放款同步接口""" time.sleep(5) data = excel_table_byname(self.file, 'loan_asset') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param['asset'].update( { "projectId": r.get("jqh_repayment_projectId"), "sourceProjectId": r.get("jqh_repayment_sourceProjectId"), "transactionId": "Apollo" + Common.get_random("transactionId"), "repaymentDay": Common.get_time("day").split('-')[1], "firstRepaymentDate": Common.get_repaydate(6)[0], "lastRepaymentDate": Common.get_repaydate(6)[-1], "loanTime": Common.get_time("-") } ) for i in param['repaymentPlanList']: i.update( { "sourcePlanId": Common.get_random("sourceProjectId"), "planPayDate": Common.get_repaydate(6)[i['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), environment=env, product="pintic" ) assert (rep['resultCode'], int(data[0]['msgCode']))
def test_110_query_repayment_plan(self): """国投云贷还款计划查询""" data = excel_table_byname(self.file, 'query_repayment_plan') param = json.loads(data[0]['param']) param.update( { "transactionId": self.r.get("ddq_6_periods_sourceProjectId"), "projectId": self.r.get("ddq_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.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) Assert.check_repayment(False, self.env, self.r.get("ddq_6_periods_projectId")) self.r.set("ddq_6_periods_repayment_plan", json.dumps(rep['content']['repaymentPlanList']))
def test_102_query_apply_result(self): """进件结果查询""" GetSqlData.change_project_audit_status( project_id=self.r.get('jfqjyv2_9_periods_projectId'), environment=self.env) data = excel_table_byname(self.file, 'query_apply_result') param = json.loads(data[0]['param']) param.update({ "sourceProjectId": self.r.get('jfqjyv2_9_periods_sourceProjectId'), "projectId": self.r.get('jfqjyv2_9_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.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) self.assertEqual(rep['content']['auditStatus'], 2)
def test_101_query_audit_status(self): """橙分期进件审核结果查询""" data = excel_table_byname(self.file, 'query_audit_status') param = json.loads(data[0]['param']) param.update( { "sourceProjectId": self.r.get("cfq_24_periods_sourceProjectId"), "projectId": self.r.get("cfq_24_periods_projectId") } ) 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=self.env, product="pintec", prod_type="pintec" ) self.assertEqual(rep['resultCode'], int(data[0]['msgCode']))
def test_1_loan_notice(self, r, env): """翼支付放款通知接口""" data = excel_table_byname(self.file, 'loan_notice') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param.update({ "sourceProjectId": r.get("yzf_sourceProjectId"), "sourceUserId": r.get("yzf_sourceUserId"), "projectId": r.get("yzf_projectId"), "serviceSn": "SaasL-" + Common.get_random("serviceSn"), "id": r.get("yzf_cardNum"), "bankPhone": r.get("yzf_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=env, product="pintic") assert rep['resultCode'] == int(data[0]['msgCode'])
def test_107_confirm(self): """确认签约""" data = excel_table_byname(self.file, 'confirm') param = Common.get_json_data("data", "rmkj_confirm.json") param.update({ "requestId": Common.get_random("serviceSn"), "requestTime": Common.get_time("-"), "sourceUserId": self.r.get("rmkj_12_periods_sourceUserId"), "signTaskId": self.r.get("rmkj_12_periods_signTaskId"), "smsCode": "849201" }) if len(data[0]['headers']) == 0: headers = None else: headers = json.loads(data[0]['headers']) headers["X-TBC-SKIP-SIGN"] = 'true' headers["X-TBC-SKIP-ENCRYPT"] = 'true' rep = Common.response(faceaddr=data[0]['url'], headers=headers, data=json.dumps(param, ensure_ascii=False), product='gateway', environment=self.env) assert rep['code'], int(data[0]['resultCode']) assert rep['data']['status'], 3
def test_109_pfa(self): """放款""" data = excel_table_byname(self.file, 'project_loan') param = json.loads(data[0]['param']) param.update({ "sourceProjectId": self.r.get('jfx_6_periods_sourceProjectId'), "projectId": self.r.get('jfx_6_periods_projectId'), "sourceUserId": self.r.get('jfx_6_periods_sourceUserId'), "serviceSn": Common.get_random('serviceSn'), "accountName": self.r.get("jfx_6_periods_corporateAccountName"), "bankCode": "34", "amount": 50000.00, "accountNo": "6227002432220410613" # 6227003814170172872 }) self.r.set("jfx_6_periods_pfa_serviceSn", 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=self.env) self.assertEqual(int(data[0]['resultCode']), rep['resultCode']) GetSqlData.change_pay_status( environment=self.env, project_id=self.r.get('jfx_6_periods_projectId'))
def test_3_repayment_one_period(self, env, r): """翼支付还款一期""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) success_amount = GetSqlData.get_user_repayment_amount( environment=env, project_id=r.get("yzf_repayment_projectId"), period=param['repaymentDetailList'][0]['period']) param['repayment'].update({ "projectId": r.get("yzf_repayment_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": success_amount }) plan_type = {"Principal": "1", "Interest": "2", "Fee": "3"} repaydate = Common.get_repaydate(24) for i in range(len(param['repaymentDetailList'])): plan_pay_type = plan_type[param['repaymentDetailList'][i] ['repaymentPlanType']] plan_catecory = param['repaymentDetailList'][i]['planCategory'] asset_plan_owner = param['repaymentDetailList'][i][ 'assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("yzf_repayment_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=param['repaymentDetailList'][i]['period']) param['repaymentDetailList'][i].update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) else: plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['repaymentDetailList'][i]['period'], repayment_plan_type=3, feecategory=param['repaymentDetailList'][i] ['planCategory']) param['repaymentDetailList'][i].update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": repaydate[0].split(" ")[0], "thisPayAmount": float(plan_list_detail.get('rest_amount')), "payTime": Common.get_time("-") }) elif asset_plan_owner == "financePartner": user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['repaymentDetailList'][i]['period'], repayment_plan_type=plan_pay_type) param['repaymentDetailList'][i].update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) else: pass for i in range(len(param['repaymentPlanList'])): plan_list_pay_type = plan_type[param['repaymentPlanList'][i] ['repaymentPlanType']] plan_list_asset_plan_owner = param['repaymentPlanList'][i][ 'assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['repaymentPlanList'][i]['period'], repayment_plan_type=plan_list_pay_type) param['repaymentPlanList'][i].update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-") }) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("yzf_repayment_projectId"), environment=env, repayment_plan_type=plan_list_pay_type, period=param['repaymentPlanList'][i]['period']) param['repaymentPlanList'][i].update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-") }) for i in range(len(param['feePlanList'])): plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_projectId"), environment=env, period=param['feePlanList'][i]['period'], repayment_plan_type=3, feecategory=param['feePlanList'][i]['feeCategory']) param['feePlanList'][i].update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "payTime": 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=env, product="pintic") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功"
def test_repay_two_periods(self, r, env): """橙分期一次还款2期""" data = excel_table_byname(self.file, 'repay_two_periods') param = json.loads(data[0]['param']) param['repayment'].update({ "projectId": r.get("cfq_12_periods_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), }) plan_type = {"Principal": "1", "Interest": "2", "Fee": "3"} for i in param['repaymentDetailList']: plan_pay_type = plan_type[i['repaymentPlanType']] plan_catecory = i['planCategory'] asset_plan_owner = i['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail1 = GetSqlData.get_repayment_plan_date( project_id=r.get("cfq_12_periods_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=i['period']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail1.get('plan_pay_date')), "thisPayAmount": float(repayment_detail1.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) else: plan_list_detail2 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=3, feecategory=i['planCategory']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail2.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": i['period'] }) elif asset_plan_owner == "financePartner": if plan_catecory == 1 or plan_catecory == 2: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_pay_type) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) else: plan_list_detail3 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=3, feecategory=i['planCategory']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail3.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": i['period'] }) for i in param['repaymentPlanList']: plan_list_pay_type = plan_type[i['repaymentPlanType']] plan_list_asset_plan_owner = i['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail4 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_list_pay_type) i.update({ "sourcePlanId": plan_list_detail4.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail4.get('cur_amount')), "payAmount": float(plan_list_detail4.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail5 = GetSqlData.get_repayment_plan_date( project_id=r.get("cfq_12_periods_projectId"), environment=env, repayment_plan_type=plan_list_pay_type, period=i['period']) i.update({ "sourcePlanId": plan_list_detail5.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail5.get('cur_amount')), "payAmount": float(plan_list_detail5.get('rest_amount')), "payTime": Common.get_time("-"), "period": i['period'] }) for i in param['feePlanList']: plan_list_detail6 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=3, feecategory=i['feeCategory']) i.update({ "sourcePlanId": plan_list_detail6.get('source_plan_id'), "planPayDate": Common.get_time("-"), "payTime": 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=env, product="pintec") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功"
def test_3_compensation(self, r, env): """借去花代偿一期""" data = excel_table_byname(self.file, 'compensation') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) param['assetSwapInfo'].update( { "projectId": r.get("jqh_projectId"), "sourceApplyId": Common.get_random("serviceSn"), "actionTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) for i in param['assetSwapDetailList']: i.update( { "projectId": r['jqh_sourceProjectId'], "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=r.get("jqh_projectId"), environment=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=r.get("jqh_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_pay_type.get(i['repaymentPlanType']) ) i.update( { "sourcePlanId": plan_list_detail.get("source_plan_id"), "planPayDate": str(plan_list_detail.get("plan_pay_date")) } ) for i in param['feePlanList']: i.update( { "sourcePlanId": Common.get_random("serviceSn"), "planPayDate": Common.get_time("-"), "sourceRepaymentDetailId": Common.get_random("serviceSn"), "relatedPlanId": Common.get_random("serviceSn"), "sourceCreateTime": 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=env, product="pintic" ) assert (rep['resultCode'], data[0]['msgCode'])
def test_3_repayment_one_period(self): """翼支付全部结清""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) for per in range(1, 25): success_amount = GetSqlData.get_user_repayment_amount( environment=self.env, project_id=self.r.get("yzf_repayment_normal_settle_projectId"), period=per) param['repayment'].update({ "projectId": self.r.get("yzf_repayment_normal_settle_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": success_amount }) plan_type = {"Principal": "1", "Interest": "2"} for i in param['repaymentDetailList']: plan_pay_type = plan_type[i['repaymentPlanType']] plan_catecory = i['planCategory'] asset_plan_owner = i['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, repayment_plan_type=plan_pay_type, period=per) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": per }) else: if per == 24: if plan_catecory == 2002: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "yzf_repayment_normal_settle_projectId" ), environment=self.env, repayment_plan_type=2, period=24) user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get( "yzf_repayment_normal_settle_projectId" ), environment=self.env, period=24, repayment_plan_type=2) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": Common.get_repaydate("1")[0].split(" ")[0], "thisPayAmount": float( Decimal(user_repayment_detail[ 'rest_amount']) - Decimal( repayment_detail['rest_amount']) - 2), "payTime": Common.get_time("-"), "period": per }) elif plan_catecory == 2003: i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": Common.get_repaydate("1")[0].split(" ")[0], "thisPayAmount": 2.00, "payTime": Common.get_time("-"), "period": per }) else: i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": Common.get_repaydate("1")[0].split(" ")[0], "payTime": Common.get_time("-"), "period": per }) elif asset_plan_owner == "financePartner": user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, period=per, repayment_plan_type=plan_pay_type) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": per }) else: pass for p in param['repaymentPlanList']: plan_list_pay_type = plan_type[p['repaymentPlanType']] plan_list_asset_plan_owner = p['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, period=per, repayment_plan_type=plan_list_pay_type) p.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get( "yzf_repayment_normal_settle_projectId"), environment=self.env, repayment_plan_type=plan_list_pay_type, period=per) p.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) 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="pintic") self.assertEqual(rep['resultCode'], data[0]['msgCode']) self.assertEqual(rep['content']['message'], "交易成功")
def test_104_project_apply(self): """进件""" data = excel_table_byname(self.file, 'test_project') param = json.loads(data[0]['param']) self.r.set('jfx_6_periods_sourceProjectId', Common.get_random('sourceProjectId')) param.update({ "sourceProjectId": self.r.get('jfx_6_periods_sourceProjectId'), "sourceUserId": self.r.get('jfx_6_periods_sourceUserId'), "transactionId": self.r.get('jfx_6_periods_transactionId') }) param['personalInfo'].update({ "cardNum": self.r.get('jfx_6_periods_cardNum'), "custName": self.r.get('jfx_6_periods_custName'), "phone": self.r.get('jfx_6_periods_phone'), "isDoctor": 0, "applicantClinicRelationship": 1 }) param['applyInfo'].update({ "applyTime": Common.get_time(), "applyAmount": 50000.00, "applyTerm": 6 }) param["entityInfo"].update({ "supplierOriginalLevel": 0, "supplierTradingLevel": 0, "inspectionEquipment": "1,2,4" }) param['loanInfo'].update({ "loanAmount": 50000.00, "assetInterestRate": 0.158156, "userInterestRate": 0.153156, "loanTerm": 6 }) param['cardInfo'].update({ "bankNameSub": "建设银行", "bankCode": "34", "bankCardNo": "6227002432220410613", "unifiedSocialCreditCode": Common.get_random("businessLicenseNo") }) self.r.set("jfx_6_periods_corporateAccountName", param['cardInfo']['corporateAccountName']) 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.r.set('jfx_6_periods_projectId', rep['content']['projectId'])
def test_100_apply(self): """进件""" data = excel_table_byname(self.file, 'apply') Common.p2p_get_userinfo('rmkj_9_periods', self.env) self.r.mset({ "rmkj_9_periods_sourceUserId": Common.get_random('userid'), "rmkj_9_periods_transactionId": Common.get_random('transactionId'), "rmkj_9_periods_phone": Common.get_random('phone'), "rmkj_9_periods_sourceProjectId": Common.get_random('sourceProjectId') }) param = json.loads(data[0]['param']) param.update({ "sourceProjectId": self.r.get('rmkj_9_periods_sourceProjectId'), "sourceUserId": self.r.get('rmkj_9_periods_sourceUserId'), "transactionId": self.r.get('rmkj_9_periods_transactionId') }) param['personalInfo'].update({ "cardNum": self.r.get('rmkj_9_periods_cardNum'), "custName": self.r.get('rmkj_9_periods_custName'), "phone": self.r.get('rmkj_9_periods_phone') }) param['applyInfo'].update({ "applyTime": Common.get_time("-"), "applyTerm": 9 }) param['loanInfo'].update({ "loanTerm": 9, # "assetInterestRate": 0.27, # "userInterestRate": 0.27 }) param['cardInfo'].update({ "unifiedSocialCreditCode": Common.get_random("businessLicenseNo"), "corporateAccountName": "南京车置宝网络技术有限公司", "bankCode": 34 }) param['cardInfo'].update({ "unifiedSocialCreditCode": Common.get_random("businessLicenseNo") }) param['bindingCardInfo'].update({ "bankCardNo": self.r.get('rmkj_9_periods_bankcard'), "bankPhone": self.r.get('rmkj_9_periods_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), product="cloudloan", environment=self.env) self.assertEqual(rep['resultCode'], int(data[0]['resultCode'])) self.r.set('rmkj_9_periods_projectId', rep['content']['projectId'])
def test_3_repayment_settle_in_advance(self, r, env): """翼支付提前结清""" data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = Common().get_json_data('data', 'yzf_settle_in_advance.json') param['repayment'].update({ "projectId": r.get("yzf_repayment_advance_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": 103.36 }) plan_type = {"Principal": "1", "Interest": "2"} for i in param['repaymentDetailList']: i.update({ "sourceRepaymentDetailId": Common.get_random("transactionId"), "relatedPlanId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") }) if i['repaymentPlanType'] == 'Principal': this_pay_amount = GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("yzf_repayment_advance_projectId")) i.update({"thisPayAmount": this_pay_amount}) for i in param['repaymentPlanList']: i.update({ "sourcePlanId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") }) if i['repaymentStatus'] == 'repayment_done': i.update({ "curAmount": GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("yzf_repayment_advance_projectId")), "payAmount": GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("yzf_repayment_advance_projectId")) }) else: if i['assetPlanOwner'] == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("yzf_repayment_advance_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_type[i['repaymentPlanType']]) i.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), }) elif i['assetPlanOwner'] == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("yzf_repayment_advance_projectId"), environment=env, repayment_plan_type=plan_type[i['repaymentPlanType']], period=i['period']) i.update({ "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), }) for i in param['feePlanList']: i.update({ "planPayDate": Common.get_time("-"), "payTime": 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=env, product="pintic") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功" assert rep['resultCode'] == int(data[0]['msgCode'])
def test_3_repayment_one_period(self, env, r): """拿去花全部结清""" time.sleep(3) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) for per in range(1, 7): plan_type = {"Principal": "1", "Interest": "2"} repayment = GetSqlData.get_repayment_plan_date( project_id=r.get("nqh_repayment_normal_settle_projectId"), environment=env, repayment_plan_type="1", period=per) success_amount = GetSqlData.get_repayment_amount( environment=env, project_id=r.get("nqh_repayment_normal_settle_projectId"), period=per) param['repayment'].update({ "projectId": r.get("nqh_repayment_normal_settle_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": str(repayment.get('plan_pay_date')), "successAmount": success_amount }) for i in param['repaymentDetailList']: plan_pay_type = plan_type.get(i['repaymentPlanType']) repayment_detail = GetSqlData.get_repayment_plan_date( project_id=r.get("nqh_repayment_normal_settle_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=per) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": str(repayment_detail.get('plan_pay_date')), "period": per, "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) for y in param['repaymentPlanList']: plan_pay_type_plan = plan_type.get(y['repaymentPlanType']) if y['assetPlanOwner'] == 'foundPartner': repayment_detail_plan = GetSqlData.get_repayment_plan_date( project_id=r.get( "nqh_repayment_normal_settle_projectId"), environment=env, repayment_plan_type=plan_pay_type_plan, period=per) y.update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "planPayDate": str(repayment_detail_plan.get('plan_pay_date')), "curAmount": float(repayment_detail_plan.get("rest_amount")), "payAmount": float(repayment_detail_plan.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) else: repayment_detail_plan = GetSqlData.get_user_repayment_detail( project_id=r.get( "nqh_repayment_normal_settle_projectId"), environment=env, period=per, repayment_plan_type=plan_pay_type_plan) y.update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "planPayDate": str(repayment_detail_plan.get('plan_pay_date')), "curAmount": float(repayment_detail_plan.get("rest_amount")), "payAmount": float(repayment_detail_plan.get("rest_amount")), "payTime": Common.get_time("-"), "period": per }) 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'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功" assert rep['resultCode'] == int(data[0]['msgCode'])
class credit_apply(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_apply_data') def setUp(self): self.cm = Common() self.r = self.cm.conn_redis() self.env = sys.argv[3] def tearDown(self): pass @ddt.data(*excel_data) def test_credit_apply(self, data): print("接口名称:%s" % data['casename']) param = json.loads(data['param']) if data['yn'] == 'Y' or 'y': self.cm.p2p_get_userinfo('czb') param['personalInfo'].update( {"cardNum": str(self.r.get('cardNum'), encoding='utf8')}) param['personalInfo'].update( {"custName": str(self.r.get('custName').decode())}) param['personalInfo'].update( {"phone": self.cm.get_random('phone')}) param['applyInfo'].update({"applyTime": self.cm.get_time()}) param['riskSuggestion'].update( {"firstCreditDate": self.cm.get_time('-')}) param.update({"sourceUserId": self.cm.get_random('userid')}) param.update({"serviceSn": self.cm.get_random('serviceSn')}) param.update( {"transactionId": self.cm.get_random('transactionId')}) 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']) else: param['applyInfo'].update({"applyTime": self.cm.get_time('-')}) 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.text) logger.info("返回信息:%s" % rep.text) self.assertEqual(str(json.loads(rep.text)['resultCode']), data['resultCode'])
def test_4_after_comp_repay(self, r, env): """借去花代偿后还款""" # noinspection PyGlobalUndefined global period, plan_pay_type, plan_list_detail data = excel_table_byname(self.file, 'after_comp_repay') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) period = 1 param['repayment'].update( { "projectId": r.get("jqh_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), } ) plan_type = { "Principal": "1", "Interest": "2", "Fee": "3" } for i in range(0, len(param['repaymentDetailList'])): plan_pay_type = plan_type[param['repaymentDetailList'][i]['repaymentPlanType']] plan_catecory = param['repaymentDetailList'][i]['planCategory'] asset_plan_owner = param['repaymentDetailList'][i]['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date(project_id=r.get("jqh_projectId"), environment=env, repayment_plan_type=plan_pay_type, period=period) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=3, feecategory=param['repaymentDetailList'][i]['planCategory'] ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": period } ) elif asset_plan_owner == "financePartner": if plan_catecory == 1 or plan_catecory == 2: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=plan_pay_type ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=3, feecategory=param['repaymentDetailList'][i]['planCategory'] ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['repaymentPlanList'])): plan_list_pay_type = plan_type[param['repaymentPlanList'][i]['repaymentPlanType']] plan_list_asset_plan_owner = param['repaymentPlanList'][i]['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=period, repayment_plan_type=plan_list_pay_type ) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get('cur_amount')), "payAmount": float(plan_list_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) elif plan_list_asset_plan_owner == 'foundPartner': plan_list_detail = GetSqlData.get_repayment_plan_date(project_id=r.get("jqh_projectId"), environment=env, repayment_plan_type=plan_list_pay_type, period=param['repaymentPlanList'][i]['period']) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get('cur_amount')), "payAmount": float(plan_list_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['feePlanList'])): plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=r.get("jqh_projectId"), environment=env, period=param['feePlanList'][i]['period'], repayment_plan_type=3, feecategory=param['feePlanList'][i]['feeCategory'] ) param['feePlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "payTime": 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=env, product="pintic" ) assert (rep['resultCode'], data[0]['msgCode']) assert (rep['content']['message'], "交易成功")
def test_105_settle_in_advance_phase_one(self, r, env): """橙分期在第一期提前结清""" data = excel_table_byname(self.file, 'settle_in_advance') param = Common().get_json_data( 'data', 'cfq_12_periods_settle_in_advance_phase_one.json') period = GetSqlData.get_current_period( r.get("cfq_12_periods_projectId"), env) # 剩余在贷本金 debt_amount = float( GetSqlData.get_debt_amount(r.get("cfq_12_periods_projectId"), env)) # 当期利息 rest_interest = float( GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=period, repayment_plan_type="2").get("rest_amount")) param['repayment'].update({ "projectId": r.get("cfq_12_periods_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), }) plan_type = {"Principal": "1", "Interest": "2", "Fee": '3'} for i in param['repaymentDetailList']: i.update({ "sourceRepaymentDetailId": Common.get_random("transactionId"), "relatedPlanId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "period": period }) if i['repaymentPlanType'] == 'Principal': i.update({ "thisPayAmount": GetSqlData.get_all_repayment_amount( environment=env, project_id=r.get("cfq_12_periods_projectId")) }) for i in param['repaymentPlanList']: i.update({ "sourcePlanId": Common.get_random("sourceProjectId"), "payTime": "1970-01-01 00:00:00", "sourceCreateTime": Common.get_time("-"), }) if i['repaymentStatus'] == 'repayment_done': if i['repaymentPlanType'] == 'Principal': i.update({ "curAmount": debt_amount, "payAmount": debt_amount, "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") }) elif i['repaymentPlanType'] == 'Interest': i.update({ "curAmount": rest_interest, "payAmount": rest_interest, "planPayDate": Common.get_time("-"), "payTime": Common.get_time("-") }) else: if i['assetPlanOwner'] == 'financePartner': plan_list_detail1 = GetSqlData.get_user_repayment_detail( project_id=r.get("cfq_12_periods_projectId"), environment=env, period=i['period'], repayment_plan_type=plan_type[i['repaymentPlanType']]) i.update({ "sourcePlanId": plan_list_detail1.get('source_plan_id'), "planPayDate": str(plan_list_detail1.get("plan_pay_date")), "curAmount": float(plan_list_detail1.get("rest_amount")), "payAmount": float(plan_list_detail1.get("rest_amount")), }) elif i['assetPlanOwner'] == 'foundPartner': plan_list_detail2 = GetSqlData.get_repayment_plan_date( project_id=r.get("cfq_12_periods_projectId"), environment=env, repayment_plan_type=plan_type[i['repaymentPlanType']], period=i['period']) i.update({ "sourcePlanId": plan_list_detail2.get('source_plan_id'), "planPayDate": str(plan_list_detail2.get("plan_pay_date")), "curAmount": float(plan_list_detail2.get("rest_amount")), "payAmount": float(plan_list_detail2.get("rest_amount")), }) for i in param['feePlanList']: i.update({ "sourcePlanId": Common.get_random('serviceSn'), "planPayDate": Common.get_time('-'), 'payTime': 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=env, product="pintec") assert rep['resultCode'] == data[0]['msgCode'] assert rep['content']['message'] == "交易成功" assert rep['resultCode'], int(data[0]['msgCode'])
class CreditNone(unittest.TestCase): file = Config().get_item('File', 'jfx_required_case_file') excel_data = excel_table_byname(file, 'credit_none') @classmethod def setUpClass(cls): cls.env = 'qa' cls.url = CreditNone.excel_data[0]['url'] cls.headers = CreditNone.excel_data[0]['headers'] cls.param = CreditNone.excel_data[0]['param'] cls.r = Common.conn_redis(cls.env) def tearDown(self): pass @ddt.data(*excel_data) def test_credit_apply(self, data): """授信申请参数校验""" case = str(data['casename']) print(case) Common.p2p_get_userinfo(environment=self.env, project="jfx") param = json.loads(self.param) param.update({ "sourceUserId": Common.get_random("userid"), "transactionId": Common.get_random("transactionId"), "serviceSn": Common.get_random("serviceSn") }) param["personalInfo"].update({ "custName": self.r.get("jfx_custName"), "cardNum": self.r.get("jfx_cardNum") }) 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].split(".")[1].split("==")[1].replace( " ", "") if Common.is_number(_enum): _enum = int(_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']))
class ApplyNone(unittest.TestCase): file = Config().get_item('File', 'jk_cwshd_required_case_file') excel_data = excel_table_byname(file, 'apply_none') @classmethod def setUpClass(cls): cls.env = 'test' cls.url = ApplyNone.excel_data[0]['url'] cls.headers = ApplyNone.excel_data[0]['headers'] cls.param = ApplyNone.excel_data[0]['param'] cls.r = Common.conn_redis(environment=cls.env) def tearDown(self): pass def credit(self, red): print("授信------") data = excel_table_byname(Config().get_item('File', 'jk_cwshd_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 query_result(self, red): print("授信结果检查-------") GetSqlData.credit_set( environment=self.env, credit_id=self.r.get(red["credit_id"]) ) GetSqlData.check_user_amount(user_id=self.r.get(red["user_id"]), environment=self.env) data = excel_table_byname(Config().get_item('File', 'jk_cwshd_case_file'), 'query_result') param = json.loads(data[0]['param']) param.update({"creditId": self.r.get(red["credit_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(int(data[0]['resultCode']), rep['resultCode']) self.assertEqual(rep['content']['creditStatus'], 1) @ddt.data(*excel_data) def test_apply(self, data): _value = None red =Common.p2p_get_userinfo(environment=self.env, frame="pytest") self.credit(red) self.query_result(red) case = str(data['casename']) print(case) param = json.loads(self.param) param.update( { "sourceProjectId": Common.get_random("sourceProjectId"), "sourceUserId": self.r.get(red["source_user_id"]), "transactionId": self.r.get(red["transaction_id"]) } ) 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"]["applyAmount"] = 30000 param["loanInfo"]["loanAmount"] = 30000 param["cardInfo"]["unifiedSocialCreditCode"] = Common.get_random("businessLicenseNo") 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'])) self.assertIn(_value, rep["errMsg"])
class CreditNone(unittest.TestCase): file = Config().get_item('File', 'jk_cwshd_required_case_file') excel_data = excel_table_byname(file, 'credit_none') @classmethod def setUpClass(cls): cls.env = 'test' cls.url = CreditNone.excel_data[0]['url'] cls.headers = CreditNone.excel_data[0]['headers'] cls.param = CreditNone.excel_data[0]['param'] cls.r = Common.conn_redis(cls.env) def tearDown(self): pass @ddt.data(*excel_data) 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_104_repayment(self): """橙分期24期还款一期""" global period, plan_pay_type, plan_list_detail data = excel_table_byname(self.file, 'repayment') param = json.loads(data[0]['param']) period = 1 param['repayment'].update( { "projectId": self.r.get("cfq_24_periods_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-") } ) plan_type = { "Principal": "1", "Interest": "2", "Fee": "3" } for i in range(0, len(param['repaymentDetailList'])): plan_pay_type = plan_type[param['repaymentDetailList'][i]['repaymentPlanType']] plan_catecory = param['repaymentDetailList'][i]['planCategory'] asset_plan_owner = param['repaymentDetailList'][i]['assetPlanOwner'] if asset_plan_owner == "foundPartner": if plan_catecory == 1 or plan_catecory == 2: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, repayment_plan_type=plan_pay_type, period=period) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, repayment_plan_type="1", period=period) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "payTime": Common.get_time("-"), "period": period } ) elif asset_plan_owner == "financePartner": if plan_catecory == 1 or plan_catecory == 2: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=period, repayment_plan_type=plan_pay_type ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "thisPayAmount": float(user_repayment_detail.get('rest_amount')), "payTime": Common.get_time("-"), "period": period } ) else: user_repayment_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=period, repayment_plan_type="1" ) param['repaymentDetailList'][i].update( { "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(user_repayment_detail.get('plan_pay_date')), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['repaymentPlanList'])): plan_list_pay_type = plan_type[param['repaymentPlanList'][i]['repaymentPlanType']] plan_list_asset_plan_owner = param['repaymentPlanList'][i]['assetPlanOwner'] if plan_list_asset_plan_owner == 'financePartner': plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=period, repayment_plan_type=plan_list_pay_type ) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": period } ) elif plan_list_asset_plan_owner == '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_list_pay_type, period=param['repaymentPlanList'][i]['period']) param['repaymentPlanList'][i].update( { "sourcePlanId": plan_list_detail.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(plan_list_detail.get("rest_amount")), "payAmount": float(plan_list_detail.get("rest_amount")), "payTime": Common.get_time("-"), "period": period } ) for i in range(0, len(param['feePlanList'])): plan_list_detail = GetSqlData.get_user_repayment_detail( project_id=self.r.get("cfq_24_periods_projectId"), environment=self.env, period=param['feePlanList'][i]['period'], repayment_plan_type="1", feecategory=1 ) param['feePlanList'][i].update( { "sourcePlanId": Common.get_random("sourceProjectId"), "planPayDate": str(plan_list_detail.get("plan_pay_date")), "payTime": 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'], data[0]['msgCode']) self.assertEqual(rep['content']['message'], "交易成功")
def test_3_repayment_one_period(self): """随意借还款一期""" time.sleep(5) data = excel_table_byname(self.file, 'repayment') print("接口名称:%s" % data[0]['casename']) param = json.loads(data[0]['param']) success_amount = GetSqlData.get_repayment_amount( environment=self.env, project_id=self.r.get("syj_repayment_advance_projectId"), period=param['repaymentDetailList'][0]['period']) param['repayment'].update({ "projectId": self.r.get("syj_repayment_advance_projectId"), "sourceRepaymentId": Common.get_random("sourceProjectId"), "payTime": Common.get_time("-"), "sourceCreateTime": Common.get_time("-"), "successAmount": success_amount }) plan_type = {"Principal": "1", "Interest": "2"} for i in param['repaymentDetailList']: plan_pay_type = plan_type.get(i['repaymentPlanType']) repayment_detail = GetSqlData.get_repayment_plan_date( project_id=self.r.get("syj_repayment_advance_projectId"), environment=self.env, repayment_plan_type=plan_pay_type, period=i['period']) i.update({ "sourceRepaymentDetailId": Common.get_random("serviceSn"), "sourceCreateTime": Common.get_time("-"), "planPayDate": str(repayment_detail.get('plan_pay_date')), "thisPayAmount": float(repayment_detail.get('rest_amount')), "payTime": Common.get_time("-") }) for y in param['repaymentPlanList']: plan_pay_type_plan = plan_type.get(y['repaymentPlanType']) repayment_detail_plan = GetSqlData.get_repayment_plan_date( project_id=self.r.get("syj_repayment_advance_projectId"), environment=self.env, repayment_plan_type=plan_pay_type_plan, period=y['period']) y.update({ "sourcePlanId": repayment_detail_plan.get('source_plan_id'), "planPayDate": Common.get_time("-"), "curAmount": float(repayment_detail_plan.get("rest_amount")), "payAmount": float(repayment_detail_plan.get("rest_amount")), "payTime": 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="pintic") print("响应信息:%s" % rep) print("返回json:%s" % rep.text) logger.info("返回信息:%s" % rep.text) self.assertEqual( json.loads(rep.text)['resultCode'], data[0]['msgCode']) self.assertEqual(json.loads(rep.text)['content']['message'], "交易成功")
def test_0_credit_apply(self): '''额度授信''' excel = os.path.dirname(os.path.dirname( os.path.abspath(__file__))) + Config().Get_Item( 'File', 'roma_case_file') data = excel_table_byname(excel, 'credit_apply_data') print("接口名称:%s" % data[0]['casename']) self.cm.p2p_get_userinfo('roma') self.r.mset({ "roma_sourceUserId": self.cm.get_random('userid'), "roma_transactionId": self.cm.get_random('transactionId'), "roma_phone": self.cm.get_random('phone'), "roma_firstCreditDate": self.cm.get_time() }) param = json.loads(data[0]['param']) param['personalInfo'].update( {"cardNum": str(self.r.get('roma_cardNum'), encoding='utf8')}) param['personalInfo'].update( {"custName": str(self.r.get('roma_custName').decode())}) param['personalInfo'].update( {"phone": str(self.r.get('roma_phone'), encoding='utf8')}) param['applyInfo'].update({"applyTime": self.cm.get_time()}) param['riskSuggestion'].update({ "firstCreditDate": str(self.r.get('roma_firstCreditDate'), encoding='utf8') }) param.update({ "sourceUserId": str(self.r.get('roma_sourceUserId'), encoding='utf8') }) param.update({"serviceSn": self.cm.get_random('serviceSn')}) param.update({ "transactionId": str(self.r.get('roma_transactionId'), encoding='utf8') }) print("sourceUserId:%s" % self.r.get('roma_sourceUserId')) print("transactionId:%s" % self.r.get('roma_transactionId')) print("phone:%s" % self.r.get('roma_phone')) print("cardNum:%s" % self.r.get('roma_cardNum')) print("custName:%s" % str(self.r.get('roma_custName'), encoding='utf8')) logger.info("phone:%s" % self.r.get('roma_phone')) logger.info("cardNum:%s" % self.r.get('roma_cardNum')) logger.info("custName:%s" % str(self.r.get('roma_custName'), 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) creditId = json.loads(rep.text)['content']['creditId'] userId = json.loads(rep.text)['content']['userId'] self.r.mset({"roma_creditId": creditId, "roma_userId": userId}) print("creditId:%s" % creditId) print("userId:%s" % userId)