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
1925947d
Commit
1925947d
authored
Dec 05, 2019
by
sanshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新经验手册
parent
65dfb6f8
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
433 additions
and
0 deletions
+433
-0
test_experience_update.py
WorkCase/APP/Experience/test_experience_update.py
+433
-0
No files found.
WorkCase/APP/Experience/test_experience_update.py
0 → 100644
View file @
1925947d
# -*- coding: utf-8 -*-
# 测试用例
# 作者: 陈磊
# 时间: 2019-12-05
from
__future__
import
division
from
WorkApi.APP.Api.api_login
import
ApiLogin
from
WorkCase
import
CaseBase
from
WorkData.Argus.members
import
DataMembers
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkUtils.UtilsResponse
import
UtilsResponse
from
WorkUtils.UtilsDataBase
import
UtilsDataBase
from
WorkApi.APP.Experience.experience_create
import
ExperienceCreate
from
WorkApi.APP.Experience.experience_update
import
ExperienceUpdate
from
WorkData.Argus.experience
import
DataExperience
from
WorkData.Argus.experience_alarm_rule
import
DataExperienceAlarmRule
from
WorkData.Argus.experience_businesses
import
DataExperienceBusinesses
from
WorkData.Argus.experience_hosts
import
DataExperienceHosts
from
WorkData.Argus.experience_hosts_type
import
DataExperienceHostsType
from
WorkData.Argus.experience_tag
import
DataExperienceTag
from
WorkData.Argus.experience_items
import
DataExperienceItems
from
WorkData.Argus.experience_ips
import
DataExperienceIps
from
WorkData.Argus.experience_problem
import
DataExperienceProblem
from
WorkData.Argus.alarm_rule
import
DataAlarmRule
from
WorkData.Argus.businesses
import
DataBusinesses
from
WorkData.Argus.hosts
import
DataHosts
from
WorkData.Argus.hosts_items
import
DataHostsItems
from
WorkData.Argus.problem
import
DataProblem
from
WorkData.Argus.tag
import
DataTag
import
allure
@allure.feature
(
"测试模块:experience.update"
)
class
TestExperienceUpdate
(
object
):
log
=
UtilsLog
()
env
=
CaseBase
()
.
app_environment
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"
]
login_name
=
"SS测试用户名"
base_id
=
10
base_password
=
"123456"
base_type_agent
=
126
base_type_snmp
=
127
base_title
=
"SS测试经验标题"
base_description
=
"SS测试经验描述"
base_content
=
"SS测试经验内容"
base_businessName
=
"SS测试经验业务名称"
base_monitorName
=
"SS测试经验监控名称"
base_hostid
=
10266
base_name
=
"经验手册-测试数据"
base_update_name
=
"经验手册-测试数据-修改"
base_ip
=
"172.99.1.99"
@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
)
DataExperience
()
.
delete_like_title
(
session
=
session
,
title
=
cls
.
base_title
)
@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
(
"调用接口:experience.update"
)
def
experience_update
(
self
,
token
=
None
,
_id
=
None
,
title
=
None
,
content
=
None
,
businessids
=
None
,
hostTypes
=
None
,
hostids
=
None
,
itemids
=
None
,
manageIpList
=
None
,
alarmRuleids
=
None
,
description
=
None
,
tagNameList
=
None
,
problemidList
=
None
,
hostTypeTree
=
None
):
api
=
ExperienceUpdate
(
_host
=
self
.
host
)
api
.
token
=
token
api
.
id
=
_id
api
.
title
=
title
api
.
content
=
content
api
.
businessids
=
businessids
api
.
hostTypes
=
hostTypes
api
.
hostids
=
hostids
api
.
itemids
=
itemids
api
.
manageIpList
=
manageIpList
api
.
alarmRuleids
=
alarmRuleids
api
.
description
=
description
api
.
tagNameList
=
tagNameList
api
.
problemidList
=
problemidList
api
.
hostTypeTree
=
hostTypeTree
api
.
get_response
()
return
api
.
response
@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
(
"连接数据库: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
(
"查询表:experience"
)
def
select_experience
(
self
,
experienceid
=
None
,
title
=
None
,
content
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperience
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
,
title
=
title
,
content
=
content
)
return
sql
@allure.step
(
"查询表:experience_alarm_rule"
)
def
select_experience_alarm_rule
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceAlarmRule
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"查询表:experience_businesses"
)
def
select_experience_businesses
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceBusinesses
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"查询表:experience_hosts"
)
def
select_experience_hosts
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceHosts
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"查询表:experience_hosts_type"
)
def
select_experience_hosts_type
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceHostsType
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"查询表:experience_tag"
)
def
select_experience_tag
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceTag
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"查询表:tag"
)
def
select_tag
(
self
,
tag
=
None
):
session
=
self
.
db_session
()
sql
=
DataTag
()
.
select_all_from_allKeys
(
session
=
session
,
tag
=
tag
)
return
sql
@allure.step
(
"查询表:experience_items"
)
def
select_experience_items
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceItems
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"查询表:experience_ips"
)
def
select_experience_ips
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceIps
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"查询表:experience_problem"
)
def
select_experience_problem
(
self
,
experienceid
=
None
):
session
=
self
.
db_session
()
sql
=
DataExperienceProblem
()
.
select_all_from_allKeys
(
session
=
session
,
experienceid
=
experienceid
)
return
sql
@allure.step
(
"调用接口:experience.create"
)
def
experience_create
(
self
,
token
=
None
,
title
=
None
,
content
=
None
,
businessids
=
None
,
hostTypes
=
None
,
hostids
=
None
,
itemids
=
None
,
manageIpList
=
None
,
alarmRuleids
=
None
,
description
=
None
,
tagNameList
=
None
,
problemidList
=
None
,
hostTypeTree
=
None
):
api
=
ExperienceCreate
(
_host
=
self
.
host
)
api
.
token
=
token
api
.
title
=
title
api
.
content
=
content
api
.
businessids
=
businessids
api
.
hostTypes
=
hostTypes
api
.
hostids
=
hostids
api
.
itemids
=
itemids
api
.
manageIpList
=
manageIpList
api
.
alarmRuleids
=
alarmRuleids
api
.
description
=
description
api
.
tagNameList
=
tagNameList
api
.
problemidList
=
problemidList
api
.
hostTypeTree
=
hostTypeTree
api
.
get_response
()
return
api
.
response
@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
(
"创建测试数据"
)
def
case_create
(
self
,
num
):
# 删除第一个表
session
=
self
.
db_session
()
DataAlarmRule
()
.
delete_like_name
(
session
=
session
,
name
=
self
.
base_name
)
session
=
self
.
db_session
()
DataAlarmRule
()
.
delete_like_name
(
session
=
session
,
name
=
self
.
base_update_name
)
# 删除第二个表
session
=
self
.
db_session
()
DataBusinesses
()
.
delete_like_name
(
session
=
session
,
name
=
self
.
base_name
)
session
=
self
.
db_session
()
DataBusinesses
()
.
delete_like_name
(
session
=
session
,
name
=
self
.
base_update_name
)
session
=
self
.
db_session
()
sql
=
DataHosts
()
.
select_all_from_allKeys
(
session
=
session
,
host_name
=
self
.
base_name
)
for
x
,
y
in
enumerate
(
sql
):
# 删除第三个表
session
=
self
.
db_session
()
DataHostsItems
()
.
delete_host_id
(
session
=
session
,
host_id
=
y
.
hostid
)
# 删除第四个表
session
=
self
.
db_session
()
DataProblem
()
.
delete_hostid
(
session
=
session
,
hostid
=
y
.
hostid
)
session
=
self
.
db_session
()
sql
=
DataHosts
()
.
select_all_from_allKeys
(
session
=
session
,
host_name
=
self
.
base_update_name
)
for
x
,
y
in
enumerate
(
sql
):
# 删除第三个表
session
=
self
.
db_session
()
DataHostsItems
()
.
delete_host_id
(
session
=
session
,
host_id
=
y
.
hostid
)
# 删除第四个表
session
=
self
.
db_session
()
DataProblem
()
.
delete_hostid
(
session
=
session
,
hostid
=
y
.
hostid
)
# 删除第五个表
session
=
self
.
db_session
()
DataHosts
()
.
delete_like_host_name
(
session
=
session
,
host_name
=
self
.
base_name
)
session
=
self
.
db_session
()
DataHosts
()
.
delete_like_host_name
(
session
=
session
,
host_name
=
self
.
base_update_name
)
# 删除第六个表
session
=
self
.
db_session
()
DataTag
()
.
delete_like_tag
(
session
=
session
,
tag
=
self
.
base_name
)
session
=
self
.
db_session
()
DataTag
()
.
delete_like_tag
(
session
=
session
,
tag
=
self
.
base_update_name
)
session
=
self
.
db_session
()
self
.
alarm_ruleid
=
DataAlarmRule
()
.
insert_one
(
session
=
session
,
name
=
self
.
base_name
,
status
=
1
,
severity
=
1
,
manual_close
=
0
,
enable_time_default
=
1
,
create_time
=
1
)
session
=
self
.
db_session
()
self
.
update_alarm_ruleid
=
DataAlarmRule
()
.
insert_one
(
session
=
session
,
name
=
self
.
base_update_name
,
status
=
1
,
severity
=
1
,
manual_close
=
0
,
enable_time_default
=
1
,
create_time
=
1
)
session
=
self
.
db_session
()
self
.
businessid
=
DataBusinesses
()
.
insert_one
(
session
=
session
,
name
=
self
.
base_name
,
_type
=
1
)
session
=
self
.
db_session
()
self
.
update_businessid
=
DataBusinesses
()
.
insert_one
(
session
=
session
,
name
=
self
.
base_update_name
,
_type
=
1
)
session
=
self
.
db_session
()
self
.
hostid
=
DataHosts
()
.
insert_one
(
session
=
session
,
host_name
=
self
.
base_name
,
del_flag
=
0
,
monitor_status
=
1
,
manage_ip
=
self
.
base_ip
)
session
=
self
.
db_session
()
self
.
update_hostid
=
DataHosts
()
.
insert_one
(
session
=
session
,
host_name
=
self
.
base_update_name
,
del_flag
=
0
,
monitor_status
=
1
,
manage_ip
=
self
.
base_ip
)
session
=
self
.
db_session
()
self
.
itemid
=
DataHostsItems
()
.
insert_one
(
session
=
session
,
host_id
=
self
.
hostid
,
name
=
self
.
base_name
,
key_
=
"key_"
)
session
=
self
.
db_session
()
self
.
update_itemid
=
DataHostsItems
()
.
insert_one
(
session
=
session
,
host_id
=
self
.
hostid
,
name
=
self
.
base_update_name
,
key_
=
"key_"
)
session
=
self
.
db_session
()
self
.
eventid
=
DataProblem
()
.
insert_one
(
session
=
session
,
eventid
=
999999
,
source
=
0
,
_object
=
0
,
objectid
=
0
,
clock
=
0
,
ns
=
0
,
r_clock
=
0
,
r_ns
=
0
,
acknowledged
=
0
,
acknowledged_time
=
0
,
severity
=
0
,
status
=
0
,
hostid
=
self
.
hostid
,
name
=
self
.
base_name
)
session
=
self
.
db_session
()
self
.
update_eventid
=
DataProblem
()
.
insert_one
(
session
=
session
,
eventid
=
999998
,
source
=
0
,
_object
=
0
,
objectid
=
0
,
clock
=
0
,
ns
=
0
,
r_clock
=
0
,
r_ns
=
0
,
acknowledged
=
0
,
acknowledged_time
=
0
,
severity
=
0
,
status
=
0
,
hostid
=
self
.
hostid
,
name
=
self
.
base_update_name
)
self
.
title
=
self
.
base_title
+
num
self
.
content
=
self
.
base_content
+
num
self
.
description
=
self
.
base_description
+
num
self
.
update_title
=
self
.
title
+
"修改"
self
.
update_content
=
self
.
content
+
"修改"
self
.
update_description
=
self
.
description
+
"修改"
response
=
self
.
experience_create
(
token
=
self
.
token
,
title
=
self
.
title
,
content
=
self
.
content
,
hostTypes
=
[
self
.
base_type_agent
],
alarmRuleids
=
[
self
.
alarm_ruleid
],
businessids
=
[
self
.
businessid
],
hostids
=
[
self
.
hostid
],
manageIpList
=
[
self
.
hostid
],
itemids
=
[
self
.
itemid
],
problemidList
=
[
self
.
eventid
],
tagNameList
=
[
self
.
base_name
],
description
=
self
.
description
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
experienceid
=
UtilsResponse
()
.
get_data
(
response
=
response
)
@allure.step
(
"校验数据"
)
def
check_select
(
self
,
response
):
data
=
UtilsResponse
()
.
get_data
(
response
=
response
)
sql
=
self
.
select_experience
(
experienceid
=
data
)
for
x
,
y
in
enumerate
(
sql
):
assert
y
.
title
==
self
.
update_title
assert
y
.
content
==
self
.
update_content
# 校验第一个表
sql
=
self
.
select_experience_alarm_rule
(
experienceid
=
self
.
experienceid
)
assert
sql
!=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
alarm_ruleid
==
self
.
update_alarm_ruleid
# 校验第二个表
sql
=
self
.
select_experience_businesses
(
experienceid
=
self
.
experienceid
)
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
businessid
==
self
.
update_businessid
# 校验第三个表
sql
=
self
.
select_experience_hosts
(
experienceid
=
self
.
experienceid
)
assert
sql
!=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
hostid
==
self
.
update_hostid
# 校验第四个表
sql
=
self
.
select_experience_hosts_type
(
experienceid
=
self
.
experienceid
)
assert
sql
!=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
hosts_type
==
self
.
base_type_snmp
# 校验第五个表
sql
=
self
.
select_experience_ips
(
experienceid
=
self
.
experienceid
)
assert
sql
!=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
hostid
==
self
.
update_hostid
# 校验第六个表
sql
=
self
.
select_experience_items
(
experienceid
=
self
.
experienceid
)
assert
sql
!=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
itemid
==
self
.
update_itemid
# 校验第七个表
sql
=
self
.
select_experience_problem
(
experienceid
=
self
.
experienceid
)
assert
sql
!=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
problemid
==
self
.
update_eventid
# 校验第八个表
sql
=
self
.
select_tag
(
tag
=
self
.
base_update_name
)
assert
sql
!=
[]
tagids
=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
tag
==
self
.
base_update_name
assert
q
==
0
tagids
.
append
(
w
.
tagid
)
sql
=
self
.
select_experience_tag
(
experienceid
=
self
.
experienceid
)
assert
sql
!=
[]
for
q
,
w
in
enumerate
(
sql
):
assert
w
.
tagid
==
tagids
[
0
]
@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
(
"experience.update:token未传"
)
@allure.story
(
"更新经验手册:token未传"
)
@allure.severity
(
"blocker"
)
def
test_case_01
(
self
):
self
.
get_base_token
()
self
.
update_members_del_flag
(
members_id
=
self
.
base_id
,
value
=
1
)
response
=
self
.
experience_update
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2004
)
self
.
check_msg
(
response
=
response
,
msg
=
"用户不存在"
)
@allure.title
(
"experience.update:token的用户已删除"
)
@allure.story
(
"更新经验手册:token的用户已删除"
)
def
test_case_02
(
self
):
self
.
get_base_token
()
self
.
update_members_del_flag
(
members_id
=
self
.
base_id
,
value
=
1
)
response
=
self
.
experience_update
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2004
)
self
.
check_msg
(
response
=
response
,
msg
=
"用户不存在"
)
@allure.title
(
"experience.update:token的用户已禁用"
)
@allure.story
(
"更新经验手册:token的用户已禁用"
)
def
test_case_03
(
self
):
self
.
get_base_token
()
self
.
update_members_status
(
members_id
=
self
.
base_id
,
value
=
1
)
response
=
self
.
experience_update
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2003
)
self
.
check_msg
(
response
=
response
,
msg
=
"账户已被禁用"
)
@allure.title
(
"experience.update:更新所有字段"
)
@allure.story
(
"更新经验手册:更新所有字段"
)
def
test_case_04
(
self
):
self
.
get_base_token
()
self
.
case_create
(
num
=
"04"
)
response
=
self
.
experience_update
(
token
=
self
.
token
,
_id
=
self
.
experienceid
,
title
=
self
.
update_title
,
content
=
self
.
update_content
,
description
=
self
.
update_description
,
businessids
=
[
self
.
update_businessid
],
hostTypes
=
[
self
.
base_type_snmp
],
hostids
=
[
self
.
update_hostid
],
itemids
=
[
self
.
update_itemid
],
manageIpList
=
[
self
.
update_hostid
],
alarmRuleids
=
[
self
.
update_alarm_ruleid
],
tagNameList
=
[
self
.
base_update_name
],
problemidList
=
[
self
.
update_eventid
])
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
check_select
(
response
=
response
)
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 = TestExperienceUpdate()
# a.setup_class()
# a.test_case_04()
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