Commit e6cb2a72 by sanshi

整个业务代码重构

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