Commit e6cb2a72 by sanshi

整个业务代码重构

parent 3a632fbe
...@@ -6,7 +6,9 @@ ...@@ -6,7 +6,9 @@
from __future__ import division from __future__ import division
from WorkApi.APP.Businesses.businesses_delete import BusinessesDelete
from WorkCase import CaseBase from WorkCase import CaseBase
from WorkCase.APP import AppBase
from WorkUtils.UtilsLog import UtilsLog from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
...@@ -37,6 +39,7 @@ class TestBusinessesCreate(object): ...@@ -37,6 +39,7 @@ class TestBusinessesCreate(object):
base_name = "SS OA系统" base_name = "SS OA系统"
base_type_1 = 1 base_type_1 = 1
base_type_2 = 2 base_type_2 = 2
base_members_id = 11
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
...@@ -47,57 +50,20 @@ class TestBusinessesCreate(object): ...@@ -47,57 +50,20 @@ class TestBusinessesCreate(object):
@classmethod @classmethod
def teardown_class(cls): def teardown_class(cls):
cls.log.debug("结束执行测试套件.......") cls.log.debug("结束执行测试套件.......")
session = UtilsDataBase().conn_mysql(db_url=cls.db_url, db_port=cls.db_port, db_base=cls.db_base, db_user=cls.db_user, db_pw=cls.db_pw)
DataBusinesses().delete_like_name(session=session, name=cls.base_name)
def setup_method(self): def setup_method(self):
self.log.debug("测试用例执行开始...") self.log.debug("测试用例执行开始...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"]) self.app = AppBase(host=self.host)
self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
self.token = self.app.get_base_token(login_name=self.login_name, base_password=self.base_password)
def teardown_method(self): def teardown_method(self):
self.log.debug("测试用例执行结束...") self.log.debug("测试用例执行结束...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"])
@allure.step("调用接口:api.login")
def api_login(self, name=None, password=None):
api = ApiLogin(_host=self.host)
api.name = name
api.password = password
api.get_response()
return api.response
@allure.step("更新表数据:members -- del_flag")
def update_members_del_flag(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_del_flag(session=session, _id=members_id, value=value)
return sql
@allure.step("更新表数据:members -- status") self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
def update_members_status(self, members_id=None, value=None): self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
session = self.db_session()
sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql
@allure.step("调用接口:businesses.create")
def businesses_create(self, token=None, name=None, description=None, _type=None, principalName=None, principalPhone=None,
memberid=None):
api = BusinessesCreate(_host=self.host)
api.token = token
api.name = name
api.description = description
api.type = _type
api.principalName = principalName
api.principalPhone = principalPhone
api.memberid = memberid
api.get_response()
return api.response
@allure.step("获取token")
def get_base_token(self):
response = self.api_login(name=self.login_name, password=self.base_password)
self.token = UtilsResponse().get_data(response=response)
@allure.step("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
...@@ -114,6 +80,7 @@ class TestBusinessesCreate(object): ...@@ -114,6 +80,7 @@ class TestBusinessesCreate(object):
def check_select(self, response, name, description, _type, principal_name, principal_phone, memberid): def check_select(self, response, name, description, _type, principal_name, principal_phone, memberid):
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
sql = self.select_businesses(businessid=data) sql = self.select_businesses(businessid=data)
assert sql != []
for x, y in enumerate(sql): for x, y in enumerate(sql):
assert y.name == name assert y.name == name
assert y.description == description assert y.description == description
...@@ -123,114 +90,87 @@ class TestBusinessesCreate(object): ...@@ -123,114 +90,87 @@ class TestBusinessesCreate(object):
assert y.memberid == memberid assert y.memberid == memberid
assert x == 0 assert x == 0
@allure.step("断言返回结果")
def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response)
assert _code == code
@allure.step("断言返回结果数据")
def check_msg(self, response, msg):
_msg = UtilsResponse().get_msg(response=response)
assert _msg == msg
@allure.title("businesses.create:token未传") @allure.title("businesses.create:token未传")
@allure.story("创建业务:token未传") @allure.story("创建业务:token未传")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_01(self): def test_case_01(self):
self.get_base_token() response = self.app.businesses_create()
self.app.check_code(response=response, code=2001)
response = self.businesses_create() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("businesses.create:token的用户已删除") @allure.title("businesses.create:token的用户已删除")
@allure.story("创建业务:token的用户已删除") @allure.story("创建业务:token的用户已删除")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_02(self): def test_case_02(self):
self.get_base_token() self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"]) response = self.app.businesses_create(token=self.token)
response = self.businesses_create(token=self.token) self.app.check_code(response=response, code=2004)
self.check_code(response=response, code=2004) self.app.check_msg(response=response, msg="用户不存在")
self.check_msg(response=response, msg="用户不存在")
@allure.title("businesses.create:token的用户已禁用") @allure.title("businesses.create:token的用户已禁用")
@allure.story("创建业务:token的用户已禁用") @allure.story("创建业务:token的用户已禁用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_03(self): def test_case_03(self):
self.get_base_token() self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"]) response = self.app.businesses_create(token=self.token)
response = self.businesses_create(token=self.token) self.app.check_code(response=response, code=2003)
self.check_code(response=response, code=2003) self.app.check_msg(response=response, msg="账户已被禁用")
self.check_msg(response=response, msg="账户已被禁用")
@allure.title("businesses.create:填写name,type") @allure.title("businesses.create:填写name,type")
@allure.story("创建业务:填写name,type") @allure.story("创建业务:填写name,type")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_04(self): def test_case_04(self):
self.get_base_token()
name = self.base_name + "04" name = self.base_name + "04"
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_1) response = self.app.businesses_create(token=self.token, name=name, _type=self.base_type_1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name, description=None, _type=self.base_type_1, principal_name=None, self.check_select(response=response, name=name, description=None, _type=self.base_type_1, principal_name=None,
principal_phone=None, memberid=None) principal_phone=None, memberid=None)
@allure.title("businesses.create:填写所有字段") @allure.title("businesses.create:填写所有字段")
@allure.story("创建业务:填写所有字段") @allure.story("创建业务:填写所有字段")
def test_case_05(self): def test_case_05(self):
self.get_base_token()
name = self.base_name + "05" name = self.base_name + "05"
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_1, description="description", principalName="负责人Name", response = self.app.businesses_create(token=self.token, name=name, _type=self.base_type_1, description="description", principalName="负责人Name",
principalPhone="15151969022 0519-", memberid=self.base_id) principalPhone="15151969022 0519-", memberid=self.base_members_id)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name, description="description", _type=self.base_type_1, principal_name="负责人Name", self.check_select(response=response, name=name, description="description", _type=self.base_type_1, principal_name="负责人Name",
principal_phone="15151969022 0519-", memberid=self.base_id) principal_phone="15151969022 0519-", memberid=self.base_members_id)
@allure.title("businesses.create:同类型下创建名称相同的业务,返回异常") @allure.title("businesses.create:同类型下创建名称相同的业务,返回异常")
@allure.story("创建业务:同类型下创建名称相同的业务,返回异常") @allure.story("创建业务:同类型下创建名称相同的业务,返回异常")
def test_case_06(self): def test_case_06(self):
self.get_base_token()
name = self.base_name + "06" name = self.base_name + "06"
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_1) response = self.app.businesses_create(token=self.token, name=name, _type=self.base_type_1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_1) response = self.app.businesses_create(token=self.token, name=name, _type=self.base_type_1)
self.check_code(response=response, code=100) self.app.check_code(response=response, code=100)
self.check_msg(response=response, msg="该类型下的业务已存在") self.app.check_msg(response=response, msg="该类型下的业务已存在")
@allure.title("businesses.create:不同类型下创建名称相同的业务,成功创建") @allure.title("businesses.create:不同类型下创建名称相同的业务,成功创建")
@allure.story("创建业务:不同类型下创建名称相同的业务,成功创建") @allure.story("创建业务:不同类型下创建名称相同的业务,成功创建")
def test_case_07(self): def test_case_07(self):
self.get_base_token()
name = self.base_name + "07" name = self.base_name + "07"
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_1) response = self.app.businesses_create(token=self.token, name=name, _type=self.base_type_1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name, description=None, _type=self.base_type_1, principal_name=None, self.check_select(response=response, name=name, description=None, _type=self.base_type_1, principal_name=None,
principal_phone=None, memberid=None) principal_phone=None, memberid=None)
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_2) response = self.app.businesses_create(token=self.token, name=name, _type=self.base_type_2)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name, description=None, _type=self.base_type_2, principal_name=None, self.check_select(response=response, name=name, description=None, _type=self.base_type_2, principal_name=None,
principal_phone=None, memberid=None) principal_phone=None, memberid=None)
@allure.title("businesses.create:name为空,返回异常") @allure.title("businesses.create:name为空,返回异常")
@allure.story("创建业务:name为空,返回异常") @allure.story("创建业务:name为空,返回异常")
def test_case_08(self): def test_case_08(self):
self.get_base_token() response = self.app.businesses_create(token=self.token, _type=self.base_type_1)
self.app.check_code(response=response, code=100)
# name = self.base_name + "08"
response = self.businesses_create(token=self.token, _type=self.base_type_1)
self.check_code(response=response, code=100)
@allure.title("businesses.create:type为空,返回异常") @allure.title("businesses.create:type为空,返回异常")
@allure.story("创建业务:type为空,返回异常") @allure.story("创建业务:type为空,返回异常")
def test_case_09(self): def test_case_09(self):
self.get_base_token()
name = self.base_name + "09" name = self.base_name + "09"
response = self.businesses_create(token=self.token, name=name) response = self.app.businesses_create(token=self.token, name=name)
self.check_code(response=response, code=100) self.app.check_code(response=response, code=100)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
from __future__ import division from __future__ import division
from WorkCase import CaseBase from WorkCase import CaseBase
from WorkCase.APP import AppBase
from WorkUtils.UtilsLog import UtilsLog from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
...@@ -36,11 +37,9 @@ class TestBusinessesDelete(object): ...@@ -36,11 +37,9 @@ class TestBusinessesDelete(object):
base_id = 10 base_id = 10
base_password = "123456" base_password = "123456"
base_name = "SS自动化测试业务名称" base_name = "SS OA系统"
base_type_1 = 1 base_type_1 = 1
base_type_name_1 = "SS自动化业务类型01"
base_type_2 = 2 base_type_2 = 2
base_type_name_2 = "SS自动化业务类型02"
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
...@@ -51,65 +50,20 @@ class TestBusinessesDelete(object): ...@@ -51,65 +50,20 @@ class TestBusinessesDelete(object):
@classmethod @classmethod
def teardown_class(cls): def teardown_class(cls):
cls.log.debug("结束执行测试套件.......") cls.log.debug("结束执行测试套件.......")
session = UtilsDataBase().conn_mysql(db_url=cls.db_url, db_port=cls.db_port, db_base=cls.db_base, db_user=cls.db_user, db_pw=cls.db_pw)
DataBusinesses().delete_like_name(session=session, name=cls.base_name)
def setup_method(self): def setup_method(self):
self.log.debug("测试用例执行开始...") self.log.debug("测试用例执行开始...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"]) self.app = AppBase(host=self.host)
self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
self.token = self.app.get_base_token(login_name=self.login_name, base_password=self.base_password)
def teardown_method(self): def teardown_method(self):
self.log.debug("测试用例执行结束...") self.log.debug("测试用例执行结束...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"])
@allure.step("调用接口:api.login")
def api_login(self, name=None, password=None):
api = ApiLogin(_host=self.host)
api.name = name
api.password = password
api.get_response()
return api.response
@allure.step("更新表数据:members -- del_flag")
def update_members_del_flag(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_del_flag(session=session, _id=members_id, value=value)
return sql
@allure.step("更新表数据:members -- status")
def update_members_status(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql
@allure.step("调用接口:businesses.create") self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
def businesses_create(self, token=None, name=None, description=None, _type=None, principalName=None, principalPhone=None, self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
memberid=None):
api = BusinessesCreate(_host=self.host)
api.token = token
api.name = name
api.description = description
api.type = _type
api.principalName = principalName
api.principalPhone = principalPhone
api.memberid = memberid
api.get_response()
return api.response
@allure.step("调用接口:businesses.delete")
def businesses_delete(self, token=None, businessidList=None):
api = BusinessesDelete(_host=self.host)
api.token = token
api.businessidList = businessidList
api.get_response()
return api.response
@allure.step("获取token")
def get_base_token(self):
response = self.api_login(name=self.login_name, password=self.base_password)
self.token = UtilsResponse().get_data(response=response)
@allure.step("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
...@@ -122,83 +76,62 @@ class TestBusinessesDelete(object): ...@@ -122,83 +76,62 @@ class TestBusinessesDelete(object):
sql = DataBusinesses().select_all_from_allKeys(session=session, businessid=businessid, name=name) sql = DataBusinesses().select_all_from_allKeys(session=session, businessid=businessid, name=name)
return sql return sql
@allure.step("创建测试数据")
def case_create(self, name):
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_1)
self.businessid = UtilsResponse().get_data(response=response)
return self.businessid
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_select(self, businessid): def check_select(self, businessid):
sql = self.select_businesses(businessid=businessid) sql = self.select_businesses(businessid=businessid)
assert sql == [] assert sql == []
@allure.step("断言返回结果")
def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response)
assert _code == code
@allure.step("断言返回结果数据")
def check_msg(self, response, msg):
_msg = UtilsResponse().get_msg(response=response)
assert _msg == msg
@allure.title("businesses.delete:token未传") @allure.title("businesses.delete:token未传")
@allure.story("删除业务:token未传") @allure.story("删除业务:token未传")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_01(self): def test_case_01(self):
self.get_base_token() response = self.app.businesses_delete()
self.app.check_code(response=response, code=2001)
response = self.businesses_delete() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("businesses.delete:token的用户已删除") @allure.title("businesses.delete:token的用户已删除")
@allure.story("删除业务:token的用户已删除") @allure.story("删除业务:token的用户已删除")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_02(self): def test_case_02(self):
self.get_base_token() self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"]) response = self.app.businesses_delete(token=self.token)
response = self.businesses_delete(token=self.token) self.app.check_code(response=response, code=2004)
self.check_code(response=response, code=2004) self.app.check_msg(response=response, msg="用户不存在")
self.check_msg(response=response, msg="用户不存在")
@allure.title("businesses.delete:token的用户已禁用") @allure.title("businesses.delete:token的用户已禁用")
@allure.story("删除业务:token的用户已禁用") @allure.story("删除业务:token的用户已禁用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_03(self): def test_case_03(self):
self.get_base_token() self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"]) response = self.app.businesses_delete(token=self.token)
response = self.businesses_delete(token=self.token) self.app.check_code(response=response, code=2003)
self.check_code(response=response, code=2003) self.app.check_msg(response=response, msg="账户已被禁用")
self.check_msg(response=response, msg="账户已被禁用")
@allure.title("businesses.delete:删除一个") @allure.title("businesses.delete:删除一个")
@allure.story("删除业务:删除一个") @allure.story("删除业务:删除一个")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_04(self): def test_case_04(self):
self.get_base_token()
name = self.base_name + "04" name = self.base_name + "04"
self.case_create(name=name) business_id = self.app.case_create_businesses(name=name, _type=self.base_type_1)
response = self.businesses_delete(token=self.token, businessidList=[self.businessid]) response = self.app.businesses_delete(token=self.token, businessidList=[business_id])
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(businessid=self.businessid) self.check_select(businessid=business_id)
@allure.title("businesses.delete:删除多个") @allure.title("businesses.delete:删除多个")
@allure.story("删除业务:删除多个") @allure.story("删除业务:删除多个")
def test_case_05(self): def test_case_05(self):
self.get_base_token()
name_1 = self.base_name + "051" name_1 = self.base_name + "051"
name_2 = self.base_name + "052" name_2 = self.base_name + "052"
name_3 = self.base_name + "053" name_3 = self.base_name + "053"
id_1 = self.case_create(name=name_1) business_id_1 = self.app.case_create_businesses(name=name_1, _type=self.base_type_1)
id_2 = self.case_create(name=name_2) business_id_2 = self.app.case_create_businesses(name=name_2, _type=self.base_type_1)
id_3 = self.case_create(name=name_3) business_id_3 = self.app.case_create_businesses(name=name_3, _type=self.base_type_1)
response = self.businesses_delete(token=self.token, businessidList=[id_1, id_2, id_3])
self.check_code(response=response, code=0) response = self.app.businesses_delete(token=self.token, businessidList=[business_id_1, business_id_2, business_id_3])
self.check_select(businessid=id_1) self.app.check_code(response=response, code=0)
self.check_select(businessid=id_2) self.check_select(businessid=business_id_1)
self.check_select(businessid=id_3) self.check_select(businessid=business_id_2)
self.check_select(businessid=business_id_3)
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
from __future__ import division from __future__ import division
from WorkCase import CaseBase from WorkCase import CaseBase
from WorkCase.APP import AppBase
from WorkUtils.UtilsLog import UtilsLog from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
...@@ -35,11 +36,11 @@ class TestBusinessesGet(object): ...@@ -35,11 +36,11 @@ class TestBusinessesGet(object):
base_id = 10 base_id = 10
base_password = "123456" base_password = "123456"
base_name = "SS自动化测试业务名称" base_name = "SS OA系统"
base_type_1 = 1 base_type_1 = 1
base_type_name_1 = "SS自动化业务类型01"
base_type_2 = 2 base_type_2 = 2
base_type_name_2 = "SS自动化业务类型02" base_type_name_1 = "基础业务"
base_type_name_2 = "增值业务"
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
...@@ -50,69 +51,20 @@ class TestBusinessesGet(object): ...@@ -50,69 +51,20 @@ class TestBusinessesGet(object):
@classmethod @classmethod
def teardown_class(cls): def teardown_class(cls):
cls.log.debug("结束执行测试套件.......") cls.log.debug("结束执行测试套件.......")
session = UtilsDataBase().conn_mysql(db_url=cls.db_url, db_port=cls.db_port, db_base=cls.db_base, db_user=cls.db_user, db_pw=cls.db_pw)
DataBusinesses().delete_like_name(session=session, name=cls.base_name)
def setup_method(self): def setup_method(self):
self.log.debug("测试用例执行开始...") self.log.debug("测试用例执行开始...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"]) self.app = AppBase(host=self.host)
self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
self.token = self.app.get_base_token(login_name=self.login_name, base_password=self.base_password)
def teardown_method(self): def teardown_method(self):
self.log.debug("测试用例执行结束...") self.log.debug("测试用例执行结束...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"])
@allure.step("调用接口:api.login")
def api_login(self, name=None, password=None):
api = ApiLogin(_host=self.host)
api.name = name
api.password = password
api.get_response()
return api.response
@allure.step("更新表数据:members -- del_flag")
def update_members_del_flag(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_del_flag(session=session, _id=members_id, value=value)
return sql
@allure.step("更新表数据:members -- status") self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
def update_members_status(self, members_id=None, value=None): self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
session = self.db_session()
sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql
@allure.step("调用接口:businesses.create")
def businesses_create(self, token=None, name=None, description=None, _type=None, principalName=None, principalPhone=None,
memberid=None):
api = BusinessesCreate(_host=self.host)
api.token = token
api.name = name
api.description = description
api.type = _type
api.principalName = principalName
api.principalPhone = principalPhone
api.memberid = memberid
api.get_response()
return api.response
@allure.step("调用接口:businesses.get")
def businesses_get(self, token=None, memberid=None, principal=None, _type=None, hostName=None, businessesName=None):
api = BusinessesGet(_host=self.host)
api.token = token
api.memberid = memberid
api.principal = principal
api.type = _type
api.hostName = hostName
api.businessesName = businessesName
api.get_response()
return api.response
@allure.step("获取token")
def get_base_token(self):
response = self.api_login(name=self.login_name, password=self.base_password)
self.token = UtilsResponse().get_data(response=response)
@allure.step("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
...@@ -125,11 +77,6 @@ class TestBusinessesGet(object): ...@@ -125,11 +77,6 @@ class TestBusinessesGet(object):
sql = DataBusinesses().select_all_from_allKeys(session=session, businessid=businessid, name=name) sql = DataBusinesses().select_all_from_allKeys(session=session, businessid=businessid, name=name)
return sql return sql
@allure.step("创建测试数据")
def case_create(self, name, principalPhone=None, principalName=None):
response = self.businesses_create(token=self.token, name=name, _type=self.base_type_1, principalPhone=principalPhone, principalName=principalName)
self.businessid = UtilsResponse().get_data(response=response)
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_select(self, response): def check_select(self, response):
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
...@@ -137,8 +84,7 @@ class TestBusinessesGet(object): ...@@ -137,8 +84,7 @@ class TestBusinessesGet(object):
sql = self.select_businesses(businessid=w["id"]) sql = self.select_businesses(businessid=w["id"])
for x, y in enumerate(sql): for x, y in enumerate(sql):
assert y.name == w["name"] assert y.name == w["name"]
# 暂时去掉此处校验 assert y.type == w["type"]
# assert y.type == w["type"]
# if w["type"] == 1: # if w["type"] == 1:
# assert self.base_type_name_1 == w["typeName"] # assert self.base_type_name_1 == w["typeName"]
# elif w["type"] == 2: # elif w["type"] == 2:
...@@ -148,7 +94,7 @@ class TestBusinessesGet(object): ...@@ -148,7 +94,7 @@ class TestBusinessesGet(object):
assert x == 0 assert x == 0
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_sql(self, response, businessid, name, _type, typeName): def check_sql(self, response, businessid, name, _type, typeName=None):
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
for q, w in enumerate(data["list"]): for q, w in enumerate(data["list"]):
assert businessid == w["id"] assert businessid == w["id"]
...@@ -156,96 +102,75 @@ class TestBusinessesGet(object): ...@@ -156,96 +102,75 @@ class TestBusinessesGet(object):
# assert _type == w["type"] # assert _type == w["type"]
# assert typeName == w["typeName"] # assert typeName == w["typeName"]
@allure.step("断言返回结果")
def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response)
assert _code == code
@allure.step("断言返回结果数据")
def check_msg(self, response, msg):
_msg = UtilsResponse().get_msg(response=response)
assert _msg == msg
@allure.title("businesses.get:token未传") @allure.title("businesses.get:token未传")
@allure.story("查询业务:token未传") @allure.story("查询业务:token未传")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_01(self): def test_case_01(self):
self.get_base_token() response = self.app.businesses_get()
self.app.check_code(response=response, code=2001)
response = self.businesses_get() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("businesses.get:token的用户已删除") @allure.title("businesses.get:token的用户已删除")
@allure.story("查询业务:token的用户已删除") @allure.story("查询业务:token的用户已删除")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_02(self): def test_case_02(self):
self.get_base_token() self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"]) response = self.app.businesses_get(token=self.token)
response = self.businesses_get(token=self.token) self.app.check_code(response=response, code=2004)
self.check_code(response=response, code=2004) self.app.check_msg(response=response, msg="用户不存在")
self.check_msg(response=response, msg="用户不存在")
@allure.title("businesses.get:token的用户已禁用") @allure.title("businesses.get:token的用户已禁用")
@allure.story("查询业务:token的用户已禁用") @allure.story("查询业务:token的用户已禁用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_03(self): def test_case_03(self):
self.get_base_token() self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"]) response = self.app.businesses_get(token=self.token)
response = self.businesses_get(token=self.token) self.app.check_code(response=response, code=2003)
self.check_code(response=response, code=2003) self.app.check_msg(response=response, msg="账户已被禁用")
self.check_msg(response=response, msg="账户已被禁用")
@allure.title("businesses.get:无参数调用") @allure.title("businesses.get:无参数调用")
@allure.story("查询业务:无参数调用") @allure.story("查询业务:无参数调用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_04(self): def test_case_04(self):
self.get_base_token() response = self.app.businesses_get(token=self.token)
name = self.base_name + "04" self.app.check_code(response=response, code=0)
self.case_create(name=name)
response = self.businesses_get(token=self.token)
self.check_code(response=response, code=0)
self.check_select(response=response) self.check_select(response=response)
@allure.title("businesses.get:businessesName查询") @allure.title("businesses.get:businessesName查询")
@allure.story("查询业务:businessesName查询") @allure.story("查询业务:businessesName查询")
def test_case_05(self): def test_case_05(self):
self.get_base_token()
name = self.base_name + "05" name = self.base_name + "05"
self.case_create(name=name) self.app.case_create_businesses(name=name, _type=self.base_type_1)
response = self.businesses_get(token=self.token, businessesName=name) response = self.app.businesses_get(token=self.token, businessesName=name)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_sql(response=response, businessid=self.businessid, name=name, _type=self.base_type_1, typeName=self.base_type_name_1) self.app.check_data_keyValue(response=response, _key="name", _value=name)
@allure.title("businesses.get:type查询") @allure.title("businesses.get:type查询")
@allure.story("查询业务:type查询") @allure.story("查询业务:type查询")
def test_case_06(self): def test_case_06(self):
self.get_base_token()
name = self.base_name + "06" name = self.base_name + "06"
self.case_create(name=name) self.app.case_create_businesses(name=name, _type=self.base_type_1)
response = self.businesses_get(token=self.token, _type=self.base_type_1) response = self.app.businesses_get(token=self.token, _type=self.base_type_1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(response=response) self.app.check_data_keyValue(response=response, _key="type", _value=self.base_type_1)
@allure.title("businesses.get:principal查询手机号") @allure.title("businesses.get:principal查询手机号")
@allure.story("查询业务:principal查询手机号") @allure.story("查询业务:principal查询手机号")
def test_case_07(self): def test_case_07(self):
self.get_base_token()
name = self.base_name + "07" name = self.base_name + "07"
self.case_create(name=name, principalName="Test", principalPhone="10086") self.app.case_create_businesses(name=name, _type=self.base_type_1, principalName="Test", principalPhone="10086")
response = self.businesses_get(token=self.token, principal="Tes") response = self.app.businesses_get(token=self.token, principal="Test")
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_sql(response=response, businessid=self.businessid, name=name, _type=self.base_type_1, typeName=self.base_type_name_1) self.app.check_data_keyValue(response=response, _key="principalName", _value="Test")
@allure.title("businesses.get:principal查询姓名") @allure.title("businesses.get:principal查询姓名")
@allure.story("查询业务:principal查询姓名") @allure.story("查询业务:principal查询姓名")
def test_case_08(self): def test_case_08(self):
self.get_base_token()
name = self.base_name + "08" name = self.base_name + "08"
self.case_create(name=name, principalName="Test", principalPhone="100871") self.app.case_create_businesses(name=name, _type=self.base_type_1, principalName="Test", principalPhone="10087")
response = self.businesses_get(token=self.token, principal="10087") response = self.app.businesses_get(token=self.token, principal="10087")
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_sql(response=response, businessid=self.businessid, name=name, _type=self.base_type_1, typeName=self.base_type_name_1) self.app.check_data_keyValue(response=response, _key="principalPhone", _value="10087")
if __name__ == "__main__": if __name__ == "__main__":
......
...@@ -9,6 +9,7 @@ from __future__ import division ...@@ -9,6 +9,7 @@ from __future__ import division
import pytest import pytest
from WorkCase import CaseBase from WorkCase import CaseBase
from WorkCase.APP import AppBase
from WorkUtils.UtilsLog import UtilsLog from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
...@@ -39,8 +40,8 @@ class TestBusinessesTree(object): ...@@ -39,8 +40,8 @@ class TestBusinessesTree(object):
base_id = 10 base_id = 10
base_password = "123456" base_password = "123456"
base_type_name = "SS测试业务-业务树" base_name = "SS 自动化业务树"
base_name = "SS自动化测试业务名称" base_type_name = "SS 自动化业务树类型"
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
...@@ -54,75 +55,20 @@ class TestBusinessesTree(object): ...@@ -54,75 +55,20 @@ class TestBusinessesTree(object):
@classmethod @classmethod
def teardown_class(cls): def teardown_class(cls):
cls.log.debug("结束执行测试套件.......") cls.log.debug("结束执行测试套件.......")
session = UtilsDataBase().conn_mysql(db_url=cls.db_url, db_port=cls.db_port, db_base=cls.db_base, db_user=cls.db_user, db_pw=cls.db_pw)
DataBusinessesType().delete_like_name(session=session, name=cls.base_type_name)
session = UtilsDataBase().conn_mysql(db_url=cls.db_url, db_port=cls.db_port, db_base=cls.db_base, db_user=cls.db_user, db_pw=cls.db_pw)
DataBusinesses().delete_like_name(session=session, name=cls.base_name)
def setup_method(self): def setup_method(self):
self.log.debug("测试用例执行开始...") self.log.debug("测试用例执行开始...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"]) self.app = AppBase(host=self.host)
self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
self.token = self.app.get_base_token(login_name=self.login_name, base_password=self.base_password)
def teardown_method(self): def teardown_method(self):
self.log.debug("测试用例执行结束...") self.log.debug("测试用例执行结束...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"])
@allure.step("调用接口:api.login")
def api_login(self, name=None, password=None):
api = ApiLogin(_host=self.host)
api.name = name
api.password = password
api.get_response()
return api.response
@allure.step("更新表数据:members -- del_flag")
def update_members_del_flag(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_del_flag(session=session, _id=members_id, value=value)
return sql
@allure.step("更新表数据:members -- status")
def update_members_status(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql
@allure.step("调用接口:businesses.type.create") self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
def businesses_type_create(self, token=None, typeName=None): self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
api = BusinessesTypeCreate(_host=self.host)
api.token = token
api.typeName = typeName
api.get_response()
return api.response
@allure.step("调用接口:businesses.create")
def businesses_create(self, token=None, name=None, description=None, _type=None, principalName=None, principalPhone=None,
memberid=None):
api = BusinessesCreate(_host=self.host)
api.token = token
api.name = name
api.description = description
api.type = _type
api.principalName = principalName
api.principalPhone = principalPhone
api.memberid = memberid
api.get_response()
return api.response
@allure.step("调用接口:businesses.tree")
def businesses_tree(self, token=None):
api = BusinessesTree(_host=self.host)
api.token = token
api.get_response()
return api.response
@allure.step("获取token")
def get_base_token(self):
response = self.api_login(name=self.login_name, password=self.base_password)
self.token = UtilsResponse().get_data(response=response)
@allure.step("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
...@@ -130,90 +76,84 @@ class TestBusinessesTree(object): ...@@ -130,90 +76,84 @@ class TestBusinessesTree(object):
return session return session
@allure.step("查询表:businesses") @allure.step("查询表:businesses")
def select_businesses(self, businessid=None, name=None): def select_businesses(self, business_id=None, name=None):
session = self.db_session() session = self.db_session()
sql = DataBusinesses().select_all_from_allKeys(session=session, businessid=businessid, name=name) sql = DataBusinesses().select_all_from_allKeys(session=session, businessid=business_id, name=name)
return sql return sql
@allure.step("创建测试数据")
def case_create(self, name, principalPhone=None, principalName=None):
response = self.businesses_type_create(token=self.token, typeName=self.base_type_name)
self.type_id = UtilsResponse().get_data(response=response)
response = self.businesses_create(token=self.token, name=name + "041", _type=self.type_id, principalPhone=principalPhone, principalName=principalName)
self.businessid_1 = UtilsResponse().get_data(response=response)
response = self.businesses_create(token=self.token, name=name + "042", _type=self.type_id, principalPhone=principalPhone, principalName=principalName)
self.businessid_2 = UtilsResponse().get_data(response=response)
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_data(self, response): def check_data(self, response, types, business_ids_1, business_ids_2):
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
for q, w in enumerate(data): for q, w in enumerate(data):
if w["bid"] == self.type_id: if w["bid"] == types[0]:
assert w["name"] == self.base_type_name
bids = [] bids = []
# 校验2个集合
for x, y in enumerate(w["children"]): for x, y in enumerate(w["children"]):
assert y["bid"] in [self.businessid_1, self.businessid_2] assert y["bid"] in business_ids_1
bids.append(y["bid"]) bids.append(y["bid"])
assert len(bids) == 2 assert len(bids) == len(business_ids_1)
for x, y in enumerate([self.businessid_1, self.businessid_2]): for x, y in enumerate(business_ids_1):
assert y in bids
elif w["bid"] == types[1]:
bids = []
for x, y in enumerate(w["children"]):
assert y["bid"] in business_ids_2
bids.append(y["bid"])
assert len(bids) == len(business_ids_2)
for x, y in enumerate(business_ids_2):
assert y in bids assert y in bids
@allure.step("断言返回结果")
def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response)
assert _code == code
@allure.step("断言返回结果数据")
def check_msg(self, response, msg):
_msg = UtilsResponse().get_msg(response=response)
assert _msg == msg
@allure.title("businesses.tree:token未传") @allure.title("businesses.tree:token未传")
@allure.story("查询业务:token未传") @allure.story("查询业务:token未传")
@allure.severity("blocker") @allure.severity("blocker")
@pytest.mark.skip(reason="此接口未加入token验证") @pytest.mark.skip(reason="此接口未加入token验证")
def test_case_01(self): def test_case_01(self):
self.get_base_token() response = self.app.businesses_tree()
self.app.check_code(response=response, code=2001)
response = self.businesses_tree() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("businesses.tree:token的用户已删除") @allure.title("businesses.tree:token的用户已删除")
@allure.story("查询业务:token的用户已删除") @allure.story("查询业务:token的用户已删除")
@allure.severity("blocker") @allure.severity("blocker")
@pytest.mark.skip(reason="此接口未加入token验证") @pytest.mark.skip(reason="此接口未加入token验证")
def test_case_02(self): def test_case_02(self):
self.get_base_token() self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"]) response = self.app.businesses_tree(token=self.token)
response = self.businesses_tree(token=self.token) self.app.check_code(response=response, code=2004)
self.check_code(response=response, code=2004) self.app.check_msg(response=response, msg="用户不存在")
self.check_msg(response=response, msg="用户不存在")
@allure.title("businesses.tree:token的用户已禁用") @allure.title("businesses.tree:token的用户已禁用")
@allure.story("查询业务:token的用户已禁用") @allure.story("查询业务:token的用户已禁用")
@allure.severity("blocker") @allure.severity("blocker")
@pytest.mark.skip(reason="此接口未加入token验证") @pytest.mark.skip(reason="此接口未加入token验证")
def test_case_03(self): def test_case_03(self):
self.get_base_token() self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"]) response = self.app.businesses_tree(token=self.token)
response = self.businesses_tree(token=self.token) self.app.check_code(response=response, code=2003)
self.check_code(response=response, code=2003) self.app.check_msg(response=response, msg="账户已被禁用")
self.check_msg(response=response, msg="账户已被禁用")
@allure.title("businesses.tree:无参数调用") @allure.title("businesses.tree:无参数调用")
@allure.story("查询业务:无参数调用") @allure.story("查询业务:无参数调用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_04(self): def test_case_04(self):
self.get_base_token() type_name_1 = self.base_type_name + "041"
name = self.base_name + "04" type_name_2 = self.base_type_name + "042"
self.case_create(name=name) name_1_1 = self.base_name + "0411"
response = self.businesses_tree(token=self.token) name_1_2 = self.base_name + "0412"
self.check_code(response=response, code=0) name_2_1 = self.base_name + "0421"
self.check_data(response=response) name_2_2 = self.base_name + "0422"
name_2_3 = self.base_name + "0423"
type_1 = self.app.case_create_businesses_type(name=type_name_1)
type_2 = self.app.case_create_businesses_type(name=type_name_2)
business_id_1_1 = self.app.case_create_businesses(name=name_1_1, _type=type_1)
business_id_1_2 = self.app.case_create_businesses(name=name_1_2, _type=type_1)
business_id_2_1 = self.app.case_create_businesses(name=name_2_1, _type=type_2)
business_id_2_2 = self.app.case_create_businesses(name=name_2_2, _type=type_2)
business_id_2_3 = self.app.case_create_businesses(name=name_2_3, _type=type_2)
response = self.app.businesses_tree(token=self.token)
self.app.check_code(response=response, code=0)
self.check_data(response=response, types=[type_1, type_2], business_ids_1=[
business_id_1_1, business_id_1_2], business_ids_2=[business_id_2_1, business_id_2_2, business_id_2_3
])
if __name__ == "__main__": if __name__ == "__main__":
...@@ -223,11 +163,12 @@ if __name__ == "__main__": ...@@ -223,11 +163,12 @@ if __name__ == "__main__":
import os import os
# 执行自动化测试用例 # 执行自动化测试用例
case_info = os.path.split(__file__) # case_info = os.path.split(__file__)
case = UtilsCmd().pytest_cmd() # case = UtilsCmd().pytest_cmd()
r = UtilsPyTest(case=case, case_info=case_info) # r = UtilsPyTest(case=case, case_info=case_info)
r.run_main() # r.run_main()
# a = TestBusinessesTree() a = TestBusinessesTree()
# a.setup_class() a.setup_class()
# a.test_case_04() a.setup_method()
a.test_case_04()
...@@ -76,6 +76,7 @@ class TestBusinessesTypeCreate(object): ...@@ -76,6 +76,7 @@ class TestBusinessesTypeCreate(object):
def check_select(self, response, name): def check_select(self, response, name):
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
sql = self.select_businesses_type(_id=data) sql = self.select_businesses_type(_id=data)
assert sql != []
for x, y in enumerate(sql): for x, y in enumerate(sql):
assert y.name == name assert y.name == name
assert x == 0 assert x == 0
......
...@@ -70,8 +70,8 @@ class TestBusinessesTypeDelete(object): ...@@ -70,8 +70,8 @@ class TestBusinessesTypeDelete(object):
return sql return sql
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_select(self, businessid): def check_select(self, type_id):
sql = self.select_businesses(businessid=businessid) sql = self.select_businesses_type(_id=type_id)
assert sql == [] assert sql == []
@allure.title("businesses.type.delete:token未传") @allure.title("businesses.type.delete:token未传")
...@@ -108,7 +108,7 @@ class TestBusinessesTypeDelete(object): ...@@ -108,7 +108,7 @@ class TestBusinessesTypeDelete(object):
type_id = self.app.case_create_businesses_type(name=name) type_id = self.app.case_create_businesses_type(name=name)
response = self.app.businesses_type_delete(token=self.token, typeIds=[type_id]) response = self.app.businesses_type_delete(token=self.token, typeIds=[type_id])
self.app.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(businessid=type_id) self.check_select(type_id=type_id)
@allure.title("businesses.type.delete:删除多个") @allure.title("businesses.type.delete:删除多个")
@allure.story("删除业务类型:删除多个") @allure.story("删除业务类型:删除多个")
......
...@@ -75,9 +75,9 @@ class TestBusinessesTypeUpdate(object): ...@@ -75,9 +75,9 @@ class TestBusinessesTypeUpdate(object):
return sql return sql
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_select(self, response, name): def check_select(self, type_id, name):
data = UtilsResponse().get_data(response=response) sql = self.select_businesses_type(_id=type_id)
sql = self.select_businesses_type(_id=data) assert sql != []
for x, y in enumerate(sql): for x, y in enumerate(sql):
assert y.name == name assert y.name == name
assert x == 0 assert x == 0
...@@ -116,7 +116,7 @@ class TestBusinessesTypeUpdate(object): ...@@ -116,7 +116,7 @@ class TestBusinessesTypeUpdate(object):
type_id = self.app.case_create_businesses_type(name=name) type_id = self.app.case_create_businesses_type(name=name)
response = self.app.businesses_type_update(token=self.token, _id=type_id, typeName=name + "修改") response = self.app.businesses_type_update(token=self.token, _id=type_id, typeName=name + "修改")
self.app.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name + "修改") self.check_select(type_id=type_id, name=name + "修改")
@allure.title("businesses.type.update:id为空,返回正常 无数据修改") @allure.title("businesses.type.update:id为空,返回正常 无数据修改")
@allure.story("更新业务类型:id为空,返回正常 无数据修改") @allure.story("更新业务类型:id为空,返回正常 无数据修改")
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
from __future__ import division from __future__ import division
from WorkCase import CaseBase from WorkCase import CaseBase
from WorkCase.APP import AppBase
from WorkUtils.UtilsLog import UtilsLog from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
...@@ -36,11 +37,11 @@ class TestBusinessesUpdate(object): ...@@ -36,11 +37,11 @@ class TestBusinessesUpdate(object):
base_id = 10 base_id = 10
base_password = "123456" base_password = "123456"
base_name = "SS自动化测试业务名称" base_name = "SS OA系统"
base_type_1 = 1 base_type_1 = 1
base_type_name_1 = "SS自动化业务类型01"
base_type_2 = 2 base_type_2 = 2
base_type_name_2 = "SS自动化业务类型02" base_type_name_1 = "基础业务"
base_type_name_2 = "增值业务"
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
...@@ -51,71 +52,20 @@ class TestBusinessesUpdate(object): ...@@ -51,71 +52,20 @@ class TestBusinessesUpdate(object):
@classmethod @classmethod
def teardown_class(cls): def teardown_class(cls):
cls.log.debug("结束执行测试套件.......") cls.log.debug("结束执行测试套件.......")
session = UtilsDataBase().conn_mysql(db_url=cls.db_url, db_port=cls.db_port, db_base=cls.db_base, db_user=cls.db_user, db_pw=cls.db_pw)
DataBusinesses().delete_like_name(session=session, name=cls.base_typeName)
def setup_method(self): def setup_method(self):
self.log.debug("测试用例执行开始...") self.log.debug("测试用例执行开始...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"]) self.app = AppBase(host=self.host)
self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
self.token = self.app.get_base_token(login_name=self.login_name, base_password=self.base_password)
def teardown_method(self): def teardown_method(self):
self.log.debug("测试用例执行结束...") self.log.debug("测试用例执行结束...")
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["ON"])
@allure.step("调用接口:api.login")
def api_login(self, name=None, password=None):
api = ApiLogin(_host=self.host)
api.name = name
api.password = password
api.get_response()
return api.response
@allure.step("更新表数据:members -- del_flag")
def update_members_del_flag(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_del_flag(session=session, _id=members_id, value=value)
return sql
@allure.step("更新表数据:members -- status")
def update_members_status(self, members_id=None, value=None):
session = self.db_session()
sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql
@allure.step("调用接口:businesses.create") self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
def businesses_create(self, token=None, name=None, description=None, _type=None, principalName=None, principalPhone=None, self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
memberid=None):
api = BusinessesCreate(_host=self.host)
api.token = token
api.name = name
api.description = description
api.type = _type
api.principalName = principalName
api.principalPhone = principalPhone
api.memberid = memberid
api.get_response()
return api.response
@allure.step("调用接口:businesses.update")
def businesses_update(self, token=None, businessid=None, name=None, description=None, _type=None, principalName=None, principalPhone=None, memberid=None):
api = BusinessesUpdate(_host=self.host)
api.token = token
api.businessid = businessid
api.name = name
api.description = description
api.type = _type
api.principalName = principalName
api.principalPhone = principalPhone
api.memberid = memberid
api.get_response()
return api.response
@allure.step("获取token")
def get_base_token(self):
response = self.api_login(name=self.login_name, password=self.base_password)
self.token = UtilsResponse().get_data(response=response)
@allure.step("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
...@@ -137,6 +87,7 @@ class TestBusinessesUpdate(object): ...@@ -137,6 +87,7 @@ class TestBusinessesUpdate(object):
@allure.step("校验查询结果") @allure.step("校验查询结果")
def check_select(self, businessid, name, _type, description, principalName, principalPhone, memberid): def check_select(self, businessid, name, _type, description, principalName, principalPhone, memberid):
sql = self.select_businesses(businessid=businessid) sql = self.select_businesses(businessid=businessid)
assert sql != []
for q, w in enumerate(sql): for q, w in enumerate(sql):
assert w.businessid == businessid assert w.businessid == businessid
assert w.name == name assert w.name == name
...@@ -147,77 +98,59 @@ class TestBusinessesUpdate(object): ...@@ -147,77 +98,59 @@ class TestBusinessesUpdate(object):
assert w.memberid == memberid assert w.memberid == memberid
assert q == 0 assert q == 0
@allure.step("断言返回结果")
def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response)
assert _code == code
@allure.step("断言返回结果数据")
def check_msg(self, response, msg):
_msg = UtilsResponse().get_msg(response=response)
assert _msg == msg
@allure.title("businesses.update:token未传") @allure.title("businesses.update:token未传")
@allure.story("更新业务:token未传") @allure.story("更新业务:token未传")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_01(self): def test_case_01(self):
self.get_base_token() response = self.app.businesses_update()
self.app.check_code(response=response, code=2001)
response = self.businesses_update() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("businesses.update:token的用户已删除") @allure.title("businesses.update:token的用户已删除")
@allure.story("更新业务:token的用户已删除") @allure.story("更新业务:token的用户已删除")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_02(self): def test_case_02(self):
self.get_base_token() self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"]) response = self.app.businesses_update(token=self.token)
response = self.businesses_update(token=self.token) self.app.check_code(response=response, code=2004)
self.check_code(response=response, code=2004) self.app.check_msg(response=response, msg="用户不存在")
self.check_msg(response=response, msg="用户不存在")
@allure.title("businesses.update:token的用户已禁用") @allure.title("businesses.update:token的用户已禁用")
@allure.story("更新业务:token的用户已禁用") @allure.story("更新业务:token的用户已禁用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_03(self): def test_case_03(self):
self.get_base_token() self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"]) response = self.app.businesses_update(token=self.token)
response = self.businesses_update(token=self.token) self.app.check_code(response=response, code=2003)
self.check_code(response=response, code=2003) self.app.check_msg(response=response, msg="账户已被禁用")
self.check_msg(response=response, msg="账户已被禁用")
@allure.title("businesses.update:name, type修改") @allure.title("businesses.update:name, type修改")
@allure.story("更新业务:name, type修改") @allure.story("更新业务:name, type修改")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_04(self): def test_case_04(self):
self.get_base_token()
name = self.base_name + "04" name = self.base_name + "04"
self.case_create(name=name) business_id = self.app.case_create_businesses(name=name, _type=self.base_type_1)
response = self.businesses_update(token=self.token, businessid=self.businessid, name=name + "修改", _type=self.base_type_2) response = self.app.businesses_update(token=self.token, businessid=business_id, name=name + "修改", _type=self.base_type_2)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(businessid=self.businessid, name=name + "修改", _type=self.base_type_2, description=None, self.check_select(businessid=business_id, name=name + "修改", _type=self.base_type_2, description=None,
principalPhone=None, principalName=None, memberid=None) principalPhone=None, principalName=None, memberid=None)
@allure.title("businesses.update:id为空,返回异常") @allure.title("businesses.update:id为空,返回异常")
@allure.story("更新业务:id为空,返回异常") @allure.story("更新业务:id为空,返回异常")
def test_case_05(self): def test_case_05(self):
self.get_base_token()
name = self.base_name + "05" name = self.base_name + "05"
self.case_create(name=name) response = self.app.businesses_update(token=self.token, name=name + "修改", _type=self.base_type_2)
response = self.businesses_update(token=self.token, name=name + "修改", _type=self.base_type_2) self.app.check_code(response=response, code=100)
self.check_code(response=response, code=100)
@allure.title("businesses.update:其他字段修改") @allure.title("businesses.update:其他字段修改")
@allure.story("更新业务:其他字段修改") @allure.story("更新业务:其他字段修改")
def test_case_06(self): def test_case_06(self):
self.get_base_token()
name = self.base_name + "06" name = self.base_name + "06"
self.case_create(name=name) business_id = self.app.case_create_businesses(name=name, _type=self.base_type_1)
response = self.businesses_update(token=self.token, businessid=self.businessid, description="description", principalName="principalName", response = self.app.businesses_update(token=self.token, businessid=business_id, description="description", principalName="principalName",
principalPhone="principalPhone", memberid=self.base_id) principalPhone="principalPhone", memberid=self.base_id)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(businessid=self.businessid, name=name, _type=self.base_type_1, description="description", self.check_select(businessid=business_id, name=name, _type=self.base_type_1, description="description",
principalPhone="principalPhone", principalName="principalName", memberid=self.base_id) principalPhone="principalPhone", principalName="principalName", memberid=self.base_id)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment