Exemplo n.º 1
0
 def test_case(self, info, **kwargs):
     '''{info}'''
     try:
         if kwargs["sql_cheack"]:  # 存在sql校验,获取初期余额
             res = mysql.sql_read(kwargs["sql_cheack"], self.member_id)
             amount_prime = res["leave_amount"]
         respone = com_request(TestRecharge,
                               self.Worksheet_name,
                               **kwargs,
                               token=self.token)
         if kwargs["sql_cheack"]:  # 存在sql校验,获取充值后余额
             res = mysql.sql_read(kwargs["sql_cheack"], self.member_id)
             amount_new = res["leave_amount"]
             amount = amount_new - amount_prime
             print("实际充值:", float(amount))
             print("预期充值:", float(self.params["amount"]))
             self.assertEqual(float(amount),
                              float(self.params["amount"]))  # 校验充值的余额实际与预期
         com_assertEqual(self, respone, eval(kwargs["expect"]))
     except AssertionError as e:
         log.error(f"用例--{info}--执行失败", exc_info=True)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "失败")
         raise e
     else:
         log.info(f"用例--{info}--执行成功", exc_info=False)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "成功")
 def test_case(self, info, **kwargs):
     '''{info}'''
     try:
         if kwargs["sql_cheack"]:  # 存在sql校验,获取投资的金额
             sql = "select leave_amount from futureloan.member where id=%s"
             leaveamount_b = mysql.sql_read(sql, self.member_id)["leave_amount"]  # 保留投资前的余额
             sql = "select count(*) from futureloan.financelog where pay_member_id=%s"
             count_b = mysql.sql_read(sql, self.member_id)["count(*)"]  # 保留投资前的条目数
         respone = com_request(TestInvest, self.Worksheet_name, **kwargs, token=self.token)
         if respone["code"] == 0:  # 当投资成功时减去已投资,不论预期是否成功
             TestInvest.amount -= int(self.params["amount"])
         com_assertEqual(self, respone, eval(kwargs["expect"]))
         if kwargs["sql_cheack"]:  # 存在sql校验,获取投资的金额
             sql = "select amount from futureloan.invest where id=%s"
             res = mysql.sql_read(sql, jsonpath(respone, "$..id"))
             self.assertEqual(decimal.Decimal(res["amount"]), decimal.Decimal(self.params["amount"]))  # 校验投资金额与预期
             sql = "select leave_amount from futureloan.member where id=%s"
             leaveamount_e = mysql.sql_read(sql, self.member_id)["leave_amount"]  # 保留投资后的余额
             self.assertEqual(leaveamount_b-leaveamount_e, decimal.Decimal(self.params["amount"]))  # 校验投资后条目数与预期
             sql = "select count(*) from futureloan.financelog where pay_member_id=%s"
             count_e = mysql.sql_read(sql, self.member_id)["count(*)"]  # 保留投资后的条目数
             self.assertEqual(count_e-count_b, 1)  # 校验条目数
     except AssertionError as e:
         log.error(f"用例--{info}--执行失败", exc_info=True)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "失败")
         raise e
     else:
         log.info(f"用例--{info}--执行成功", exc_info=False)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "成功")
Exemplo n.º 3
0
def email_get(params_list, cls=None):
    if "new" in params_list:
        while True:
            email = f"{random.randint(0,999999999)}@qq.com"
            sql = "SELECT count(email) FROM test.auth_user WHERE email=%s;"
            res = mysql.sql_read(sql, email)
            if res["count(email)"] == 0:
                break
    elif "exist" in params_list:
        sql = "SELECT email FROM test.auth_user where 1 ORDER BY rand() LIMIT 1;"
        res = mysql.sql_read(sql)
        email = res["email"]
    return email
