Exemplo n.º 1
0
def set_driver(system):
    if system == 'mac':
        Config().Set_Item('Driver', 'system', system)
        logger.info("driver:%s设置成功" % system)
    elif system == 'linux':
        Config().Set_Item('Driver', 'system', system)
        logger.info("driver:%s设置成功" % system)
    elif system == 'windows':
        Config().Set_Item('Driver', 'system', system)
        logger.info("driver:%s设置成功" % system)
    else:
        raise Exception("不支持该系统设置driver")
Exemplo n.º 2
0
class api_credit_notify(unittest.TestCase):
    excel = os.path.dirname(os.path.dirname(
        os.path.abspath(__file__))) + Config().Get_Item(
            'File', '51_case_file')
    excel_data = excel_table_byname(excel, 'api_credit_notify')

    def setUp(self):
        self.cm = Common()

    def tearDown(self):
        pass

    @ddt.data(*excel_data)
    def test_api_credit_notify(self, data):
        print("接口名称:%s" % data['casename'])
        param = data['param']
        if len(data['headers']) == 0:
            headers = None
        else:
            headers = json.loads(data['headers'])
        rep = self.cm.Response(faceaddr=data['url'],
                               headers=headers,
                               product='51',
                               param=json.dumps(
                                   param, ensure_ascii=False).encode('utf-8'))
        print("返回信息:%s" % rep.text)
        logger.info("返回信息:%s" % rep.text)
        self.assertEqual(str(json.loads(rep.text)['msgCode']), data['msgCode'],
                         '返回code不一致')
Exemplo n.º 3
0
class credit_query_result(unittest.TestCase):
    excel = os.path.dirname(os.path.dirname(
        os.path.abspath(__file__))) + Config().Get_Item(
            'File', 'czb_case_file')
    excel_data = excel_table_byname(excel, 'credit_query_result')

    def setUp(self):
        self.cm = Common()
        self.env = sys.argv[3]

    def tearDown(self):
        pass

    @ddt.data(*excel_data)
    def test_credit_query_result(self, data):
        print("接口名称:%s" % data['casename'])
        param = json.loads(data['param'])
        if len(data['headers']) == 0:
            headers = None
        else:
            headers = json.loads(data['headers'])
        rep = self.cm.Response(faceaddr=data['url'],
                               headers=headers,
                               param=json.dumps(
                                   param, ensure_ascii=False).encode('utf-8'),
                               environment=self.env)
        print("响应结果:%s" % rep)
        print("返回信息:%s" % rep.text)
        logger.info("返回信息:%s" % rep.text)
        self.assertEqual(str(json.loads(rep.text)['resultCode']),
                         data['resultCode'])
Exemplo n.º 4
0
 def test_2_51_api_credit_notify(self):
     '''银行授信结果通知'''
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', '51_case_file')
     data = excel_table_byname(excel, 'api_credit_notify')
     print("接口名称:%s" % data[0]['casename'])
     param = json.loads(data[0]['param'])
     param.update({"requestNum": self.cm.get_random('requestNum')})
     param.update({"requestTime": self.cm.get_time('null')})
     param['requestBody'].update(
         {"creditApplyNo": self.r.get('creditApplyNo')})
     param['requestBody'].update({"creditNo": self.r.get('creditNo')})
     param['requestBody'].update({"cardId": self.r.get('cardId')})
     param['requestBody'].update(
         {"fullName": self.r.get('fullName').decode()})
     param['requestBody'].update({"creditBeginDate": self.cm.get_time('-')})
     param['requestBody'].update({"CreditEndDate": self.cm.get_time('-')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            product='51',
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'))
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
class JfqPorject(unittest.TestCase):
    file = Config().get_item('File', 'jfq_required_case_file')
    excel_data = excel_table_byname(file, 'apply_null')

    @classmethod
    def setUpClass(cls):
        cls.env = 'test'
        cls.url = JfqPorject.excel_data[0]['url']
        cls.headers = JfqPorject.excel_data[0]['headers']
        cls.param = JfqPorject.excel_data[0]['param']

    def tearDown(self):
        pass

    @ddt.data(*excel_data)
    def test_project(self, data):
        case = data['casename']
        param = json.loads(self.param)
        key = str(case).split("空")[1].split(".")[0]
        value = str(case).split("空")[1].split(".")[1]
        del param[key][value]
        headers = json.loads(self.headers)
        rep = Common.response(faceaddr=self.url,
                              headers=headers,
                              data=json.dumps(param, ensure_ascii=False),
                              product='cloudloan',
                              environment=self.env)
        self.assertEqual(rep['resultCode'], int(data['resultCode']))
Exemplo n.º 6
0
 def test_B_repay(self):
     """还款确认"""
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', 'roma_case_file')
     data = excel_table_byname(excel, 'repay')
     param = json.loads(data[0]['param'])
     assetId = self.cm.get_sql_data('czb',
                                    'dev1',
                                    project_id=str(
                                        self.r.get('roma_projectId'),
                                        encoding='utf-8'),
                                    factor='id',
                                    select='assert')
     param.update({"assetId": assetId})
     param.update({"clearTime": self.cm.get_time('-')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'),
                            product='roma',
                            environment=self.env)
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
Exemplo n.º 7
0
 def test_7_pfa(self):
     '''放款'''
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', 'roma_case_file')
     data = excel_table_byname(excel, 'project_loan')
     param = json.loads(data[0]['param'])
     param.update({
         "sourceProjectId":
         str(self.r.get('roma_sourceProjectId'), encoding='utf8')
     })
     param.update(
         {"projectId": str(self.r.get('roma_projectId'), encoding='utf8')})
     param.update({
         "sourceUserId":
         str(self.r.get('roma_sourceUserId'), encoding='utf8')
     })
     param.update({"serviceSn": self.cm.get_random('serviceSn')})
     param.update({"accountName": self.r.get('roma_custName').decode()})
     param.update({"id": str(self.r.get('roma_cardNum'), encoding='utf8')})
     self.r.set("roma_pfa_serviceSn", param['serviceSn'])
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'),
                            product='roma',
                            environment=self.env)
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
Exemplo n.º 8
0
 def test_6_contract_sign(self):
     '''上传借款合同'''
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', 'roma_case_file')
     data = excel_table_byname(excel, 'contract_sign')
     print("接口名称:%s" % data[0]['casename'])
     param = self.cm.get_json_data('roma_contract_sign.json')
     param.update({"serviceSn": self.cm.get_random('serviceSn')})
     param.update({
         "sourceUserId":
         str(self.r.get('roma_sourceUserId'), encoding='utf8')
     })
     param.update({"contractType": 2})
     param.update({"sourceContractId": self.cm.get_random('userid')})
     param.update({
         "transactionId":
         str(self.r.get('roma_transactionId'), encoding='utf8')
     })
     param.update({
         "associationId":
         str(self.r.get('roma_projectId'), encoding='utf8')
     })
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'),
                            product='roma',
                            environment=self.env)
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
Exemplo n.º 9
0
 def test_5_query_apply_result(self):
     '''进件结果查询'''
     time.sleep(10)
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', 'roma_case_file')
     data = excel_table_byname(excel, 'project_query_apply_result')
     print("接口名称:%s" % data[0]['casename'])
     param = json.loads(data[0]['param'])
     param.update({
         "sourceProjectId":
         str(self.r.get('roma_sourceProjectId'), encoding='utf8')
     })
     param.update(
         {"projectId": str(self.r.get('roma_projectId'), encoding='utf8')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'),
                            product='roma',
                            environment=self.env)
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
Exemplo n.º 10
0
 def credit(self, red):
     print("授信------")
     data = excel_table_byname(Config().get_item('File', 'zqys_case_file'),
                               'credit')
     self.r.setex(red["source_user_id"], 72000, Common.get_random("userid"))
     self.r.setex(red["transaction_id"], 72000,
                  Common.get_random('transactionId'))
     self.r.setex(red["phone"], 72000, Common.get_random('phone'))
     self.r.setex(red["first_credit_date"], 72000, Common.get_time())
     param = json.loads(data[0]['param'])
     param['personalInfo'].update({
         "cardNum": self.r.get(red["id_card"]),
         "custName": self.r.get(red["user_name"]),
         "phone": self.r.get(red["phone"])
     })
     param['applyInfo'].update({"applyTime": Common.get_time()})
     param['entityInfo']['unifiedSocialCreditCode'] = Common.get_random(
         "businessLicenseNo")
     param.update({
         "sourceUserId": self.r.get(red["source_user_id"]),
         "serviceSn": Common.get_random('serviceSn'),
         "transactionId": self.r.get(red["transaction_id"])
     })
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = Common.response(faceaddr=data[0]['url'],
                           headers=headers,
                           data=json.dumps(param, ensure_ascii=False),
                           product="cloudloan",
                           environment=self.env)
     self.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
     self.r.setex(red["credit_id"], 72000, rep['content']['creditId'])
     self.r.setex(red["user_id"], 72000, rep['content']['userId'])
Exemplo n.º 11
0
	def test_4_project_apply(self):
		'''进件'''
		excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file')
		data = excel_table_byname(excel, 'test_project')
		print("接口名称:%s" % data[0]['casename'])
		param = json.loads(data[0]['param'])
		self.r.set('sourceProjectId', self.cm.get_random('sourceProjectId'))
		param.update({"sourceProjectId": str(self.r.get('sourceProjectId'), encoding='utf8')})
		param.update({"sourceUserId": str(self.r.get('sourceUserId'), encoding='utf8')})
		param.update({"transactionId": str(self.r.get('transactionId'), encoding='utf8')})
		param['personalInfo'].update({"cardNum": str(self.r.get('cardNum'), encoding='utf8')})
		param['personalInfo'].update({"custName": self.r.get('custName').decode()})
		param['personalInfo'].update({"phone": str(self.r.get('phone'), encoding='utf8')})
		param['applyInfo'].update({"applyTime": self.cm.get_time()})
		param['riskSuggestion'].update({"firstCreditDate": str(self.r.get('firstCreditDate'), encoding='utf8')})
		if len(data[0]['headers']) == 0:
			headers = None
		else:
			headers = json.loads(data[0]['headers'])
		rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers,
							   param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env)
		print("返回信息:%s" % rep.text)
		projectId = json.loads(rep.text)['content']['projectId']
		self.r.set('projectId', projectId)
		print("projectId:%s" % self.r.get('projectId'))
		print("sourceProjectId:%s" % self.r.get('sourceProjectId'))
		self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
Exemplo n.º 12
0
 def credit_set(environment: str, credit_id: str) -> str:
     """授信时调用,根据环境判断是否需要等待补偿"""
     Ulog().logger_().info("开始检查授信步骤")
     if Config().get_item("Switch", "credit") == "1":
         # GetSqlData.change_credit_step(environment, credit_id)
         GetSqlData.change_credit_status(environment, credit_id)
         GetSqlData.change_athena_status(environment, credit_id)
         time.sleep(1)
         Common.trigger_task(job_name="creditReparationJob",
                             env=environment)
     status = 2
     version = 1
     while status != 4:
         if version > 20:
             Ulog().logger_().info("授信未成功")
             break
         step = GetSqlData().check_credit_step(environment, credit_id)
         if step != 4:
             Ulog().logger_().info(f"当前授信步骤为:{step:d};当前循环次数为:{version:d}")
             Common.trigger_task(job_name="creditReparationJob",
                                 env=environment)
             version += 1
             time.sleep(2)
         elif step == 4:
             Ulog().logger_().info("当前授信已完成,可以进行下个步骤!")
             status = 4
Exemplo n.º 13
0
 def test_3_51_api_withdraw(self):
     '''用户支用申请'''
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', '51_case_file')
     data = excel_table_byname(excel, 'api_withdraw')
     print("接口名称:%s" % data[0]['casename'])
     self.r.set("applyNo", self.cm.get_random('sourceProjectId'))
     param = json.loads(data[0]['param'])
     param.update({"requestNum": self.cm.get_random('requestNum')})
     param.update({"requestTime": self.cm.get_time('null')})
     param['requestBody'].update({"applyNo": self.r.get('applyNo')})
     param['requestBody'].update(
         {"creditApplyNo": self.r.get('creditApplyNo')})
     param['requestBody'].update({"creditNo": self.r.get('creditNo')})
     param['requestBody'].update(
         {"fullName": self.r.get('fullName').decode()})
     param['requestBody'].update({"cardId": self.r.get('cardId')})
     param['requestBody'].update({"mobile": self.r.get('mobile')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            product='51',
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'))
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
     ItemNo = json.loads(rep.text)['ItemNo']
     self.r.set('ItemNo', ItemNo)
     print("ItemNo:%s" % ItemNo)
     logger.info("ItemNo:%s" % ItemNo)
Exemplo n.º 14
0
class KkdApply(unittest.TestCase):
    file = Config().get_item('File', 'kkd_required_case_file')
    excel_data = excel_table_byname(file, 'apply')

    @classmethod
    def setUpClass(cls):
        cls.env = "qa"
        cls.param = KkdApply.excel_data[0]['param']
        cls.headers = KkdApply.excel_data[0]['headers']
        cls.url = KkdApply.excel_data[0]['url']

    @ddt.data(*excel_data)
    def test_apply(self, data):
        case = data['casename']
        param = json.loads(self.param)
        key = str(case).split("项")[1].split(".")[0]
        value = str(case).split("项")[1].split(".")[1]
        if value is '*':
            del param[key]
        else:
            del param[key][value]
        if len(self.headers) == 0:
            headers = None
        else:
            headers = json.loads(self.headers)
        rep = Common.response(faceaddr=self.url,
                              headers=headers,
                              data=json.dumps(param, ensure_ascii=False),
                              product='cloudloan',
                              environment=self.env)
        self.assertEqual(rep['resultCode'], int(data['resultCode']))
Exemplo n.º 15
0
def all_case(dirs: str, file):
    """批量添加用例到测试套件"""
    case_dir = Config().get_item(section="CaseFile", option=dirs)
    logger.info("用例执行文件夹%s" % case_dir)
    cases = unittest.TestSuite()
    discover = unittest.defaultTestLoader.discover(case_dir,
                                                   pattern=file,
                                                   top_level_dir=None)

    for test_suit in discover:
        for test_case in test_suit:
            cases.addTest(test_case)
    return cases
Exemplo n.º 16
0
    def change_project_audit_status(project_id: str, environment: str):
        """修改进件审核状态为通过"""
        if Config().get_item("Switch", "project") == '1':
            Ulog().logger_().info("风控已关闭,走虚拟进件风控逻辑")
            sql = f"""
						UPDATE sandbox_saas.project_detail
						SET audit_status = 2, audit_result = 1, project_step = 5
						WHERE id = {project_id};
					"""
            GetSqlData.exec_update(environment, sql)
        else:
            Ulog().logger_().info("风控开关已开启,走真实风控流程")
            GetSqlData.project_result(project_id, environment)
Exemplo n.º 17
0
	def test_A_pre_clear_calculate(self):
		'''提前结清试算'''
		excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file')
		data = excel_table_byname(excel, 'pre_clear_calculate')
		param = json.loads(data[0]['param'])
		param.update({"projectId": str(self.r.get('projectId'), encoding='utf8')})
		if len(data[0]['headers']) == 0:
			headers = None
		else:
			headers = json.loads(data[0]['headers'])
		rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers,
							   param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env)
		print("返回信息:%s" % rep.text)
		logger.info("返回信息:%s" % rep.text)
		self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
Exemplo n.º 18
0
	def test_8_pfa_query(self):
		'''放款结果查询'''
		time.sleep(10)
		excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file')
		data = excel_table_byname(excel, 'pfa_query')
		param = json.loads(data[0]['param'])
		param.update({"serviceSn": str(self.r.get('pfa_serviceSn'), encoding='utf8')})
		if len(data[0]['headers']) == 0:
			headers = None
		else:
			headers = json.loads(data[0]['headers'])
		rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers,
							   param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env)
		print("返回信息:%s" % rep.text)
		logger.info("返回信息:%s" % rep.text)
		self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
Exemplo n.º 19
0
	def test_2_query_user_amount(self):
		'''用户额度查询'''
		excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file')
		data = excel_table_byname(excel, 'query_user_amount')
		print("接口名称:%s" % data[0]['casename'])
		param = json.loads(data[0]['param'])
		param.update({"sourceUserId": str(self.r.get('sourceUserId'), encoding='utf8')})
		param.update({"userId": str(self.r.get('userId'), encoding='utf8')})
		if len(data[0]['headers']) == 0:
			headers = None
		else:
			headers = json.loads(data[0]['headers'])
		rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers,
							   param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env)
		print("返回信息:%s" % rep.text)
		logger.info("返回信息:%s" % rep.text)
		self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
