Commit de7fa714 by sanshi

整个用户代码重构

parent 1304d361
......@@ -7,6 +7,7 @@
from __future__ import division
from WorkCase import CaseBase
from WorkCase.APP import AppBase
from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsResponse import UtilsResponse
from WorkUtils.UtilsDataBase import UtilsDataBase
......@@ -33,6 +34,8 @@ class TestMembersGetRole(object):
base_id = 10
base_password = "123456"
base_name = "SS 自动化专用用户"
@classmethod
def setup_class(cls):
cls.log.debug("开始执行测试套件.......")
......@@ -43,61 +46,23 @@ class TestMembersGetRole(object):
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.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)
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):
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
@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("断言返回结果")
def check_data(self, response):
data = UtilsResponse().get_data(response=response)
......@@ -116,39 +81,35 @@ class TestMembersGetRole(object):
@allure.story("获取用户角色:token未传")
@allure.severity("blocker")
def test_case_01(self):
self.get_base_token()
response = self.members_get_role()
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
response = self.app.members_get_role()
self.app.check_code(response=response, code=2001)
self.app.check_msg(response=response, msg="无token,请重新登录")
@allure.title("members.get.role: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.members_get_role(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.members_get_role(token=self.token)
self.app.check_code(response=response, code=2004)
self.app.check_msg(response=response, msg="用户不存在")
@allure.title("members.get.role: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.members_get_role(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.members_get_role(token=self.token)
self.app.check_code(response=response, code=2003)
self.app.check_msg(response=response, msg="账户已被禁用")
@allure.title("members.get.role:无参数调用")
@allure.story("获取用户角色:无参数调用")
@allure.severity("blocker")
def test_case_04(self):
self.get_base_token()
response = self.members_get_role(token=self.token)
self.check_code(response=response, code=0)
response = self.app.members_get_role(token=self.token)
self.app.check_code(response=response, code=0)
self.check_data(response=response)
if __name__ == "__main__":
......
......@@ -9,6 +9,7 @@ from __future__ import division
import pytest
from WorkApi.APP.Api.api_login import ApiLogin
from WorkCase.APP import AppBase
from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse
......@@ -48,118 +49,64 @@ class TestMembersList(object):
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("调用接口:members.list")
def members_list(self, token=None):
api = MembersList(_host=self.host)
api.token = token
api.get_response()
return api.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):
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
@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")
def select_members(self, _id):
session = self.db_session()
sql = DataMembers().select_all_from_allKeys(session=session, _id=_id)
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.story("查询用户下拉框:token未传")
@allure.severity("blocker")
@pytest.mark.skip(reason="此接口未加入token验证")
def test_case_01(self):
self.get_base_token()
response = self.members_list()
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
response = self.app.members_list()
self.app.check_code(response=response, code=2001)
self.app.check_msg(response=response, msg="无token,请重新登录")
@allure.title("members.list: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.members_list(token=self.token)
self.check_code(response=response, code=2004)
self.check_msg(response=response, msg="用户不存在")
self.app.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"])
response = self.app.members_list(token=self.token)
self.app.check_code(response=response, code=2004)
self.app.check_msg(response=response, msg="用户不存在")
@allure.title("members.list: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.members_list(token=self.token)
self.check_code(response=response, code=2003)
self.check_msg(response=response, msg="账户已被禁用")
self.app.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"])
response = self.app.members_list(token=self.token)
self.app.check_code(response=response, code=2003)
self.app.check_msg(response=response, msg="账户已被禁用")
@allure.title("members.list:成功查询")
@allure.story("查询用户下拉框:成功查询")
@allure.severity("blocker")
def test_case_04(self):
self.get_base_token()
response = self.members_list(token=self.token)
self.check_code(response=response, code=0)
response = self.app.members_list(token=self.token)
self.app.check_code(response=response, code=0)
data = UtilsResponse().get_data(response=response)
for q, w in enumerate(data):
......
......@@ -19,6 +19,14 @@ import allure
from WorkApi.APP.Device.device_delete import DeviceDelete
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 WorkUtils.UtilsResponse import UtilsResponse
......@@ -282,6 +290,17 @@ class AppBase(object):
address_id = UtilsResponse().get_data(response=response)
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("断言返回结果")
def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response)
......@@ -307,3 +326,101 @@ class AppBase(object):
def update_members_status(self, session, members_id=None, value=None):
sql = DataMembers().update_status(session=session, _id=members_id, value=value)
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