Exemplo n.º 4
0
def username_get(params_list, cls=None):
    if "new" in params_list:
        while True:
            username = data_create("str", params_list[2])
            sql = "SELECT count(username) FROM test.auth_user WHERE username=%s;"
            res = mysql.sql_read(sql, username)
            if res["count(username)"] == 0:
                break
    elif "unadmin" in params_list:
        username = eval(config.get("PRESET", "unadmin_params"))["username"]
    elif "exist" in params_list:
        sql = "SELECT username FROM test.auth_user WHERE 1 ORBDER BY rand() LIMIT 1;"
        res = mysql.sql_read(sql)
        username = res["username"]
    return username
Exemplo n.º 5
0
 def test_case(self, info, **kwargs):
     '''{info}'''
     try:
         respone = com_request(TestAudit,
                               self.Worksheet_name,
                               **kwargs,
                               token=self.admin_token)
         com_assertEqual(self, respone, eval(kwargs["expect"]))
         if kwargs["sql_cheack"]:  # 存在sql校验,获取审核项目状态
             res = mysql.sql_read(kwargs["sql_cheack"], self.loan_id)
             if self.params["approved_or_not"]:
                 statue = 2
             else:
                 statue = 5
             print("实际项目状态:", res["status"])
             print("预期项目状态:", statue)
             self.assertEqual(res["status"], statue)  # 校验更新后的状态与预期
             TestAudit.loan_id_pass = jsonpath(self.params, "$..loan_id")[0]
     except AssertionError as e:
         log.error(f"用例--{info}--执行失败", exc_info=True)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "失败")
         raise e
     else:
         log.info(f"用例--{info}--执行成功", exc_info=False)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "成功")
Exemplo n.º 6
0
def member_id_get(mark, cls):
    '''替换*member参数'''
    if "exist" in mark:
        member_id = getattr(cls, mark[0])
    elif "new" in mark:
        while True:
            sql = "select id from futureloan.member where 1 order by rand() limit 10;"  # 截取一个已注册id
            res = mysql.sql_read(sql)
            if int(res["id"]) != int(getattr(cls, mark[0])):
                member_id = res["id"]
                break
    elif "nuexist" in mark:
        sql = "select max(id) from futureloan.member;"  # 截取一个未注册id
        res = mysql.sql_read(sql)
        member_id = res["max(id)"] + 1
    elif "unadmin" in mark:
        member_id = eval(config.get("SETUPDATA", "params"))["mobile_phone"]
    elif "admin" in mark:
        member_id = eval(config.get("SETUPDATA",
                                    "admin_params"))["mobile_phone"]
    return member_id
Exemplo n.º 7
0
def name_get(params_list, cls=None):
    if params_list[0] == "name":
        database_name = "tb_projects"
    elif params_list[0] == "tiname":
        database_name = "tb_interfaces"
    elif params_list[0] == "tcname":
        database_name = "tb_testcases"

    if "new" in params_list:
        while True:
            name = data_create("str", params_list[2], str_type=params_list[3])
            sql = f"SELECT count(name) FROM test.{database_name} WHERE name = %s;"
            res = mysql.sql_read(sql, name)
            if res["count(name)"] == 0:
                break
    elif "exist" in params_list:
        sql = f"SELECT name FROM test.{database_name} WHERE 1 ORDER BY rand() LIMIT 1;"
        res = mysql.sql_read(sql)
        name = res["name"]
    elif "str" in params_list:
        name = data_create("str", params_list[2], str_type=params_list[3])
    return name
Exemplo n.º 8
0
def phone_create(mark):
    '''替换*phone参数'''
    if "new" in mark:
        while True:
            phone = "156{:0<8}".format(random.randint(0, 99999999))  # 创建新号码
            sql = "select mobile_phone from futureloan.member where mobile_phone=%s;"
            res = mysql.sql_read(sql, phone)  # 执行sql语句
            if not res:  # 返回结果未None表示无该手机号码
                break
    elif "exist" in mark:
        phone = eval(config.get("PRESET",
                                "loan_params"))["mobile_phone"]  # 提取一个已注册手机
    return phone
Exemplo n.º 9
0
def projects_interfaces_get(params_list, cls=None):
    if params_list[0] == "projects":
        database_name = "tb_projects"
    elif params_list[0] == "interfaces":
        database_name = "tb_interfaces"

    if "id" in params_list:
        if "exist" in params_list:
            id = eval(config.get("PRESET", params_list[0]))["id"]
        elif "new" in params_list:
            sql = f"SELECT max(id) FROM test.{database_name};"
            res = mysql.sql_read(sql)
            id = int(res["max(id)"]) + 100
    return id
Exemplo n.º 10
0
def loan_id_get(mark, cls):
    '''替换*loan_id参数'''
    if "exist" in mark:
        # sql = "select id from futureloan.loan where status=2 order by rand() limit 1;"  # 更新目标id的余额
        # res = mysql.sql_read(sql)
        # loan_id = res["id"]  # 截取一个竞标项目
        return getattr(cls, "loan_id")
    elif "pass" in mark:
        return getattr(cls, "loan_id_pass")
    elif "unbidding" in mark:
        sql = "select id from futureloan.loan where status = 3 order by rand() limit 1;"  # 截取一个非竞标项目
        res = mysql.sql_read(sql)
        member_id = res["id"]
        return member_id
Exemplo n.º 11
0
 def test_case(self, info, **kwargs):
     '''{info}'''
     try:
         respone = com_request(TestRegister, self.Worksheet_name, **kwargs)
         com_assertEqual(self, respone, eval(kwargs["expect"]))
         if kwargs["sql_cheack"]:  # 存在sql校验,获取新增注册名称
             res = mysql.sql_read(
                 kwargs["sql_cheack"],
                 jsonpath(respone.json(), "$..username")[0])
             print("实际项目名称:", res["username"])
             print("预期项目名称:", self.params["username"])
             self.assertEqual(res["username"],
                              self.params["username"])  # 校验更新后的昵称与预期
     except AssertionError as e:
         log.error(f"用例--{info}--执行失败", exc_info=True)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "失败")
         raise e
     else:
         log.info(f"用例--{info}--执行成功", exc_info=False)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "成功")
Exemplo n.º 12
0
 def test_case(self, info, **kwargs):
     '''{info}'''
     try:
         respone = com_request(TestUpdate,
                               self.Worksheet_name,
                               **kwargs,
                               token=self.token)
         if kwargs["sql_cheack"]:  # 存在sql校验,获取更新后昵称
             res = mysql.sql_read(kwargs["sql_cheack"], self.member_id)
             print("实际昵称:", res["reg_name"])
             print("预期昵称:", self.params["reg_name"])
             self.assertEqual(res["reg_name"],
                              self.params["reg_name"])  # 校验更新后的昵称与预期
         com_assertEqual(self, respone, eval(kwargs["expect"]))
     except AssertionError as e:
         log.error(f"用例--{info}--执行失败", exc_info=True)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "失败")
         raise e
     else:
         log.info(f"用例--{info}--执行成功", exc_info=False)
         self.excel.excel_write(self.Worksheet_name, kwargs["id"], "成功")
Exemplo n.º 13
0
 def setUpClass(cls):
     '''随机获取用户id'''
     cls.excel.wb = openpyxl.load_workbook(cls.excel.path)  # 重新载入workbook
     sql = "select id from futureloan.member where 1 order by rand() limit 10;"  # 截取一个已注册id
     res = mysql.sql_read(sql)
     cls.member_id = res["id"]
Exemplo n.º 14
0
def leaveamount_get(mark, cls):
    '''替换*amount参数'''
    if "over" in mark:
        sql = "UPDATE futureloan.member set leave_amount = 0 where id=%s;"  # 更新目标id的余额
        mysql.sql_read(sql, getattr(cls, "member_id"))  # 执行sql语句
        return getattr(cls, "leave_amount_max")