Commit b04befbb by sanshi

资产创建与删除

parent b3599311
...@@ -11,12 +11,7 @@ from WorkUtils.UtilsLog import UtilsLog ...@@ -11,12 +11,7 @@ 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
from WorkApi.APP.Api.api_login import ApiLogin
from WorkApi.APP.Device.device_create import DeviceCreate
from WorkData.Argus.members import DataMembers
from WorkData.Argus.hosts import DataHosts from WorkData.Argus.hosts import DataHosts
from WorkData.Argus.alarm_rule import DataAlarmRule
import allure import allure
from WorkCase.APP import AppBase from WorkCase.APP import AppBase
...@@ -43,7 +38,7 @@ class TestDeviceCreate(object): ...@@ -43,7 +38,7 @@ class TestDeviceCreate(object):
base_dns = "sanshi.zmops.com" base_dns = "sanshi.zmops.com"
base_port = 161 base_port = 161
base_name = "SS 操作系统" base_name = "SS 自动化专用"
base_business_id_1 = "12" base_business_id_1 = "12"
base_business_id_2 = "13" base_business_id_2 = "13"
...@@ -59,28 +54,16 @@ class TestDeviceCreate(object): ...@@ -59,28 +54,16 @@ class TestDeviceCreate(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 = 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) 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.app.update_members_del_flag(session=self.db_session(), 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_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["ON"])
@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("连接数据库:Argus") @allure.step("连接数据库:Argus")
def db_session(self): def db_session(self):
...@@ -139,41 +122,31 @@ class TestDeviceCreate(object): ...@@ -139,41 +122,31 @@ class TestDeviceCreate(object):
assert y.host_name == name assert y.host_name == name
assert y.monitor_type == monitor_type assert y.monitor_type == monitor_type
@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("device.create:token未传") @allure.title("device.create:token未传")
@allure.story("创建资产:token未传") @allure.story("创建资产:token未传")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_01(self): def test_case_01(self):
response = self.app.device_create() response = self.app.device_create()
self.check_code(response=response, code=2001) self.app.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录") self.app.check_msg(response=response, msg="无token,请重新登录")
@allure.title("device.create:token的用户已删除") @allure.title("device.create:token的用户已删除")
@allure.story("创建资产:token的用户已删除") @allure.story("创建资产:token的用户已删除")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_02(self): def test_case_02(self):
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"]) self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
response = self.app.device_create(token=self.token) response = self.app.device_create(token=self.token)
self.check_code(response=response, code=2004) self.app.check_code(response=response, code=2004)
self.check_msg(response=response, msg="用户不存在") self.app.check_msg(response=response, msg="用户不存在")
@allure.title("device.create:token的用户已禁用") @allure.title("device.create:token的用户已禁用")
@allure.story("创建资产:token的用户已禁用") @allure.story("创建资产:token的用户已禁用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_03(self): def test_case_03(self):
self.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"]) self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
response = self.app.device_create(token=self.token) response = self.app.device_create(token=self.token)
self.check_code(response=response, code=2003) self.app.check_code(response=response, code=2003)
self.check_msg(response=response, msg="账户已被禁用") self.app.check_msg(response=response, msg="账户已被禁用")
@allure.title("device.create:创建agent资产,ip识别") @allure.title("device.create:创建agent资产,ip识别")
@allure.story("创建资产:创建agent资产,ip识别") @allure.story("创建资产:创建agent资产,ip识别")
...@@ -183,7 +156,7 @@ class TestDeviceCreate(object): ...@@ -183,7 +156,7 @@ class TestDeviceCreate(object):
response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_agent, response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_agent,
iplist=self.base_ip, monitorInterface=self.base_port, iplist=self.base_ip, monitorInterface=self.base_port,
monitorType=1, manageLevel=1) monitorType=1, manageLevel=1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_monitor_type(response=response, name=name, monitor_type=1) self.check_monitor_type(response=response, name=name, monitor_type=1)
@allure.title("device.create:创建agent资产,dns识别") @allure.title("device.create:创建agent资产,dns识别")
...@@ -194,7 +167,7 @@ class TestDeviceCreate(object): ...@@ -194,7 +167,7 @@ class TestDeviceCreate(object):
response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_agent, response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_agent,
iplist=self.base_ip, dns=self.base_dns, iplist=self.base_ip, dns=self.base_dns,
monitorInterface=self.base_port, monitorType=2, manageLevel=1) monitorInterface=self.base_port, monitorType=2, manageLevel=1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_monitor_type(response=response, name=name, monitor_type=2) self.check_monitor_type(response=response, name=name, monitor_type=2)
@allure.title("device.create:创建snmp资产,ip识别") @allure.title("device.create:创建snmp资产,ip识别")
...@@ -205,7 +178,7 @@ class TestDeviceCreate(object): ...@@ -205,7 +178,7 @@ class TestDeviceCreate(object):
response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_snmp, response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_snmp,
iplist=self.base_ip, monitorInterface=self.base_port, iplist=self.base_ip, monitorInterface=self.base_port,
monitorType=1, manageLevel=1) monitorType=1, manageLevel=1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_monitor_type(response=response, name=name, monitor_type=1) self.check_monitor_type(response=response, name=name, monitor_type=1)
@allure.title("device.create:创建snmp资产,dns识别") @allure.title("device.create:创建snmp资产,dns识别")
...@@ -216,7 +189,7 @@ class TestDeviceCreate(object): ...@@ -216,7 +189,7 @@ class TestDeviceCreate(object):
response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_snmp, response = self.app.device_create(token=self.token, hostName=name, hostType=self.base_type_snmp,
iplist=self.base_ip, dns=self.base_dns, iplist=self.base_ip, dns=self.base_dns,
monitorInterface=self.base_port, monitorType=2, manageLevel=1) monitorInterface=self.base_port, monitorType=2, manageLevel=1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_monitor_type(response=response, name=name, monitor_type=2) self.check_monitor_type(response=response, name=name, monitor_type=2)
@allure.title("device.create:创建资产-所有字段") @allure.title("device.create:创建资产-所有字段")
...@@ -231,7 +204,7 @@ class TestDeviceCreate(object): ...@@ -231,7 +204,7 @@ class TestDeviceCreate(object):
ipmiAuthtype=1, ipmiPrivilege=1, ipmiUsername="ipmiUsername", ipmiPassword="ipmiPassword", ipmiAuthtype=1, ipmiPrivilege=1, ipmiUsername="ipmiUsername", ipmiPassword="ipmiPassword",
factoryId=1, model="model", version="version", serialnumber="serialnumber", description="description", factoryId=1, model="model", version="version", serialnumber="serialnumber", description="description",
monitorStatus=1) monitorStatus=1)
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name, manage_ip=self.base_ip, manage_level=1, host_type=self.base_type_agent, monitor_status=1, self.check_select(response=response, name=name, manage_ip=self.base_ip, manage_level=1, host_type=self.base_type_agent, monitor_status=1,
iplist=self.base_ip, dns=None, monitor_interface=self.base_port, ops_person=11, snmp_community="snmpCommunity", iplist=self.base_ip, dns=None, monitor_interface=self.base_port, ops_person=11, snmp_community="snmpCommunity",
ipmi_authtype=1, ipmi_privilege=1, ipmi_username="ipmiUsername", ipmi_password="ipmiPassword", parent_host=1, ipmi_authtype=1, ipmi_privilege=1, ipmi_username="ipmiUsername", ipmi_password="ipmiPassword", parent_host=1,
......
...@@ -21,6 +21,7 @@ from WorkData.Zabbix.hosts import DataHosts as DataHostsZabbix ...@@ -21,6 +21,7 @@ from WorkData.Zabbix.hosts import DataHosts as DataHostsZabbix
from WorkData.Argus.alarm_rule import DataAlarmRule from WorkData.Argus.alarm_rule import DataAlarmRule
import allure import allure
from WorkCase.APP import AppBase
@allure.feature("测试模块:device.delete") @allure.feature("测试模块:device.delete")
...@@ -43,9 +44,9 @@ class TestDeviceDelete(object): ...@@ -43,9 +44,9 @@ class TestDeviceDelete(object):
base_type_snmp = 127 base_type_snmp = 127
base_ip = "172.16.3.170" base_ip = "172.16.3.170"
base_dns = "sanshi.zmops.com" base_dns = "sanshi.zmops.com"
base_port = 999 base_port = 161
base_name = "SS测试资产-删除" base_name = "SS 自动化专用"
base_business_id_1 = "12" base_business_id_1 = "12"
base_business_id_2 = "13" base_business_id_2 = "13"
...@@ -61,79 +62,16 @@ class TestDeviceDelete(object): ...@@ -61,79 +62,16 @@ class TestDeviceDelete(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.app.update_members_del_flag(session=self.db_session(), 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_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 -- 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("调用接口:device.create")
def device_create(self, token=None, hostName=None, hostType=None, manageLevel=None, iplist=None, dns=None,
monitorInterface=None, monitorType=None,
parentHost=None, businessIds=None, opsPerson=None, snmpCommunity=None, ipmiAuthtype=None,
ipmiPrivilege=None, ipmiUsername=None, ipmiPassword=None,
factoryId=None, model=None, version=None, serialnumber=None,
description=None, monitorStatus=None):
api = DeviceCreate(_host=self.host)
api.token = token
api.hostName = hostName
api.hostType = hostType
api.manageLevel = manageLevel
api.iplist = iplist
api.dns = dns
api.monitorInterface = monitorInterface
api.monitorType = monitorType
api.parentHost = parentHost
api.businessIds = businessIds
api.opsPerson = opsPerson
api.snmpCommunity = snmpCommunity
api.ipmiAuthtype = ipmiAuthtype
api.ipmiPrivilege = ipmiPrivilege
api.ipmiUsername = ipmiUsername
api.ipmiPassword = ipmiPassword
api.factoryId = factoryId
api.model = model
api.version = version
api.serialnumber = serialnumber
api.description = description
api.monitorStatus = monitorStatus
api.get_response()
return api.response
@allure.step("调用接口:device.delete")
def device_delete(self, token=None, hostids=None):
api = DeviceDelete(_host=self.host)
api.token = token
api.hostids = hostids
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):
...@@ -167,83 +105,61 @@ class TestDeviceDelete(object): ...@@ -167,83 +105,61 @@ class TestDeviceDelete(object):
sql = self.select_hosts_zabbix(hostid=device_id) sql = self.select_hosts_zabbix(hostid=device_id)
assert sql == [] assert sql == []
@allure.step("断言返回结果")
def check_code(self, response, code):
_code = UtilsResponse().get_code(response=response)
assert _code == code
@allure.step("断言返回结果数据")
def check_msg(self, response, msg):
_msg = UtilsResponse().get_msg(response=response)
assert _msg == msg
@allure.step("创建测试数据")
def case_create(self, num):
name = self.base_name + num
response = self.device_create(token=self.token, hostName=name, hostType=self.base_type_agent, iplist=self.base_ip, monitorInterface=self.base_port,
monitorType=1, manageLevel=1, parentHost=1, businessIds=self.base_business_id_1 + "," + self.base_business_id_2,
opsPerson=11, snmpCommunity="snmpCommunity",
ipmiAuthtype=1, ipmiPrivilege=1, ipmiUsername="ipmiUsername", ipmiPassword="ipmiPassword",
factoryId=1, model="model", version="version", serialnumber="serialnumber", description="description",
monitorStatus=1)
self.device_id = UtilsResponse().get_data(response=response)
return self.device_id
@allure.title("device.delete:token未传") @allure.title("device.delete:token未传")
@allure.story("删除资产:token未传") @allure.story("删除资产:token未传")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_01(self): def test_case_01(self):
self.get_base_token() response = self.app.device_delete()
self.app.check_code(response=response, code=2001)
response = self.device_create() self.app.check_msg(response=response, msg="无token,请重新登录")
self.check_code(response=response, code=2001)
self.check_msg(response=response, msg="无token,请重新登录")
@allure.title("device.delete:token的用户已删除") @allure.title("device.delete:token的用户已删除")
@allure.story("删除资产:token的用户已删除") @allure.story("删除资产:token的用户已删除")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_02(self): def test_case_02(self):
self.get_base_token() self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
self.update_members_del_flag(members_id=self.base_id, value=CaseBase().del_flag["ON"]) response = self.app.device_delete(token=self.token)
response = self.device_create(token=self.token) self.app.check_code(response=response, code=2004)
self.check_code(response=response, code=2004) self.app.check_msg(response=response, msg="用户不存在")
self.check_msg(response=response, msg="用户不存在")
@allure.title("device.delete:token的用户已禁用") @allure.title("device.delete:token的用户已禁用")
@allure.story("删除资产:token的用户已禁用") @allure.story("删除资产:token的用户已禁用")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_03(self): def test_case_03(self):
self.get_base_token() self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
self.update_members_status(members_id=self.base_id, value=CaseBase().status["OFF"]) response = self.app.device_delete(token=self.token)
response = self.device_create(token=self.token) self.app.check_code(response=response, code=2003)
self.check_code(response=response, code=2003) self.app.check_msg(response=response, msg="账户已被禁用")
self.check_msg(response=response, msg="账户已被禁用")
@allure.title("device.delete:删除一个") @allure.title("device.delete:删除一个")
@allure.story("删除资产:删除一个") @allure.story("删除资产:删除一个")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_04(self): def test_case_04(self):
self.get_base_token() host_id_1 = self.app.case_create_host(base_name=self.base_name, num="04", host_type=self.base_type_snmp,
iplist=self.base_ip, port=self.base_port,
self.case_create(num="04") businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.device_delete(token=self.token, hostids=[self.device_id]) response = self.app.device_delete(token=self.token, hostids=[host_id_1])
self.check_code(response=response, code=0) self.app.check_code(response=response, code=0)
self.check_select(device_id=self.device_id) self.check_select(device_id=host_id_1)
@allure.title("device.delete:删除多个") @allure.title("device.delete:删除多个")
@allure.story("删除资产:删除多个") @allure.story("删除资产:删除多个")
@allure.severity("blocker") @allure.severity("blocker")
def test_case_05(self): def test_case_05(self):
self.get_base_token() host_id_1 = self.app.case_create_host(base_name=self.base_name, num="051", host_type=self.base_type_snmp,
iplist=self.base_ip, port=self.base_port,
device_id_1 = self.case_create(num="051") businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
device_id_2 = self.case_create(num="052") host_id_2 = self.app.case_create_host(base_name=self.base_name, num="052", host_type=self.base_type_snmp,
device_id_3 = self.case_create(num="053") iplist=self.base_ip, port=self.base_port,
response = self.device_delete(token=self.token, hostids=[device_id_1, device_id_2, device_id_3]) businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
self.check_code(response=response, code=0) host_id_3 = self.app.case_create_host(base_name=self.base_name, num="053", host_type=self.base_type_snmp,
self.check_select(device_id=device_id_1) iplist=self.base_ip, port=self.base_port,
self.check_select(device_id=device_id_2) businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
self.check_select(device_id=device_id_3) response = self.app.device_delete(token=self.token, hostids=[host_id_1, host_id_2, host_id_3])
self.app.check_code(response=response, code=0)
self.check_select(device_id=host_id_1)
self.check_select(device_id=host_id_2)
self.check_select(device_id=host_id_3)
if __name__ == "__main__": if __name__ == "__main__":
......
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