Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Z
zmops-test
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
sanshi
zmops-test
Commits
01641af5
Commit
01641af5
authored
Dec 03, 2019
by
sanshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
删除资产
parent
c1d61b9c
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
273 additions
and
0 deletions
+273
-0
device_delete.py
WorkApi/APP/Device/device_delete.py
+43
-0
test_device_delete.py
WorkCase/APP/Device/test_device_delete.py
+228
-0
hosts.py
WorkData/Argus/hosts.py
+2
-0
No files found.
WorkApi/APP/Device/device_delete.py
0 → 100644
View file @
01641af5
# -*- coding: utf-8 -*-
# 删除资产
# 作者: 陈磊
# 时间: 2019-12-03
from
WorkUtils.UtilsRequest
import
UtilsRequest
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkApi.ApiBase
import
ApiBase
,
GetBase
class
DeviceDelete
(
object
):
def
__init__
(
self
,
_host
):
"""
:param _host: 域名
:return:
"""
self
.
log
=
UtilsLog
()
self
.
log
.
info
(
"调用删除资产"
)
self
.
log
.
info
(
self
.
__class__
)
self
.
_host
=
_host
self
.
_headers
=
{}
self
.
_path
=
"/device/delete"
self
.
_url
=
self
.
_host
+
self
.
_path
self
.
_params
=
{}
self
.
_json
=
{}
self
.
_data
=
{}
self
.
response
=
""
self
.
token
=
None
self
.
id
=
None
self
.
api
=
UtilsRequest
()
def
get_response
(
self
):
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"token"
,
value
=
self
.
token
)
self
.
_headers
=
base
.
_json
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"id"
,
value
=
self
.
id
)
self
.
_json
=
base
.
_json
self
.
response
=
self
.
api
.
post
(
url
=
self
.
_url
,
headers
=
self
.
_headers
,
json
=
self
.
_json
)
WorkCase/APP/Device/test_device_delete.py
0 → 100644
View file @
01641af5
# -*- coding: utf-8 -*-
# 测试用例
# 作者: 陈磊
# 时间: 2019-12-03
from
__future__
import
division
from
WorkCase
import
CaseBase
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_delete
import
DeviceDelete
from
WorkData.Argus.members
import
DataMembers
from
WorkData.Argus.hosts
import
DataHosts
from
WorkData.Argus.alarm_rule
import
DataAlarmRule
import
allure
@allure.feature
(
"测试模块:device.delete"
)
class
TestDeviceDelete
(
object
):
log
=
UtilsLog
()
env
=
CaseBase
()
.
app_environment
host
=
"http://172.16.3.78:3334"
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"
]
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
=
999
base_name
=
"SS测试资产-删除"
@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
.
update_members_del_flag
(
members_id
=
self
.
base_id
,
value
=
0
)
self
.
update_members_status
(
members_id
=
self
.
base_id
,
value
=
0
)
def
teardown_method
(
self
):
self
.
log
.
debug
(
"测试用例执行结束..."
)
self
.
update_members_del_flag
(
members_id
=
self
.
base_id
,
value
=
0
)
self
.
update_members_status
(
members_id
=
self
.
base_id
,
value
=
0
)
@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
,
factory
=
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
.
factory
=
factory
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
,
_id
=
None
):
api
=
DeviceDelete
(
_host
=
self
.
host
)
api
.
token
=
token
api
.
id
=
_id
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"
)
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
(
"查询表: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
(
"校验查询结果"
)
def
check_select
(
self
):
sql
=
self
.
select_hosts
(
hostid
=
self
.
device_id
)
for
x
,
y
in
enumerate
(
sql
):
assert
y
.
del_flag
==
1
assert
x
==
0
@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
=
"parentHost"
,
businessIds
=
1
,
opsPerson
=
11
,
snmpCommunity
=
"snmpCommunity"
,
ipmiAuthtype
=
1
,
ipmiPrivilege
=
1
,
ipmiUsername
=
"ipmiUsername"
,
ipmiPassword
=
"ipmiPassword"
,
factory
=
"factory"
,
model
=
"model"
,
version
=
"version"
,
serialnumber
=
"serialnumber"
,
description
=
"description"
,
monitorStatus
=
1
)
self
.
device_id
=
UtilsResponse
()
.
get_data
(
response
=
response
)
@allure.title
(
"device.delete:token未传"
)
@allure.story
(
"删除资产:token未传"
)
@allure.severity
(
"blocker"
)
def
test_case_01
(
self
):
self
.
get_base_token
()
response
=
self
.
device_create
()
self
.
check_code
(
response
=
response
,
code
=
2001
)
self
.
check_msg
(
response
=
response
,
msg
=
"无token,请重新登录"
)
@allure.title
(
"device.delete: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
=
1
)
response
=
self
.
device_create
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2004
)
self
.
check_msg
(
response
=
response
,
msg
=
"用户不存在"
)
@allure.title
(
"device.delete: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
=
1
)
response
=
self
.
device_create
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2003
)
self
.
check_msg
(
response
=
response
,
msg
=
"账户已被禁用"
)
@allure.title
(
"device.delete:删除一个"
)
@allure.story
(
"删除资产:删除一个"
)
@allure.severity
(
"blocker"
)
def
test_case_04
(
self
):
self
.
get_base_token
()
self
.
case_create
(
num
=
"04"
)
response
=
self
.
device_delete
(
token
=
self
.
token
,
_id
=
self
.
device_id
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_select
()
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
=
TestDeviceDelete
()
a
.
setup_class
()
a
.
test_case_04
()
WorkData/Argus/hosts.py
View file @
01641af5
...
@@ -50,6 +50,8 @@ class Hosts(Base):
...
@@ -50,6 +50,8 @@ class Hosts(Base):
ipmi_username
=
Column
(
VARCHAR
(
50
),
comment
=
"ipmi用户名"
)
ipmi_username
=
Column
(
VARCHAR
(
50
),
comment
=
"ipmi用户名"
)
ipmi_password
=
Column
(
VARCHAR
(
50
),
comment
=
"ipmi密码"
)
ipmi_password
=
Column
(
VARCHAR
(
50
),
comment
=
"ipmi密码"
)
create_time
=
Column
(
BigInteger
,
comment
=
"创建时间"
)
create_time
=
Column
(
BigInteger
,
comment
=
"创建时间"
)
del_flag
=
Column
(
Integer
,
comment
=
"0:存在;1:删除"
)
discovered
=
Column
(
Integer
,
comment
=
"0-非自动发现 1- 自动发现主机"
)
class
DataHosts
(
object
):
class
DataHosts
(
object
):
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment