test_doAudit.py 3.83 KB
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import unittest
import urllib3
import commons.ConfigDB as db
from commons import common as com
from commons.MySession import my
from commons.api.fieldConfig import fieldConfig
from commons.api.doAudit import doAudit
from commons.api.doAdd import doAdd
#作用为禁用请求安全提示,平时默认加上上面的urllib3语句就行
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
ad=doAdd()
au=doAudit()
field=fieldConfig()



class test_doAudit(unittest.TestCase):
    
    "登记单审核接口"
    @classmethod
    def setUpClass(cls):
        #通过字段配置接口提前配置新增页的字段配置
        my.post(url=field.url,headers=field.header,json=field.body)

    def setUp(self):
        #准备数据:新增一条登记单
        my.post(url=ad.url,headers=ad.header,json=ad.body)
        #获取数据:从MYSQL获取新增登记单的id号--因为响应没有id,需要数据库查询
        self.code=db.mysql_selectOne("SELECT id FROM `dili_trace`.register_bill ORDER BY id DESC LIMIT 1")[0]
        print("db id",self.code)

    @unittest.case_mark(my.mark())  
    def test_doAudit_01(self):
        "审核通过"
        #请求url中的需要替换为新增登记单的id
        url=au.url.replace("5888", str(self.code))
        print("数据处理后的url",url)
        #进行GET请求
        re=my.get(url=url,headers=au.header)
        #打印请求结果(可删除该代码,一般只在调试时使用)
        print(re.json())
        #断言请求过程是否成功
        self.assertEqual(re.status_code, 200)
        #断言响应数据中是否存在期望字符串
        self.assertTrue("'result':'操作成功'" in str(re.json()).replace(" ",""))       


    @unittest.case_mark(my.mark())
    def test_doAudit_02(self):
        "审核不通过"
        #请求url中的需要替换为新增登记单的id
        url=au.url.replace("5888", str(self.code)).replace("verifyStatus=20", "verifyStatus=30")
        #进行GET请求
        re=my.get(url=url,headers=au.header)
        #打印请求结果(可删除该代码,一般只在调试时使用)
        print(re.json())
        #断言请求过程是否成功
        self.assertEqual(re.status_code, 200)
        #断言响应数据中是否存在期望字符串
        self.assertTrue("'result':'操作成功'" in str(re.json()).replace(" ",""))

        
    @unittest.case_mark(my.mark())
    def test_doAudit_03(self):
        "审核不通过"
        #请求url中的需要替换为新增登记单的id
        url=au.url.replace("5888", str(self.code)).replace("verifyStatus=20", "verifyStatus=10")
        #进行GET请求
        re=my.get(url=url,headers=au.header)
        #打印请求结果(可删除该代码,一般只在调试时使用)
        print(re.json())
        #断言请求过程是否成功
        self.assertEqual(re.status_code, 200)
        #断言响应数据中是否存在期望字符串
        self.assertTrue("'result':'操作成功'" in str(re.json()).replace(" ",""))

    @unittest.case_mark(my.mark())
    def test_doAudit_04(self):
        "审核一个已经完成审核的登记单"
        #进行GET请求
        re=my.get(url=au.url,headers=au.header)
        #打印请求结果(可删除该代码,一般只在调试时使用)
        print(re.json())
        #断言请求过程是否成功
        self.assertEqual(re.status_code, 200)
        #断言响应数据中是否存在期望字符串
        self.assertTrue("'result':'操作失败,数据状态已改变'" in str(re.json()).replace(" ",""))
           
    @classmethod
    def tearDownClass(cls):
        pass


if __name__ == "__main__":

    # unittest.main(verbosity=2)

#     com.run_one(test_doAudit("test_doAudit_02"))

    dd=db.mysql_selectOne("SELECT * FROM `dili_trace`.register_bill ORDER BY id DESC LIMIT 1")
    print(dd)