Exemplo n.º 20
0
class DeductionApply(unittest.TestCase):
	file = Config().get_item('File', 'rmkj_required_case_file')
	excel_data = excel_table_byname(file, 'deduction_apply')

	def setUp(self):
		self.env = sys.argv[3]

	def tearDown(self):
		pass

	@ddt.data(*excel_data)
	def test_deduction_apply(self, data):
		param = json.loads(data['param'])
		headers = json.loads(data['headers'])
		rep = Common.response(faceaddr=data['url'], headers=headers,
							  data=json.dumps(param, ensure_ascii=False), product='cloudloan',
							  environment=self.env)
		self.assertEqual(int(rep['resultCode']), data['resultCode'])
class RomaCreditApplyNull(unittest.TestCase):
	file = Config().get_item('File', 'new_roma_required_case_file')
	excel_data = excel_table_byname(file, 'credit_apply_data_null')
	param = excel_data[0]['param']
	url = excel_data[0]['url']
	headers = excel_data[0]['headers']
	env = "test"

	@ddt.data(*excel_data)
	def test_credit_apply(self, data):
		case = data['casename']
		param = json.loads(self.param)
		key = str(case).split("空")[1].split(".")[0]
		value = str(case).split("空")[1].split(".")[1]
		if "List" in key:
			param[key][0][value] = None
		elif "已婚" in str(case).split("空")[0]:
			param['personal']['maritalStatus'] = 1
			param[key][value] = None
