Commit 83c4a24e by sanshi

资产

parent f767b4de
......@@ -126,7 +126,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, name=self.base_name + "05")
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="name", _value=self.base_name + "05")
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="name", _value=self.base_name + "05")
@allure.title("device.get:type查询")
@allure.story("查询资产:type查询")
......@@ -137,7 +137,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, _type=self.base_type_snmp)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="hostType", _value=self.base_type_snmp)
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="hostType", _value=self.base_type_snmp)
@allure.title("device.get:manageLevel查询")
@allure.story("查询资产:manageLevel查询")
......@@ -148,7 +148,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, manageLevel=1)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="manageLevel", _value=1)
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="manageLevel", _value=1)
@allure.title("device.get:monitorStatus查询")
@allure.story("查询资产:monitorStatus查询")
......@@ -159,7 +159,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, monitorStatus=1)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="monitorStatus", _value=1)
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="monitorStatus", _value=1)
@allure.title("device.get:available查询")
@allure.story("查询资产:available查询")
......@@ -170,7 +170,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, available=1)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="available", _value=1)
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="available", _value=1)
@allure.title("device.get:businessIds查询")
@allure.story("查询资产:businessIds查询")
......@@ -181,7 +181,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="businessesNames", _value=self.base_business_name_1 + "," + self.base_business_name_2)
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="businessesNames", _value=self.base_business_name_1 + "," + self.base_business_name_2)
@allure.title("device.get:memberId查询")
@allure.story("查询资产:memberId查询")
......@@ -192,7 +192,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, memberId=11)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="memberName", _value="sanshi")
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="memberName", _value="sanshi")
@allure.title("device.get:factoryId查询")
@allure.story("查询资产:factoryId查询")
......@@ -203,7 +203,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, factoryId=1)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="factoryId", _value=1)
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="factoryId", _value=1)
@allure.title("device.get:manageIp查询")
@allure.story("查询资产:manageIp查询")
......@@ -214,7 +214,7 @@ class TestDeviceGet(object):
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_get(token=self.token, manageIp=self.base_ip)
self.app.check_code(response=response, code=0)
self.app.check_data_keyValue(response=response, _key="manageIp", _value=self.base_ip)
self.app.check_keyValue(response=UtilsResponse().get_data(response=response), _key="manageIp", _value=self.base_ip)
@allure.title("device.get:menuId查询")
@allure.story("查询资产:menuId查询")
......
# -*- coding: utf-8 -*-
# 测试用例
# 作者: 陈磊
# 时间: 2019-12-16
from __future__ import division
from WorkCase import CaseBase
from WorkData.Zabbix.interface import DataInterface
from WorkUtils.UtilsLog import UtilsLog
from WorkUtils.UtilsDataBase import UtilsDataBase
from WorkUtils.UtilsResponse import UtilsResponse
from WorkApi.APP.Api.api_login import ApiLogin
from WorkApi.APP.Device.device_create import DeviceCreate
from WorkApi.APP.Device.device_update import DeviceUpdate
from WorkData.Argus.members import DataMembers
from WorkData.Argus.hosts import DataHosts
from WorkData.Zabbix.hosts import DataHosts as DataHostsZabbix
from WorkData.Argus.alarm_rule import DataAlarmRule
import allure
from WorkCase.APP import AppBase
@allure.feature("测试模块:device.update")
class TestDeviceUpdate(object):
log = UtilsLog()
env = CaseBase().app_environment_host
host = env["host"]
db_url = env["db_url"]
db_port = env["db_port"]
db_user = env["db_user"]
db_pw = env["db_pw"]
db_base = env["db_base"]
db_base_zabbix = env["db_base_zabbix"]
login_name = "SS测试用户名"
base_id = 10
base_password = "123456"
base_type_agent = 126
base_type_snmp = 127
base_ip = "172.16.3.170"
base_dns = "sanshi.zmops.com"
base_port = 161
base_update_ip = "172.16.5.170"
base_update_dns = "sanshi.zmops.com"
base_update_port = 171
base_name = "SS 自动化专用"
base_business_id_1 = "12"
base_business_id_2 = "13"
@classmethod
def setup_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)
DataHosts().delete_like_host_name(session=session, host_name=cls.base_name)
@classmethod
def teardown_class(cls):
cls.log.debug("结束执行测试套件.......")
def setup_method(self):
self.log.debug("测试用例执行开始...")
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.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("连接数据库:Zabbix")
def db_session_zabbix(self):
session = UtilsDataBase().conn_mysql(db_url=self.db_url, db_port=self.db_port, db_base=self.db_base_zabbix, db_user=self.db_user, db_pw=self.db_pw)
return session
@allure.step("查询表:hosts")
def select_hosts(self, hostid=None, host_name=None, available=None, monitor_status=None):
session = self.db_session()
sql = DataHosts().select_all_from_allKeys(session=session, hostid=hostid, host_name=host_name, available=available, monitor_status=monitor_status)
return sql
@allure.step("查询表:hosts")
def select_hosts_zabbix(self, hostid=None):
session = self.db_session_zabbix()
sql = DataHostsZabbix().select_all_from_allKeys(session=session, hostid=hostid)
return sql
@allure.step("查询表:interface")
def select_interface(self, hostid=None):
session = self.db_session_zabbix()
sql = DataInterface().select_all_from_allKeys(session=session, hostid=hostid)
return sql
@allure.step("校验Zabbix接口数据")
def check_interface(self, host_id, _type, useip, ip, dns, port):
sql = self.select_interface(hostid=host_id)
assert sql != []
for x, y in enumerate(sql):
assert y.main == 1
assert y.type == _type
assert y.useip == useip
assert y.ip == ip
assert y.dns == dns
assert y.port == str(port)
assert x == 0
@allure.step("校验查询结果")
def check_select(self, response, name, manage_ip, manage_level, host_type, parent_host,
monitor_type, monitor_status, iplist, dns, monitor_interface, ops_person, factoryId,
model, version, serialnumber, description, snmp_community, ipmi_authtype, ipmi_privilege,
ipmi_username, ipmi_password, businessIds, hostTypeTree, businessTree):
data = UtilsResponse().get_data(response=response)
sql = self.select_hosts(hostid=data)
assert sql != []
for x, y in enumerate(sql):
assert y.host_name == name
assert y.asset_code != ""
assert y.manage_ip == manage_ip
# assert y.departmentid == departmentid
assert y.manage_level == manage_level
assert y.host_type == host_type
assert y.parent_host == parent_host
# assert y.available == available
assert y.monitor_type == monitor_type
assert y.monitor_status == monitor_status
assert y.iplist == iplist
assert y.dns == dns
assert int(y.monitor_interface) == monitor_interface
assert y.business_ids == businessIds
assert y.host_type_tree == hostTypeTree
assert y.business_tree == businessTree
# assert y.port == port
assert y.ops_person == ops_person
assert y.factory_id == factoryId
assert y.model == model
assert y.version == version
assert y.serialnumber == serialnumber
assert y.description == description
assert y.snmp_community == snmp_community
assert y.ipmi_authtype == ipmi_authtype
assert y.ipmi_privilege == ipmi_privilege
assert y.ipmi_username == ipmi_username
assert y.ipmi_password == ipmi_password
assert x == 0
@allure.title("device.update:token未传")
@allure.story("更新资产:token未传")
@allure.severity("blocker")
def test_case_01(self):
response = self.app.device_update()
self.app.check_code(response=response, code=2001)
self.app.check_msg(response=response, msg="无token,请重新登录")
@allure.title("device.update:token的用户已删除")
@allure.story("更新资产:token的用户已删除")
@allure.severity("blocker")
def test_case_02(self):
self.app.update_members_del_flag(session=self.db_session(), members_id=self.base_id, value=CaseBase().del_flag["ON"])
response = self.app.device_update(token=self.token)
self.app.check_code(response=response, code=2004)
self.app.check_msg(response=response, msg="用户不存在")
@allure.title("device.update:token的用户已禁用")
@allure.story("更新资产:token的用户已禁用")
@allure.severity("blocker")
def test_case_03(self):
self.app.update_members_status(session=self.db_session(), members_id=self.base_id, value=CaseBase().status["OFF"])
response = self.app.device_update(token=self.token)
self.app.check_code(response=response, code=2003)
self.app.check_msg(response=response, msg="账户已被禁用")
@allure.title("device.update:更新所有字段")
@allure.story("更新资产:更新所有字段")
@allure.severity("blocker")
def test_case_04(self):
name = self.base_name + "04"
host_id = self.app.case_create_host(name=name, host_type=self.base_type_agent,
iplist=self.base_ip, port=self.base_port,
businessIds=self.base_business_id_1 + "," + self.base_business_id_2)
response = self.app.device_update(token=self.token, hostid=host_id, hostName=name + "修改",
dns=self.base_update_dns, monitorInterface=self.base_update_port,
monitorType=2, manageLevel=1, parentHost=1,
businessIds=self.base_business_id_1 + "," + self.base_business_id_2,
hostTypeTree="hostTypeTree", businessTree="businessTree",
opsPerson=11, snmpCommunity="snmpCommunity",
ipmiAuthtype=1, ipmiPrivilege=1, ipmiUsername="ipmiUsername", ipmiPassword="ipmiPassword",
factoryId=1, model="model", version="version", serialnumber="serialnumber", description="description",
monitorStatus=0)
self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name + "修改", manage_ip=self.base_update_dns, manage_level=1,
host_type=self.base_type_agent, monitor_type=2, monitor_status=0,
iplist="", dns=self.base_update_dns, monitor_interface=self.base_update_port,
ops_person=11, snmp_community="snmpCommunity",
ipmi_authtype=1, ipmi_privilege=1, ipmi_username="ipmiUsername", ipmi_password="ipmiPassword", parent_host=1,
factoryId=1, model="model", version="version", serialnumber="serialnumber", description="description",
businessIds=self.base_business_id_1 + "," + self.base_business_id_2, hostTypeTree="hostTypeTree", businessTree="businessTree")
self.check_interface(host_id=host_id, _type=1, useip=0, ip="", dns=self.base_update_dns, port=self.base_update_port)
response = self.app.device_update(token=self.token, hostid=host_id, hostName=name + "修改1",
iplist=self.base_ip, monitorInterface=self.base_port,
monitorType=1, manageLevel=2, parentHost=1,
businessIds=self.base_business_id_1 + "," + self.base_business_id_2, hostTypeTree="hostTypeTree1", businessTree="businessTree1",
opsPerson=11, snmpCommunity="snmpCommunity1",
ipmiAuthtype=1, ipmiPrivilege=1, ipmiUsername="ipmiUsername1", ipmiPassword="ipmiPassword1",
factoryId=1, model="1model", version="1version", serialnumber="1serialnumber", description="1description",
monitorStatus=0)
self.app.check_code(response=response, code=0)
self.check_select(response=response, name=name + "修改1", manage_ip=self.base_ip, manage_level=2,
host_type=self.base_type_agent, monitor_type=1, monitor_status=0,
iplist=self.base_ip, dns="", monitor_interface=self.base_port,
ops_person=11, snmp_community="snmpCommunity1",
ipmi_authtype=1, ipmi_privilege=1, ipmi_username="ipmiUsername1", ipmi_password="ipmiPassword1", parent_host=1,
factoryId=1, model="1model", version="1version", serialnumber="1serialnumber", description="1description",
businessIds=self.base_business_id_1 + "," + self.base_business_id_2,
hostTypeTree="hostTypeTree1", businessTree="businessTree1", )
self.check_interface(host_id=host_id, _type=1, useip=1, ip=self.base_ip, dns="", port=self.base_port)
if __name__ == "__main__":
from WorkUtils.UtilsPyTest import UtilsPyTest
from WorkUtils.UtilsCmd import UtilsCmd
import os
# 执行自动化测试用例
case_info = os.path.split(__file__)
case = UtilsCmd().pytest_cmd()
r = UtilsPyTest(case=case, case_info=case_info)
r.run_main()
# a = TestDeviceUpdate()
# a.setup_class()
# a.setup_method()
# a.test_case_04()
......@@ -406,15 +406,6 @@ class AppBase(object):
assert _msg == msg
@allure.step("校验数据")
def check_data_keyValue(self, response, _key, _value, isIn=None):
data = UtilsResponse().get_data(response=response)
for x, y in enumerate(data["list"]):
if isIn == 1:
assert _value in y[_key]
else:
assert y[_key] == _value
@allure.step("校验数据")
def check_keyValue(self, _json, _key, _value, isIn=None):
for x, y in enumerate(_json):
if isIn == 1:
......
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