Commit de7fa714 by sanshi

整个用户代码重构

parent 1304d361
...@@ -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.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
from WorkUtils.UtilsDataBase import UtilsDataBase from WorkUtils.UtilsDataBase import UtilsDataBase
...@@ -33,6 +34,8 @@ class TestMembersGetRole(object): ...@@ -33,6 +34,8 @@ class TestMembersGetRole(object):
base_id = 10 base_id = 10
base_password = "123456" base_password = "123456"
base_name = "SS 自动化专用用户"
@classmethod @classmethod
def setup_class(cls): def setup_class(cls):
cls.log.debug("开始执行测试套件.......") cls.log.debug("开始执行测试套件.......")
...@@ -43,61 +46,23 @@ class TestMembersGetRole(object): ...@@ -43,61 +46,23 @@ class TestMembersGetRole(object):
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"]) 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("调用接口: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.get.role")
def members_get_role(self, token=None):
api = MembersGetRole(_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):
session = UtilsDataBase().conn_mysql(db_url=self.db_url, db_port=self.db_port, db_base=self.db_base, db_user=self.db_user, db_pw=self.db_pw) session = UtilsDataBase().conn_mysql(db_url=self.db_url, db_port=self.db_port, db_base=self.db_base, db_user=self.db_user, db_pw=self.db_pw)
return session return session
@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("断言返回结果")
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.step("断言返回结果") @allure.step("断言返回结果")
def check_data(self, response): def check_data(self, response):
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
...@@ -116,39 +81,35 @@ class TestMembersGetRole(object): ...@@ -116,39 +81,35 @@ class TestMembersGetRole(object):
@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.members_get_role()
self.app.check_code(response=response, code=2001)
response = self.members_get_role() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("members.get.role:token的用户已删除") @allure.title("members.get.role: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.members_get_role(token=self.token)
response = self.members_get_role(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("members.get.role:token的用户已禁用") @allure.title("members.get.role: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.members_get_role(token=self.token)
response = self.members_get_role(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("members.get.role:无参数调用") @allure.title("members.get.role:无参数调用")
@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.members_get_role(token=self.token)
response = self.members_get_role(token=self.token) self.app.check_code(response=response, code=0)
self.check_code(response=response, code=0) self.check_data(response=response)
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 WorkApi.APP.Api.api_login import ApiLogin from WorkApi.APP.Api.api_login import ApiLogin
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
...@@ -48,118 +49,64 @@ class TestMembersList(object): ...@@ -48,118 +49,64 @@ class TestMembersList(object):
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("调用接口:members.list") self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["OFF"])
def members_list(self, token=None): self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
api = MembersList(_host=self.host)
api.token = token
api.get_response()
return api.response
@allure.step("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
session = UtilsDataBase().conn_mysql(db_url=self.db_url, db_port=self.db_port, db_base=self.db_base, db_user=self.db_user, db_pw=self.db_pw) session = UtilsDataBase().conn_mysql(db_url=self.db_url, db_port=self.db_port, db_base=self.db_base, db_user=self.db_user, db_pw=self.db_pw)
return session return session
@allure.step("断言返回结果:校验排序")
def check_sortfield(self, response, possible):
result = UtilsResponse().get_result(response=response)
UtilsResponse().check_sort(_list=result, key="eventid", possible=possible)
@allure.step("断言返回结果:校验返回数据的数量")
def check_num(self, response, num):
result = UtilsResponse().get_result(response=response)
assert len(result) == num
@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.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("获取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("查询表:members") @allure.step("查询表:members")
def select_members(self, _id): def select_members(self, _id):
session = self.db_session() session = self.db_session()
sql = DataMembers().select_all_from_allKeys(session=session, _id=_id) sql = DataMembers().select_all_from_allKeys(session=session, _id=_id)
return sql return sql
@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.title("members.list:token未传") @allure.title("members.list: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.members_list()
self.app.check_code(response=response, code=2001)
response = self.members_list() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("members.list:token的用户已删除") @allure.title("members.list: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(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.members_list(token=self.token)
response = self.members_list(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("members.list:token的用户已禁用") @allure.title("members.list: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(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.members_list(token=self.token)
response = self.members_list(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("members.list:成功查询") @allure.title("members.list:成功查询")
@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.members_list(token=self.token)
self.app.check_code(response=response, code=0)
response = self.members_list(token=self.token)
self.check_code(response=response, code=0)
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
for q, w in enumerate(data): for q, w in enumerate(data):
......
...@@ -19,6 +19,14 @@ import allure ...@@ -19,6 +19,14 @@ import allure
from WorkApi.APP.Device.device_delete import DeviceDelete from WorkApi.APP.Device.device_delete import DeviceDelete
from WorkApi.APP.Device.device_get import DeviceGet from WorkApi.APP.Device.device_get import DeviceGet
from WorkApi.APP.Members.Get.members_get_role import MembersGetRole
from WorkApi.APP.Members.Update.members_update_info import MembersUpdateInfo
from WorkApi.APP.Members.Update.members_update_status import MembersUpdateStatus
from WorkApi.APP.Members.members_create import MembersCreate
from WorkApi.APP.Members.members_delete import MembersDelete
from WorkApi.APP.Members.members_get import MembersGet
from WorkApi.APP.Members.members_list import MembersList
from WorkApi.APP.Settings.settings_changePassword import SettingsChangePassword
from WorkData.Argus.members import DataMembers from WorkData.Argus.members import DataMembers
from WorkUtils.UtilsResponse import UtilsResponse from WorkUtils.UtilsResponse import UtilsResponse
...@@ -282,6 +290,17 @@ class AppBase(object): ...@@ -282,6 +290,17 @@ class AppBase(object):
address_id = UtilsResponse().get_data(response=response) address_id = UtilsResponse().get_data(response=response)
return address_id return address_id
@allure.step("创建测试数据")
def case_create_member(self, name, password, role=None, position=None, phone=None,
email=None, wechatUrl=None, dingdingUrl=None, remark=None,
silenceTime=None, period=None, severity=None):
response = self.members_create(token=self.token, name=name, password=password, role=role, position=position,
phone=phone, email=email, wechatUrl=wechatUrl, dingdingUrl=dingdingUrl,
remark=remark, silenceTime=silenceTime, period=period, severity=severity)
self.check_code(response=response, code=0)
member_id = UtilsResponse().get_data(response=response)
return member_id
@allure.step("断言返回结果") @allure.step("断言返回结果")
def check_code(self, response, code): def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response) _code = UtilsResponse().get_code(response=response)
...@@ -307,3 +326,101 @@ class AppBase(object): ...@@ -307,3 +326,101 @@ class AppBase(object):
def update_members_status(self, session, members_id=None, value=None): def update_members_status(self, session, members_id=None, value=None):
sql = DataMembers().update_status(session=session, _id=members_id, value=value) sql = DataMembers().update_status(session=session, _id=members_id, value=value)
return sql return sql
@allure.step("更新表数据:members -- password")
def update_members_password(self, session, members_id=None, value=None):
sql = DataMembers().update_password(session=session, _id=members_id, value=value)
return sql
@allure.step("调用接口:settings.changePassword")
def settings_changePassword(self, token=None, memberId=None, oldPassword=None, newPassword=None):
api = SettingsChangePassword(_host=self.host)
api.token = token
api.memberId = memberId
api.oldPassword = oldPassword
api.newPassword = newPassword
api.get_response()
return api.response
@allure.step("调用接口:members.create")
def members_create(self, token=None, name=None, position=None, role=None, password=None,
phone=None, email=None, wechatUrl=None, dingdingUrl=None, remark=None,
silenceTime=None, period=None, severity=None):
api = MembersCreate(_host=self.host)
api.token = token
api.name = name
api.position = position
api.role = role
api.password = password
api.phone = phone
api.email = email
api.wechatUrl = wechatUrl
api.dingdingUrl = dingdingUrl
api.remark = remark
api.silenceTime = silenceTime
api.period = period
api.severity = severity
api.get_response()
return api.response
@allure.step("调用接口:members.delete")
def members_delete(self, token=None, memberIds=None):
api = MembersDelete(_host=self.host)
api.token = token
api.memberIds = memberIds
api.get_response()
return api.response
@allure.step("调用接口:members.get")
def members_get(self, token=None, name=None, status=None):
api = MembersGet(_host=self.host)
api.token = token
api.name = name
api.status = status
api.get_response()
return api.response
@allure.step("调用接口:members.get.role")
def members_get_role(self, token=None):
api = MembersGetRole(_host=self.host)
api.token = token
api.get_response()
return api.response
@allure.step("调用接口:members.list")
def members_list(self, token=None):
api = MembersList(_host=self.host)
api.token = token
api.get_response()
return api.response
@allure.step("调用接口:members.update.info")
def members_update_info(self, token=None, name=None, position=None, role=None, password=None,
phone=None, email=None, wechatUrl=None, dingdingUrl=None, remark=None, _id=None,
silenceTime=None, period=None, severity=None):
api = MembersUpdateInfo(_host=self.host)
api.token = token
api.name = name
api.position = position
api.role = role
api.password = password
api.phone = phone
api.email = email
api.wechatUrl = wechatUrl
api.dingdingUrl = dingdingUrl
api.remark = remark
api.silenceTime = silenceTime
api.period = period
api.severity = severity
api.id = _id
api.get_response()
return api.response
@allure.step("调用接口:members.update.status")
def members_update_status(self, token=None, status=None, memberIds=None):
api = MembersUpdateStatus(_host=self.host)
api.token = token
api.status = status
api.memberIds = memberIds
api.get_response()
return api.response
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