Exemplo n.º 22
0
class api_credit(unittest.TestCase):
    excel = os.path.dirname(os.path.dirname(
        os.path.abspath(__file__))) + Config().Get_Item(
            'File', '51_case_file')
    excel_data = excel_table_byname(excel, 'api_credit')

    def setUp(self):
        self.cm = Common()

    def tearDown(self):
        pass

    @ddt.data(*excel_data)
    def test_api_credit(self, data):
        print("接口名称:%s" % data['casename'])
        if data['yn'] == 'Y' or 'y':
            borrowser = get_borrowser()
            param = json.loads(data[0]['param'])
            param.update({"requestNum": self.cm.get_random('requestNum')})
            param.update({"requestTime": self.cm.get_time('null')})
            param['requestBody'].update(
                {"creditApplyNo": self.cm.get_random('transactionId')})
            param['requestBody'].update(
                {"productId": self.cm.get_random('sourceProjectId')})
            param['requestBody'].update({"fullName": borrowser['name']})
            param['requestBody'].update({"cardId": borrowser['idcard']})
            param['requestBody'].update(
                {"mobile": self.cm.get_random('phone')})
            param = data['param']
            if len(data['headers']) == 0:
                headers = None
            else:
                headers = json.loads(data['headers'])
            rep = self.cm.Response(
                faceaddr=data['url'],
                headers=headers,
                product='51',
                param=json.dumps(param, ensure_ascii=False).encode('utf-8'))
            print("返回信息:%s" % rep.text)
            logger.info("返回信息:%s" % rep.text)
            self.assertEqual(str(json.loads(rep.text)['msgCode']),
                             data['msgCode'], '返回code不一致')
