コード例 #1
0
 def test_102_query_apply_result(self):
     """进件结果查询"""
     Assert.check_column("wxjk_project", self.env,
                         self.r.get('ddq_3_periods_projectId'))
     GetSqlData.change_project_audit_status(
         project_id=self.r.get('ddq_3_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('ddq_3_periods_sourceProjectId'),
         "projectId":
         self.r.get('ddq_3_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)
コード例 #2
0
ファイル: universal.py プロジェクト: buxiangjie/CloudLoan
    def repurchase(period: int, environment: str, project_id: str,
                   product: str) -> None:
        """
		:param period: 1
		:param environment: test/qa
		:param project_id: str
		:param product: str, 'jfx_sin,jfx_mul,rmkj,jfq,ckshd,cwshd,wxjk'
		:return: None
		"""
        if product == "wxjk":
            for i in range(0, 6):
                Universal.overdue(period + i, environment, project_id, 1)
                Universal._run_swap_task(product, environment)
        elif product == "jfx_mul":
            for i in range(0, 3):
                Universal.overdue(period + i, environment, project_id, 6)
                Universal._run_swap_task(product, environment)
        elif product == "rmkj":
            for i in range(0, 2):
                Universal.overdue(period + i, environment, project_id, 1)
            Universal._run_swap_task(product, environment)
        else:
            Universal.overdue(period, environment, project_id, 3)
            Universal._run_swap_task(product, environment)
            Universal.overdue(period, environment, project_id, 94)
            Universal.overdue(period + 1, environment, project_id, 3)
            Universal._run_swap_task(product, environment)
        Assert.check_swap(period, environment, project_id, False)
コード例 #3
0
ファイル: universal.py プロジェクト: buxiangjie/CloudLoan
    def overdue(period: int,
                environment: str,
                project_id: str,
                day: Optional[int] = None,
                month: Optional[int] = None,
                is_special_repurchase: Optional[bool] = False):
        """
		:param period: 1
		:param environment: test/qa
		:param project_id: str
		:param day: int
		:param month: int
		:param is_special_repurchase: 如果产品为卡卡贷/豆豆钱,则该字段值为True
		:return:
		"""
        plan_pay_date = None
        if all([day, month]):
            raise IOError("逾期时间只能有一个")
        elif (day is None) & (month is None):
            raise IOError("逾期时间至少有一个")
        elif day is not None:
            plan_pay_date = Common.get_new_time("before", "days",
                                                day).split(" ")[0]
        elif month is not None:
            plan_pay_date = str(date.today() -
                                relativedelta(months=month)).split(" ")[0]
        GetSqlData.change_plan_pay_date(environment, project_id, period,
                                        plan_pay_date)
        GetSqlData.change_fee_plan_pay_date(environment, project_id, period,
                                            plan_pay_date)
        Common().trigger_task("overdueForCloudloanJob", environment)
        Assert.check_overdue(period, environment, project_id)
コード例 #4
0
 def test_115_repayment(self):
     """还款流水推送"""
     data = excel_table_byname(self.file, 'repayment')
     param = json.loads(data[0]['param'])
     repayment_plan_list = self.r.get("jfx_6_periods_repayment_plan")
     success_amount = 0.00
     period = 1
     plan_pay_date = GetSqlData.get_repayment_plan_date(
         project_id=self.r.get("jfx_6_periods_projectId"),
         environment=self.env,
         repayment_plan_type=1,
         period=period)
     repayment_detail_list = []
     for i in json.loads(repayment_plan_list):
         if i['period'] == period:
             plan_detail = {
                 "sourceRepaymentDetailId":
                 Common.get_random("transactionId"),
                 "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"),
         "sourceRepaymentId":
         Common.get_random("sourceProjectId"),
         "projectId":
         self.r.get("jfx_6_periods_projectId"),
         "sourceProjectId":
         self.r.get("jfx_6_periods_sourceProjectId"),
         "sourceUserId":
         self.r.get("jfx_6_periods_sourceUserId"),
         "serviceSn":
         Common.get_random("serviceSn"),
         "planPayDate":
         plan_pay_date['plan_pay_date'],
         "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),
                           environment=self.env,
                           product="cloudloan")
     self.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
     Assert.check_repayment(True, self.env,
                            self.r.get('jfx_6_periods_projectId'), param)
コード例 #5
0
    def test_116_repayment(self):
        """还款流水推送:提前全部结清"""
        data = excel_table_byname(self.file, 'repayment')
        param = json.loads(data[0]['param'])
        for per in range(1, 7):
            success_amount = GetSqlData.get_repayment_amount(
                project_id=self.r.get("jfx_6_periods_projectId"),
                environment=self.env,
                period=per)
            param.update({
                "projectId":
                self.r.get('jfx_6_periods_projectId'),
                "transactionId":
                self.r.get('jfx_6_periods_transactionId'),
                "sourceProjectId":
                self.r.get('jfx_6_periods_sourceProjectId'),
                "sourcePlanId":
                Common.get_random('sourceProjectId'),
                "sourceRepaymentId":
                Common.get_random("transactionId"),
                "planPayDate":
                Common.get_repaydate(6)[per - 1],
                "payTime":
                Common.get_time('-'),
                "successAmount":
                float(success_amount),
                "period":
                per
            })
            for i in range(len(param['repaymentDetailList'])):
                pay_detail = GetSqlData.get_repayment_plan_date(
                    project_id=self.r.get('jfx_6_periods_projectId'),
                    environment=self.env,
                    repayment_plan_type=param['repaymentDetailList'][i]
                    ['planCategory'],
                    period=per)
                param['repaymentDetailList'][i].update({
                    "sourceRepaymentDetailId":
                    Common.get_random("serviceSn"),
                    "payAmount":
                    float(pay_detail.get("cur_amount"))
                })
            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']))
            Assert.check_repayment(True, self.env,
                                   self.r.get('jfx_6_periods_projectId'),
                                   param)
コード例 #6
0
 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)
コード例 #7
0
 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'])
コード例 #8
0
	def test_113_offline_repay_repayment(self, r, env, red):
		"""线下还款流水推送:正常还一期"""
		data = excel_table_byname(self.file, 'offline_repay')
		param = json.loads(data[0]['param'])
		period = 1
		plan_pay_date = GetSqlData.get_repayment_plan_date(
			project_id=r.get(red["project_id"]),
			environment=env,
			repayment_plan_type=1,
			period=period
		)
		repayment_plan_list = r.get(red["repayment_plan"])
		success_amount = 0.00
		repayment_detail_list = []
		for i in json.loads(repayment_plan_list):
			if i['period'] == period:
				plan_detail = {
					"sourceRepaymentDetailId": Common.get_random("transactionId"),
					"payAmount": i['restAmount'],
					"planCategory": i['repaymentPlanType']
				}
				success_amount = round(success_amount + float(plan_detail.get("payAmount")), 2)
				repayment_detail_list.append(plan_detail)
		param.update(
			{
				"projectId": r.get(red["project_id"]),
				"transactionId": r.get(red["transaction_id"]),
				"sourceProjectId": r.get(red["source_project_id"]),
				"sourceRepaymentId": Common.get_random("sourceProjectId"),
				"planPayDate": plan_pay_date['plan_pay_date'],
				"successAmount": success_amount,
				"payTime": Common.get_time("-"),
				"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=env
		)
		assert rep['resultCode'] == int(data[0]['resultCode'])
		Assert.check_repayment(True, env, r.get(red["project_id"]), param)
コード例 #9
0
ファイル: universal.py プロジェクト: buxiangjie/CloudLoan
    def compensation(period: int, environment: str, project_id: str,
                     product: str) -> None:
        """
		:param period: 1
		:param environment: test/qa
		:param project_id: str
		:param product: str, 'jfx_sin,jfx_mul,rmkj,jfq,ckshd,cwshd,wxjk'
		:return: None
		"""
        if product == "wxjk":
            Universal.overdue(period, environment, project_id, 1)
        elif product == "jfx_mul":
            Universal.overdue(period, environment, project_id, 6)
        else:
            Universal.overdue(period, environment, project_id, 3)
        Universal._run_swap_task(product, environment)
        Assert.check_swap(period, environment, project_id)
コード例 #10
0
 def test_111_query_repayment_plan(self, r, env, red):
     """还款计划查询"""
     data = excel_table_byname(self.file, 'repayment_plan')
     param = json.loads(data[0]['param'])
     param.update({"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 int(data[0]['resultCode']) == rep['resultCode']
     Assert.check_repayment(False, env, r.get(red["project_id"]))
     r.setex(red["repayment_plan"], 72000,
             json.dumps(rep['content']['repaymentPlanList']))
コード例 #11
0
 def test_101_query_result(self, r, env, red):
     """授信结果查询"""
     Assert.check_column("jfx_credit", env, r.get(red["credit_id"]))
     GetSqlData.credit_set(environment=env,
                           credit_id=r.get(red["credit_id"]))
     data = excel_table_byname(self.file, 'credit_query_result')
     param = json.loads(data[0]['param'])
     param.update({"creditId": 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=env)
     assert int(data[0]['resultCode']) == rep['resultCode']
コード例 #12
0
 def test_115_deduction_apply(self, r, env, red):
     """主动还款:正常还一期"""
     data = excel_table_byname(self.file, 'deduction_apply')
     param = json.loads(data[0]['param'])
     repayment_plan_list = r.get(red["repayment_plan"])
     success_amount = 0.00
     repayment_detail_list = []
     period = 1
     for i in json.loads(repayment_plan_list):
         if i['period'] == period:
             plan_detail = {
                 "period": 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": r.get(red["project_id"]),
         "sourceProjectId": r.get(red["source_project_id"]),
         "sourceUserId": r.get(red["source_user_id"]),
         "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'])
     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=env)
     assert rep['resultCode'] == int(data[0]['resultCode'])
     Assert.check_repayment(True, env, r.get(red["project_id"]), param)
     r.setex(red["deduction_task_id"], 72000,
             rep['content']['deductionTaskId'])
コード例 #13
0
 def test_113_repayment(self, r, env, red):
     """还款流水推送:全部结清"""
     data = excel_table_byname(self.file, 'repayment')
     param = json.loads(data[0]['param'])
     for per in range(1, 13):
         repayment_plan_list = r.get(red["repayment_plan"])
         success_amount = 0.00
         repayment_detail_list = []
         for i in json.loads(repayment_plan_list):
             if i['period'] == per:
                 plan_detail = {
                     "sourceRepaymentDetailId":
                     Common.get_random("transactionId"),
                     "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": r.get(red["project_id"]),
             "sourceProjectId": r.get(red["source_project_id"]),
             "sourceUserId": r.get(red["source_user_id"]),
             "serviceSn": Common.get_random("serviceSn"),
             "payTime": Common.get_time("-"),
             "successAmount": success_amount,
             "period": per
         })
         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),
                               environment=env,
                               product="cloudloan")
         assert rep['resultCode'] == int(data[0]['resultCode'])
         Assert.check_repayment(True, env, r.get(red["project_id"]), param)
コード例 #14
0
ファイル: test_jfx_tp.py プロジェクト: buxiangjie/CloudLoan
	def test_110_query_repaymentplan(self):
		"""还款计划查询"""
		data = excel_table_byname(self.file, 'repayment_plan')
		param = json.loads(data[0]['param'])
		param.update({"projectId": self.r.get('jfx_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(int(data[0]['resultCode']), rep['resultCode'])
		Assert.check_repayment(False, self.env, self.r.get("jfx_projectId"))
		self.r.set("jfx_repayment_plan", json.dumps(rep['content']['repaymentPlanList']))
コード例 #15
0
 def test_101_query_result(self):
     """授信结果查询"""
     Assert.check_column("jfx_credit", self.env,
                         self.r.get("jfx_6_periods_creditId"))
     GetSqlData.credit_set(environment=self.env,
                           credit_id=self.r.get("jfx_6_periods_creditId"))
     data = excel_table_byname(self.file, 'credit_query_result')
     param = json.loads(data[0]['param'])
     param.update({"creditId": self.r.get('jfx_6_periods_creditId')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = Common.response(faceaddr=data[0]['url'],
                           headers=headers,
                           data=json.dumps(param, ensure_ascii=False),
                           product="cloudloan",
                           environment=self.env)
     self.assertEqual(int(data[0]['resultCode']), rep['resultCode'])
     self.assertEqual(rep['content']['creditStatus'], 1)
コード例 #16
0
 def test_105_query_apply_result(self, r, env, red):
     """进件结果查询"""
     Assert.check_column("jfx_project", env, r.get(red["project_id"]))
     GetSqlData.change_project_audit_status(project_id=r.get(
         red["project_id"]),
                                            environment=env)
     data = excel_table_byname(self.file, 'project_query_apply_result')
     param = json.loads(data[0]['param'])
     param.update({
         "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 int(data[0]['resultCode']) == rep['resultCode']
コード例 #17
0
 def test_112_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("rmkj_9_periods_sourceProjectId"),
         "projectId":
         self.r.get("rmkj_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']))
     Assert.check_repayment(False, self.env,
                            self.r.get("rmkj_6_periods_projectId"))
     self.r.set("rmkj_9_periods_repayment_plan",
                json.dumps(rep['content']['repaymentPlanList']))