Commit 1f9801e1 by sanshi

告警规则优化

parent efd531db
...@@ -19,6 +19,7 @@ import allure ...@@ -19,6 +19,7 @@ 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.File.file_upload import FileUpload
from WorkApi.APP.Members.Get.members_get_role import MembersGetRole 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_info import MembersUpdateInfo
from WorkApi.APP.Members.Update.members_update_status import MembersUpdateStatus from WorkApi.APP.Members.Update.members_update_status import MembersUpdateStatus
...@@ -26,6 +27,11 @@ from WorkApi.APP.Members.members_create import MembersCreate ...@@ -26,6 +27,11 @@ from WorkApi.APP.Members.members_create import MembersCreate
from WorkApi.APP.Members.members_delete import MembersDelete from WorkApi.APP.Members.members_delete import MembersDelete
from WorkApi.APP.Members.members_get import MembersGet from WorkApi.APP.Members.members_get import MembersGet
from WorkApi.APP.Members.members_list import MembersList from WorkApi.APP.Members.members_list import MembersList
from WorkApi.APP.Rule.rule_create import RuleCreate
from WorkApi.APP.Rule.rule_delete import RuleDelete
from WorkApi.APP.Rule.rule_get import RuleGet
from WorkApi.APP.Rule.rule_list import RuleList
from WorkApi.APP.Rule.rule_update import RuleUpdate
from WorkApi.APP.Settings.Get.settings_get_member import SettingsGetMember from WorkApi.APP.Settings.Get.settings_get_member import SettingsGetMember
from WorkApi.APP.Settings.settings_changePassword import SettingsChangePassword from WorkApi.APP.Settings.settings_changePassword import SettingsChangePassword
from WorkData.Argus.members import DataMembers from WorkData.Argus.members import DataMembers
...@@ -36,7 +42,6 @@ class AppBase(object): ...@@ -36,7 +42,6 @@ class AppBase(object):
def __init__(self, host): def __init__(self, host):
self.host = host self.host = host
self.token = None self.token = None
self.host_id = None
@allure.step("调用接口:api.login") @allure.step("调用接口:api.login")
def api_login(self, name=None, password=None): def api_login(self, name=None, password=None):
...@@ -257,9 +262,8 @@ class AppBase(object): ...@@ -257,9 +262,8 @@ class AppBase(object):
api.get_response() api.get_response()
return api.response return api.response
@allure.step("创建测试数据") @allure.step("创建测试数据-资产")
def case_create_host(self, base_name, num, host_type, iplist, port, businessIds): def case_create_host(self, name, host_type, iplist, port, businessIds):
name = base_name + num
response = self.device_create( response = self.device_create(
token=self.token, hostName=name, hostType=host_type, iplist=iplist, monitorInterface=port, token=self.token, hostName=name, hostType=host_type, iplist=iplist, monitorInterface=port,
monitorType=1, manageLevel=1, parentHost=1, businessIds=businessIds, monitorType=1, manageLevel=1, parentHost=1, businessIds=businessIds,
...@@ -271,20 +275,20 @@ class AppBase(object): ...@@ -271,20 +275,20 @@ class AppBase(object):
host_id = UtilsResponse().get_data(response=response) host_id = UtilsResponse().get_data(response=response)
return host_id return host_id
@allure.step("创建测试数据") @allure.step("创建测试数据-业务类型")
def case_create_businesses_type(self, name): def case_create_businesses_type(self, name):
response = self.businesses_type_create(token=self.token, typeName=name) response = self.businesses_type_create(token=self.token, typeName=name)
self.check_code(response=response, code=0) self.check_code(response=response, code=0)
type_id = UtilsResponse().get_data(response=response) type_id = UtilsResponse().get_data(response=response)
return type_id return type_id
@allure.step("创建测试数据") @allure.step("创建测试数据-业务")
def case_create_businesses(self, name, _type, principalPhone=None, principalName=None): def case_create_businesses(self, name, _type, principalPhone=None, principalName=None):
response = self.businesses_create(token=self.token, name=name, _type=_type, principalPhone=principalPhone, principalName=principalName) response = self.businesses_create(token=self.token, name=name, _type=_type, principalPhone=principalPhone, principalName=principalName)
business_id = UtilsResponse().get_data(response=response) business_id = UtilsResponse().get_data(response=response)
return business_id return business_id
@allure.step("创建测试数据") @allure.step("创建测试数据-地址簿")
def case_create_addressbook(self, name, iplist, available): def case_create_addressbook(self, name, iplist, available):
response = self.addressbook_create(token=self.token, name=name, iplist=iplist, available=available, delay="1h") response = self.addressbook_create(token=self.token, name=name, iplist=iplist, available=available, delay="1h")
self.check_code(response=response, code=0) self.check_code(response=response, code=0)
...@@ -313,10 +317,13 @@ class AppBase(object): ...@@ -313,10 +317,13 @@ class AppBase(object):
assert _msg == msg assert _msg == msg
@allure.step("校验数据") @allure.step("校验数据")
def check_data_keyValue(self, response, _key, _value): def check_data_keyValue(self, response, _key, _value, isIn=None):
data = UtilsResponse().get_data(response=response) data = UtilsResponse().get_data(response=response)
for x, y in enumerate(data["list"]): for x, y in enumerate(data["list"]):
assert y[_key] == _value if isIn == 1:
assert _value in y[_key]
else:
assert y[_key] == _value
@allure.step("更新表数据:members -- del_flag") @allure.step("更新表数据:members -- del_flag")
def update_members_del_flag(self, session, members_id=None, value=None): def update_members_del_flag(self, session, members_id=None, value=None):
...@@ -433,3 +440,121 @@ class AppBase(object): ...@@ -433,3 +440,121 @@ class AppBase(object):
api.memberIds = memberIds api.memberIds = memberIds
api.get_response() api.get_response()
return api.response return api.response
@allure.step("调用接口:rule.create")
def rule_create(self, token=None, name=None, severity=None, url=None, description=None, status=None,
manualClose=None, enableTimeDefault=None, period=None, periodType=None, triggersList=None,
triggersList_hostid=None, triggersList_hostName=None, triggersList_itemid=None,
triggersList_itemName=None, triggersList_function=None, triggersList_parameters=None, triggersList_parameters_value=None,
triggersList_parameters_unit=None, triggersList_operator=None, triggersList_constant=None,
triggersList_logicalSymbol=None, triggersList_onlineFlag=None):
api = RuleCreate(_host=self.host)
api.token = token
api.name = name
api.severity = severity
api.url = url
api.description = description
api.status = status
api.manualClose = manualClose
api.enableTimeDefault = enableTimeDefault
api.period = period
api.periodType = periodType
api.triggersList = triggersList
api.triggersList_hostid = triggersList_hostid
api.triggersList_hostName = triggersList_hostName
api.triggersList_itemid = triggersList_itemid
api.triggersList_itemName = triggersList_itemName
api.triggersList_function = triggersList_function
api.triggersList_parameters = triggersList_parameters
api.triggersList_parameters_value = triggersList_parameters_value
api.triggersList_parameters_unit = triggersList_parameters_unit
api.triggersList_operator = triggersList_operator
api.triggersList_constant = triggersList_constant
api.triggersList_logicalSymbol = triggersList_logicalSymbol
api.triggersList_onlineFlag = triggersList_onlineFlag
api.get_response()
return api.response
@allure.step("调用接口:rule.delete")
def rule_delete(self, token=None, alarmRuleidList=None):
api = RuleDelete(_host=self.host)
api.token = token
api.alarmRuleidList = alarmRuleidList
api.get_response()
return api.response
@allure.step("调用接口:rule.get")
def rule_get(self, token=None, severity=None, itemid=None, status=None,
manageLevel=None, manageIp=None, hostName=None):
api = RuleGet(_host=self.host)
api.token = token
api.severity = severity
api.status = status
api.itemid = itemid
api.manageLevel = manageLevel
api.manageIp = manageIp
api.hostName = hostName
api.get_response()
return api.response
@allure.step("调用接口:rule.update")
def rule_update(self, token=None, _id=None, name=None, severity=None, url=None, description=None, status=None,
manualClose=None, enableTimeDefault=None, period=None, periodType=None, triggersList=None,
triggersList_hostid=None, triggersList_hostName=None, triggersList_itemid=None,
triggersList_itemName=None, triggersList_function=None, triggersList_parameters=None, triggersList_parameters_value=None,
triggersList_parameters_unit=None, triggersList_operator=None, triggersList_constant=None,
triggersList_logicalSymbol=None, triggersList_onlineFlag=None):
api = RuleUpdate(_host=self.host)
api.id = _id
api.token = token
api.name = name
api.severity = severity
api.url = url
api.description = description
api.status = status
api.manualClose = manualClose
api.enableTimeDefault = enableTimeDefault
api.period = period
api.periodType = periodType
api.triggersList = triggersList
api.triggersList_hostid = triggersList_hostid
api.triggersList_hostName = triggersList_hostName
api.triggersList_itemid = triggersList_itemid
api.triggersList_itemName = triggersList_itemName
api.triggersList_function = triggersList_function
api.triggersList_parameters = triggersList_parameters
api.triggersList_parameters_value = triggersList_parameters_value
api.triggersList_parameters_unit = triggersList_parameters_unit
api.triggersList_operator = triggersList_operator
api.triggersList_constant = triggersList_constant
api.triggersList_logicalSymbol = triggersList_logicalSymbol
api.triggersList_onlineFlag = triggersList_onlineFlag
api.get_response()
return api.response
@allure.step("调用接口:rule.list")
def rule_list(self, token=None, ruleName=None):
api = RuleList(_host=self.host)
api.token = token
api.ruleName = ruleName
api.get_response()
return api.response
@allure.step("调用接口:file.upload")
def file_upload(self, token=None, _file=None):
api = FileUpload(_host=self.host)
api.token = token
api.file = _file
api.get_response()
return api.response
@allure.step("创建测试数据-告警规则")
def case_create_rule(self, name, status, severity, host_id, host_name, item_key, itemid, online_flag=None):
response = self.rule_create(token=self.token, name=name, severity=severity, status=status, manualClose=0, triggersList_hostid=[host_id],
triggersList_hostName=[host_name], triggersList_itemid=[itemid],
triggersList_itemName=[item_key], triggersList_function=["avg"],
triggersList_operator=["="], triggersList_constant=[888],
triggersList_parameters_unit=["m"], triggersList_parameters_value=[5], triggersList_onlineFlag=[online_flag])
self.check_code(response=response, code=0)
rule_id = UtilsResponse().get_data(response=response)
return rule_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