Exemplo n.º 23
0
 def query_result(self):
     print("授信结果检查-------")
     GetSqlData.credit_set(environment=self.env,
                           credit_id=self.r.get("jfx_creditId"))
     GetSqlData.check_user_amount(user_id=self.r.get("jfx_userId"),
                                  environment=self.env)
     data = excel_table_byname(Config().get_item('File', 'jfx_case_file'),
                               'credit_query_result')
     param = json.loads(data[0]['param'])
     param.update({"creditId": self.r.get('jfx_creditId')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = Common.response(faceaddr=data[0]['url'],
                           headers=headers,
                           data=json.dumps(param, ensure_ascii=False),
                           product="cloudloan",
                           environment=self.env)
     self.assertEqual(int(data[0]['resultCode']), rep['resultCode'])
     self.assertEqual(rep['content']['creditStatus'], 1)
Exemplo n.º 24
0
	def test_3_sign_credit(self):
		'''上传授信协议'''
		excel = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) + Config().Get_Item('File', 'czb_case_file')
		data = excel_table_byname(excel, 'contract_sign')
		print("接口名称:%s" % data[0]['casename'])
		param = self.cm.get_json_data('chezhibao_contract_sign.json')
		param.update({"serviceSn": self.cm.get_random('serviceSn')})
		param.update({"sourceUserId": str(self.r.get('sourceUserId'), encoding='utf8')})
		param.update({"contractType": 1})
		param.update({"sourceContractId": self.cm.get_random('userid')})
		param.update({"transactionId": str(self.r.get('transactionId'), encoding='utf8')})
		param.update({"associationId": str(self.r.get('creditId'), encoding='utf8')})
		if len(data[0]['headers']) == 0:
			headers = None
		else:
			headers = json.loads(data[0]['headers'])
		rep = self.cm.Response(faceaddr=data[0]['url'], headers=headers,
							   param=json.dumps(param, ensure_ascii=False).encode('utf-8'), environment=self.env)
		print("返回信息:%s" % rep.text)
		logger.info("返回信息:%s" % rep.text)
		self.assertEqual(json.loads(rep.text)['resultCode'], int(data[0]['resultCode']))
Exemplo n.º 25
0
 def credit(self):
     print("授信------")
     data = excel_table_byname(Config().get_item('File', 'jfx_case_file'),
                               'credit_apply_data')
     Common.p2p_get_userinfo('jfx', self.env)
     self.r.mset({
         "jfx_sourceUserId": Common.get_random('userid'),
         'jfx_transactionId': Common.get_random('transactionId'),
         "jfx_phone": Common.get_random('phone'),
         "jfx_firstCreditDate": Common.get_time()
     })
     param = json.loads(data[0]['param'])
     param['personalInfo'].update({
         "cardNum": self.r.get('jfx_cardNum'),
         "custName": self.r.get('jfx_custName'),
         "phone": self.r.get('jfx_phone')
     })
     param['applyInfo'].update({"applyTime": Common.get_time()})
     param['entityInfo']['unifiedSocialCreditCode'] = Common.get_random(
         "businessLicenseNo")
     param.update({
         "sourceUserId": self.r.get('jfx_sourceUserId'),
         "serviceSn": Common.get_random('serviceSn'),
         "transactionId": self.r.get('jfx_transactionId')
     })
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = Common.response(faceaddr=data[0]['url'],
                           headers=headers,
                           data=json.dumps(param, ensure_ascii=False),
                           product="cloudloan",
                           environment=self.env)
     self.assertEqual(rep['resultCode'], int(data[0]['resultCode']))
     self.r.mset({
         "jfx_creditId": rep['content']['creditId'],
         "jfx_userId": rep['content']['userId']
     })
Exemplo n.º 26
0
 def test_0_api_credit(self):
     '''授信申请'''
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', '51_case_file')
     data = excel_table_byname(excel, 'api_credit')
     borrowser = get_borrowser()
     print("接口名称:%s" % data[0]['casename'])
     self.cm.p2p_get_userinfo('51')
     self.r.mset({
         "mobile": self.cm.get_random('phone'),
         "creditApplyNo": self.cm.get_random('transactionId'),
         "productId": self.cm.get_random('sourceProjectId')
     })
     param = json.loads(data[0]['param'])
     param.update({"requestNum": self.cm.get_random('requestNum')})
     param.update({"requestTime": self.cm.get_time('null')})
     param['requestBody'].update(
         {"creditApplyNo": self.r.get('creditApplyNo')})
     param['requestBody'].update({"productId": self.r.get('productId')})
     param['requestBody'].update(
         {"fullName": self.r.get('fullName').decode()})
     param['requestBody'].update({"cardId": self.r.get('cardId')})
     param['requestBody'].update({"mobile": self.r.get('mobile')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            product='51',
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'))
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
     creditNo = json.loads(rep.text)['creditNo']
     self.r.set('creditNo', creditNo)
     print("creditNo:%s" % creditNo)
     logger.info("creditNo:%s" % creditNo)
Exemplo n.º 27
0
 def test_4_51_api_query_withdraw(self):
     '''用户支用申请结果查询'''
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', '51_case_file')
     data = excel_table_byname(excel, 'api_query_withdraw')
     print("接口名称:%s" % data[0]['casename'])
     param = json.loads(data[0]['param'])
     param.update({"requestNum": self.cm.get_random('requestNum')})
     param.update({"requestTime": self.cm.get_time('null')})
     param['requestBody'].update({"applyNo": self.r.get('applyNo')})
     param['requestBody'].update({"itemNo": self.r.get('ItemNo')})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            product='51',
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'))
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)
class RomaCreditApply(unittest.TestCase):
    file = Config().get_item('File', 'new_roma_required_case_file')
    excel_data = excel_table_byname(file, 'credit_apply_data_new')
    param = excel_data[0]['param']
    url = excel_data[0]['url']
    headers = excel_data[0]['headers']
    env = 'test'

    @ddt.data(*excel_data)
    def test_credit_apply(self, data):
        case = data['casename']
        param = json.loads(self.param)
        key = str(case).split("项")[1].split(".")[0]
        value = str(case).split("项")[1].split(".")[1]
        aim = 0
        if value is '*':
            del param[key]
        else:
            if "List" in key:
                aim = 1
            if "已婚" in str(case).split("项")[0]:
                param['personal']['maritalStatus'] = 1
            if "无合同" in str(case).split("项")[0]:
                param['orderDetail']['isHasContract'] = 'N'
Exemplo n.º 29
0
    def change_pay_status(environment: str, project_id: str):
        """修改steamrunner.pay_order的放款状态为成功"""
        finish_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
        # finish_time = "2021-03-29 00:00:00"
        if Config().get_item("Switch", "loan") == '1':
            Ulog().logger_().info("放款开关已关闭,走虚拟放款逻辑")
            sql1 = f"""
				Update sandbox_saas_steamrunner.sr_pay_order 
				set code=2000,msg='成功',finish_time='{finish_time}' 
				where project_id={project_id};
				"""
            sql2 = f"""
				Update sandbox_saas.project_loan_flow
				set loan_result=2
				where project_id={project_id};
				"""
            sql3 = f"""
				Update sandbox_saas.project_loan_record
				set loan_result=2 
				where project_id={project_id};
				"""
            sql4 = f"""
				Update sandbox_saas.project_detail
				set loan_result=2,loan_status=0,loan_step=0
				where id={project_id};
				"""
            time.sleep(3)
            if GetSqlData.check_pay_order_code(environment,
                                               project_id) in (2002, 2003):
                sqls = [sql1, sql2, sql3, sql4]
            else:
                sqls = [sql1]
            for sql in sqls:
                GetSqlData.exec_update(environment, sql)
        else:
            Ulog().logger_().info("放款开关已开启,走真实放款流程")
Exemplo n.º 30
0
 def test_5_51_api_withdraw_notify(self):
     '''银行放款结果通知'''
     excel = os.path.dirname(os.path.dirname(
         os.path.abspath(__file__))) + Config().Get_Item(
             'File', '51_case_file')
     data = excel_table_byname(excel, 'api_withdraw_notify')
     print("接口名称:%s" % data[0]['casename'])
     self.r.mset({
         "dueBillNo": self.cm.get_random('serviceSn'),
         "borrowNo": self.cm.get_random('sourceProjectId'),
         "contractNo": self.cm.get_random('requestNum'),
         "premiumTradeNo": self.cm.get_random('requestNum')
     })
     param = json.loads(data[0]['param'])
     param.update({"requestNum": self.cm.get_random('requestNum')})
     param.update({"requestTime": self.cm.get_time('null')})
     param['requestBody'].update({"applyNo": self.r.get('applyNo')})
     param['requestBody'].update({"dueBillNo": self.r.get('dueBillNo')})
     param['requestBody'].update({"itemNo": self.r.get('ItemNo')})
     param['requestBody'].update({"contractNo": self.r.get('contractNo')})
     param['requestBody'].update(
         {"premiumTradeNo": self.r.get('premiumTradeNo')})
     param['requestBody'].update({"loanBizDate": self.cm.get_time('-')})
     param['requestBody'].update({"paycompBizDate": self.cm.get_time('-')})
     param['requestBody'].update({"payStatus": '3'})
     if len(data[0]['headers']) == 0:
         headers = None
     else:
         headers = json.loads(data[0]['headers'])
     rep = self.cm.Response(faceaddr=data[0]['url'],
                            headers=headers,
                            product='51',
                            param=json.dumps(
                                param, ensure_ascii=False).encode('utf-8'))
     print("返回信息:%s" % rep.text)
     logger.info("返回信息:%s" % rep.text)