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
08452c1b
Commit
08452c1b
authored
Nov 22, 2019
by
sanshi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
创建主机
parent
ec0bf746
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
515 additions
and
60 deletions
+515
-60
Administrator.xml
.idea/dictionaries/Administrator.xml
+22
-0
Project_Default.xml
.idea/inspectionProfiles/Project_Default.xml
+1
-0
host_create.py
WorkApi/API/Host/host_create.py
+72
-27
members_create.py
WorkApi/APP/Members/members_create.py
+3
-3
settings_get_member.py
WorkApi/APP/Settings/Get/settings_get_member.py
+3
-3
settings_changePassword.py
WorkApi/APP/Settings/settings_changePassword.py
+3
-3
test_host_create.py
WorkCase/API/Host/test_host_create.py
+0
-0
test_trigger_create.py
WorkCase/API/Trigger/test_trigger_create.py
+3
-3
test_members_create.py
WorkCase/APP/Members/test_members_create.py
+77
-7
test_settings_changePassword.py
WorkCase/APP/Settings/test_settings_changePassword.py
+12
-1
__init__.py
WorkCase/__init__.py
+10
-10
members.py
WorkData/Argus/members.py
+50
-0
functions.py
WorkData/Zabbix/functions.py
+62
-0
hosts.py
WorkData/Zabbix/hosts.py
+24
-2
interface.py
WorkData/Zabbix/interface.py
+4
-0
items.py
WorkData/Zabbix/items.py
+141
-0
triggers.py
WorkData/Zabbix/triggers.py
+28
-1
No files found.
.idea/dictionaries/Administrator.xml
View file @
08452c1b
...
...
@@ -2,7 +2,11 @@
<dictionary
name=
"Administrator"
>
<words>
<w>
applicationids
</w>
<w>
authpassphrase
</w>
<w>
authprotocol
</w>
<w>
authtype
</w>
<w>
businessid
</w>
<w>
contextname
</w>
<w>
departmentid
</w>
<w>
dingding
</w>
<w>
discoveryids
</w>
...
...
@@ -10,27 +14,43 @@
<w>
eventid
</w>
<w>
eventids
</w>
<w>
experienceid
</w>
<w>
functionid
</w>
<w>
groupid
</w>
<w>
groupids
</w>
<w>
hostid
</w>
<w>
hostids
</w>
<w>
hostmonitor
</w>
<w>
hostprototype
</w>
<w>
hstgrp
</w>
<w>
interfaceid
</w>
<w>
ipmi
</w>
<w>
itemid
</w>
<w>
itemids
</w>
<w>
lastchange
</w>
<w>
lastcheck
</w>
<w>
lastlogsize
</w>
<w>
logtimefmt
</w>
<w>
maintenanceid
</w>
<w>
mediatype
</w>
<w>
mediatypeids
</w>
<w>
monitorid
</w>
<w>
mtime
</w>
<w>
networkmonitor
</w>
<w>
nodata
</w>
<w>
objectid
</w>
<w>
objectids
</w>
<w>
preservekeys
</w>
<w>
privatekey
</w>
<w>
privpassphrase
</w>
<w>
privprotocol
</w>
<w>
publickey
</w>
<w>
pytest
</w>
<w>
ruleid
</w>
<w>
ruleids
</w>
<w>
sanshi
</w>
<w>
securitylevel
</w>
<w>
securityname
</w>
<w>
snmpv
</w>
<w>
sortfield
</w>
<w>
sortorder
</w>
<w>
tablename
</w>
...
...
@@ -40,6 +60,8 @@
<w>
triggerid
</w>
<w>
triggerids
</w>
<w>
triggerprototype
</w>
<w>
useip
</w>
<w>
valuemapid
</w>
<w>
wechat
</w>
<w>
zabbix
</w>
<w>
zmops
</w>
...
...
.idea/inspectionProfiles/Project_Default.xml
View file @
08452c1b
...
...
@@ -6,6 +6,7 @@
<list>
<option
value=
"N803"
/>
<option
value=
"N802"
/>
<option
value=
"N806"
/>
</list>
</option>
</inspection_tool>
...
...
WorkApi/API/Host/host_create.py
View file @
08452c1b
...
...
@@ -8,22 +8,9 @@ from WorkUtils.UtilsLog import UtilsLog
class
HostCreate
(
object
):
def
__init__
(
self
,
_host
,
host
=
None
,
description
=
None
,
groupids
=
None
,
interfaces
=
None
,
tags
=
None
,
templateids
=
None
,
macros
=
None
,
inventory
=
None
,
status
=
None
,
tls_accept
=
None
,
tls_psk_identity
=
None
,
tls_psk
=
None
):
def
__init__
(
self
,
_host
):
"""
:param _host: 域名
:param host:
:param description:
:param groupids:
:param interfaces:
:param tags:
:param templateids:
:param macros:
:param inventory:
:param status:
:param tls_accept:
:param tls_psk_identity:
:param tls_psk:
:return:
"""
self
.
log
=
UtilsLog
()
...
...
@@ -39,33 +26,91 @@ class HostCreate(object):
self
.
local_json
=
{}
self
.
response
=
""
self
.
host
=
host
self
.
description
=
description
self
.
groupids
=
groupids
self
.
interfaces
=
interfaces
self
.
tags
=
tags
self
.
templateids
=
templateids
self
.
macros
=
macros
self
.
inventory
=
inventory
self
.
status
=
status
self
.
tls_accept
=
tls_accept
self
.
tls_psk_identity
=
tls_psk_identity
self
.
tls_psk
=
tls_psk
self
.
hostid
=
None
self
.
host
=
None
self
.
available
=
None
self
.
description
=
None
self
.
flags
=
None
self
.
inventory_mode
=
None
self
.
ipmi_authtype
=
None
self
.
ipmi_available
=
None
self
.
ipmi_disable_until
=
None
self
.
ipmi_error
=
None
self
.
ipmi_errors_from
=
None
self
.
ipmi_password
=
None
self
.
ipmi_privilege
=
None
self
.
ipmi_username
=
None
self
.
jmx_available
=
None
self
.
jmx_disable_until
=
None
self
.
jmx_error
=
None
self
.
jmx_errors_from
=
None
self
.
maintenance_from
=
None
self
.
maintenance_status
=
None
self
.
maintenance_type
=
None
self
.
maintenanceid
=
None
self
.
name
=
None
self
.
proxy_hostid
=
None
self
.
snmp_available
=
None
self
.
snmp_disable_until
=
None
self
.
snmp_error
=
None
self
.
snmp_errors_from
=
None
self
.
interfaces
=
None
self
.
groupids
=
None
self
.
tags
=
None
self
.
templateids
=
None
self
.
macros
=
None
self
.
inventory
=
None
self
.
status
=
None
self
.
tls_connect
=
None
self
.
tls_accept
=
None
self
.
tls_issuer
=
None
self
.
tls_subject
=
None
self
.
tls_psk_identity
=
None
self
.
tls_psk
=
None
self
.
api
=
UtilsRequest
()
def
get_response
(
self
):
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"hostid"
,
value
=
self
.
hostid
)
base
.
dict_add_key
(
_key
=
"host"
,
value
=
self
.
host
)
base
.
dict_add_key
(
_key
=
"available"
,
value
=
self
.
available
)
base
.
dict_add_key
(
_key
=
"description"
,
value
=
self
.
description
)
base
.
dict_add_key
(
_key
=
"groupids"
,
value
=
self
.
groupids
)
base
.
dict_add_key
(
_key
=
"flags"
,
value
=
self
.
flags
)
base
.
dict_add_key
(
_key
=
"inventory_mode"
,
value
=
self
.
inventory_mode
)
base
.
dict_add_key
(
_key
=
"ipmiAuthtype"
,
value
=
self
.
ipmi_authtype
)
base
.
dict_add_key
(
_key
=
"ipmiAvailable"
,
value
=
self
.
ipmi_available
)
base
.
dict_add_key
(
_key
=
"ipmiDisable_until"
,
value
=
self
.
ipmi_disable_until
)
base
.
dict_add_key
(
_key
=
"ipmiError"
,
value
=
self
.
ipmi_error
)
base
.
dict_add_key
(
_key
=
"ipmiErrorsFrom"
,
value
=
self
.
ipmi_errors_from
)
base
.
dict_add_key
(
_key
=
"ipmiPassword"
,
value
=
self
.
ipmi_password
)
base
.
dict_add_key
(
_key
=
"ipmiPrivilege"
,
value
=
self
.
ipmi_privilege
)
base
.
dict_add_key
(
_key
=
"ipmiUsername"
,
value
=
self
.
ipmi_username
)
base
.
dict_add_key
(
_key
=
"jmxAvailable"
,
value
=
self
.
jmx_available
)
base
.
dict_add_key
(
_key
=
"jmxDisableUntil"
,
value
=
self
.
jmx_disable_until
)
base
.
dict_add_key
(
_key
=
"jmxError"
,
value
=
self
.
jmx_error
)
base
.
dict_add_key
(
_key
=
"jmxErrorsFrom"
,
value
=
self
.
jmx_errors_from
)
base
.
dict_add_key
(
_key
=
"maintenanceFrom"
,
value
=
self
.
maintenance_from
)
base
.
dict_add_key
(
_key
=
"maintenanceStatus"
,
value
=
self
.
maintenance_status
)
base
.
dict_add_key
(
_key
=
"maintenanceType"
,
value
=
self
.
maintenance_type
)
base
.
dict_add_key
(
_key
=
"maintenanceid"
,
value
=
self
.
maintenanceid
)
base
.
dict_add_key
(
_key
=
"name"
,
value
=
self
.
name
)
base
.
dict_add_key
(
_key
=
"proxyHostid"
,
value
=
self
.
proxy_hostid
)
base
.
dict_add_key
(
_key
=
"snmpAvailable"
,
value
=
self
.
snmp_available
)
base
.
dict_add_key
(
_key
=
"snmpDisableUntil"
,
value
=
self
.
snmp_disable_until
)
base
.
dict_add_key
(
_key
=
"snmpError"
,
value
=
self
.
snmp_error
)
base
.
dict_add_key
(
_key
=
"snmpErrorsFrom"
,
value
=
self
.
snmp_errors_from
)
base
.
dict_add_key
(
_key
=
"interfaces"
,
value
=
self
.
interfaces
)
base
.
dict_add_key
(
_key
=
"groupids"
,
value
=
self
.
groupids
)
base
.
dict_add_key
(
_key
=
"tags"
,
value
=
self
.
tags
)
base
.
dict_add_key
(
_key
=
"templateids"
,
value
=
self
.
templateids
)
base
.
dict_add_key
(
_key
=
"macros"
,
value
=
self
.
macros
)
base
.
dict_add_key
(
_key
=
"inventory"
,
value
=
self
.
inventory
)
base
.
dict_add_key
(
_key
=
"status"
,
value
=
self
.
status
)
base
.
dict_add_key
(
_key
=
"tlsConnect"
,
value
=
self
.
tls_connect
)
base
.
dict_add_key
(
_key
=
"tlsAccept"
,
value
=
self
.
tls_accept
)
base
.
dict_add_key
(
_key
=
"tlsIssuer"
,
value
=
self
.
tls_issuer
)
base
.
dict_add_key
(
_key
=
"tlsSubject"
,
value
=
self
.
tls_subject
)
base
.
dict_add_key
(
_key
=
"tlsPskIdentity"
,
value
=
self
.
tls_psk_identity
)
base
.
dict_add_key
(
_key
=
"tlsPsk"
,
value
=
self
.
tls_psk
)
self
.
local_json
=
base
.
_json
...
...
WorkApi/APP/Members/members_create.py
View file @
08452c1b
...
...
@@ -42,9 +42,9 @@ class MembersCreate(object):
self
.
api
=
UtilsRequest
()
def
get_response
(
self
):
self
.
_headers
=
{
"token"
:
self
.
token
}
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"token"
,
value
=
self
.
token
)
self
.
_headers
=
base
.
_json
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"name"
,
value
=
self
.
name
)
...
...
WorkApi/APP/Settings/Get/settings_get_member.py
View file @
08452c1b
...
...
@@ -34,9 +34,9 @@ class SettingsGetMember(object):
self
.
api
=
UtilsRequest
()
def
get_response
(
self
):
self
.
_headers
=
{
"token"
:
self
.
token
}
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"token"
,
value
=
self
.
token
)
self
.
_headers
=
base
.
_json
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"memberId"
,
value
=
self
.
memberId
)
...
...
WorkApi/APP/Settings/settings_changePassword.py
View file @
08452c1b
...
...
@@ -36,9 +36,9 @@ class SettingsChangePassword(object):
self
.
api
=
UtilsRequest
()
def
get_response
(
self
):
self
.
_headers
=
{
"token"
:
self
.
token
}
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"token"
,
value
=
self
.
token
)
self
.
_headers
=
base
.
_json
base
=
ApiBase
()
base
.
dict_add_key
(
_key
=
"memberId"
,
value
=
self
.
memberId
)
...
...
WorkCase/API/Host/test_host_create.py
View file @
08452c1b
This diff is collapsed.
Click to expand it.
WorkCase/API/Trigger/test_trigger_create.py
View file @
08452c1b
...
...
@@ -31,13 +31,13 @@ class TestTriggerCreate(object):
db_base
=
env
[
"db_base"
]
base_name
=
"SS测试主机"
base_description
=
"SS测试触发器"
base_expression
=
"{Template OS Linux:agent.ping.
last()}=0
"
base_expression
=
"{Template OS Linux:agent.ping.
nodata(5m)}=1
"
@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)
#
DataTriggers().delete_description(session=session, description=cls.base_description)
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
)
DataTriggers
()
.
delete_description
(
session
=
session
,
description
=
cls
.
base_description
)
@classmethod
def
teardown_class
(
cls
):
...
...
WorkCase/APP/Members/test_members_create.py
View file @
08452c1b
...
...
@@ -10,6 +10,8 @@ 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.Members.members_create
import
MembersCreate
from
WorkData.Argus.members
import
DataMembers
...
...
@@ -28,7 +30,10 @@ class TestMembersCreate(object):
db_user
=
env
[
"db_user"
]
db_pw
=
env
[
"db_pw"
]
db_base
=
env
[
"db_base"
]
base_id
=
10
base_name
=
"SS测试用户名"
base_password
=
"123456"
@classmethod
def
setup_class
(
cls
):
...
...
@@ -44,6 +49,14 @@ class TestMembersCreate(object):
def
teardown_method
(
self
):
self
.
log
.
debug
(
"测试用例执行结束..."
)
@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.create"
)
def
members_create
(
self
,
token
=
None
,
name
=
None
,
position
=
None
,
role
=
None
,
password
=
None
,
phone
=
None
,
email
=
None
,
wechatUrl
=
None
,
dingdingUrl
=
None
,
remark
=
None
):
...
...
@@ -61,11 +74,22 @@ class TestMembersCreate(object):
api
.
get_response
()
return
api
.
response
@allure.step
(
"创建测试数据"
)
def
get_base_token
(
self
):
response
=
self
.
api_login
(
name
=
self
.
base_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
(
"新增表数据:members"
)
def
insert_one
(
self
,
name
=
None
,
role
=
None
,
password
=
None
):
session
=
self
.
db_session
()
sql
=
DataMembers
()
.
insert_one
(
session
=
session
,
name
=
name
,
role
=
role
,
password
=
password
)
return
sql
@allure.step
(
"查询表:members"
)
def
select_members
(
self
,
members_id
=
None
,
name
=
None
,
role
=
None
,
status
=
None
,
del_flag
=
None
):
session
=
self
.
db_session
()
...
...
@@ -73,6 +97,24 @@ class TestMembersCreate(object):
status
=
status
,
del_flag
=
del_flag
)
return
sql
@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
(
"更新表数据:members -- password"
)
def
update_members_password
(
self
,
members_id
=
None
,
value
=
None
):
session
=
self
.
db_session
()
sql
=
DataMembers
()
.
update_password
(
session
=
session
,
_id
=
members_id
,
value
=
value
)
return
sql
@allure.step
(
"校验查询结果"
)
def
check_select
(
self
,
members_id
,
name
,
position
,
role
,
password
,
phone
,
email
,
wechatUrl
,
dingdingUrl
,
remark
):
sql
=
self
.
select_memberss
(
members_id
=
members_id
)
...
...
@@ -112,15 +154,43 @@ class TestMembersCreate(object):
_status
=
UtilsResponse
()
.
get_status
(
response
=
response
)
assert
_status
==
status
@allure.title
(
"members.create:
创建一个新用户
"
)
@allure.story
(
"创建用户:
创建一个新用户
"
)
@allure.title
(
"members.create:
token未传
"
)
@allure.story
(
"创建用户:
token未传
"
)
@allure.severity
(
"blocker"
)
def
test_case_01
(
self
):
response
=
self
.
members_create
(
token
=
"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxIn0.qfd0G-elhE1aGr15LrnYlIZ_3UToaOM5HeMcXrmDGBM"
,
name
=
self
.
base_name
,
role
=
0
,
password
=
123456
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
get_base_token
()
response
=
self
.
members_create
()
self
.
check_code
(
response
=
response
,
code
=
2001
)
self
.
check_msg
(
response
=
response
,
msg
=
"无token,请重新登录"
)
members_id
=
UtilsResponse
()
.
get_data
(
response
=
response
)
# self.check_select(membersid=membersid, description=self.base_description, tags_tag=tags_tag, tags_value=tags_value)
@allure.title
(
"members.create: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
.
members_create
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2004
)
self
.
check_msg
(
response
=
response
,
msg
=
"用户不存在"
)
@allure.title
(
"settings.changePassword: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
.
members_create
(
token
=
self
.
token
)
self
.
check_code
(
response
=
response
,
code
=
2003
)
self
.
check_msg
(
response
=
response
,
msg
=
"账户已被禁用"
)
@allure.title
(
"settings.changePassword:token错误"
)
@allure.story
(
"变更密码:token错误"
)
def
test_case_04
(
self
):
self
.
get_base_token
()
response
=
self
.
settings_changePassword
(
token
=
"Test"
,
memberId
=
self
.
base_id
)
self
.
check_code
(
response
=
response
,
code
=
2001
)
self
.
check_msg
(
response
=
response
,
msg
=
"token错误,请重新登录"
)
if
__name__
==
"__main__"
:
...
...
@@ -137,4 +207,4 @@ if __name__ == "__main__":
a
=
TestMembersCreate
()
a
.
setup_class
()
a
.
test_case_0
1
()
a
.
test_case_0
2
()
WorkCase/APP/Settings/test_settings_changePassword.py
View file @
08452c1b
...
...
@@ -46,6 +46,7 @@ class TestSettingsChangePassword(object):
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
)
self
.
update_members_password
(
members_id
=
self
.
base_id
,
value
=
self
.
base_password
)
def
teardown_method
(
self
):
self
.
log
.
debug
(
"测试用例执行结束..."
)
...
...
@@ -98,6 +99,12 @@ class TestSettingsChangePassword(object):
sql
=
DataMembers
()
.
update_status
(
session
=
session
,
_id
=
members_id
,
value
=
value
)
return
sql
@allure.step
(
"更新表数据:members -- password"
)
def
update_members_password
(
self
,
members_id
=
None
,
value
=
None
):
session
=
self
.
db_session
()
sql
=
DataMembers
()
.
update_password
(
session
=
session
,
_id
=
members_id
,
value
=
value
)
return
sql
@allure.title
(
"settings.changePassword:token未传"
)
@allure.story
(
"变更密码:token未传"
)
@allure.severity
(
"blocker"
)
...
...
@@ -147,9 +154,13 @@ class TestSettingsChangePassword(object):
def
test_case_05
(
self
):
response
=
self
.
api_login
(
name
=
self
.
base_name
,
password
=
self
.
base_password
)
self
.
token
=
UtilsResponse
()
.
get_data
(
response
=
response
)
response
=
self
.
settings_changePassword
(
token
=
self
.
token
,
memberId
=
self
.
base_id
)
new_password
=
"Test"
response
=
self
.
settings_changePassword
(
token
=
self
.
token
,
memberId
=
self
.
base_id
,
oldPassword
=
self
.
base_password
,
newPassword
=
new_password
)
self
.
check_code
(
response
=
response
,
code
=
0
)
self
.
api_login
if
__name__
==
"__main__"
:
from
WorkUtils.UtilsPyTest
import
UtilsPyTest
...
...
WorkCase/__init__.py
View file @
08452c1b
...
...
@@ -11,17 +11,17 @@ class CaseBase:
self
.
environment
=
{
# "host": "http://10.0.0.12:7070",
# "db_url": "10.0.0.153",
# "db_port": 3306,
# "db_user": "zmops",
# "db_pw": "0VMoH%W7|h",
# "db_base": "zabbix",
"host"
:
"http://localhost:7070"
,
"db_url"
:
"10.0.0.155"
,
"db_url"
:
"10.0.0.153"
,
"db_port"
:
3306
,
"db_user"
:
"root"
,
"db_pw"
:
"123456"
,
"db_base"
:
"zabbix"
"db_user"
:
"zmops"
,
"db_pw"
:
"0VMoH
%
W7|h"
,
"db_base"
:
"zabbix"
,
"host"
:
"http://localhost:7070"
,
# "db_url": "10.0.0.155",
# "db_port": 3306,
# "db_user": "root",
# "db_pw": "123456",
# "db_base": "zabbix"
}
self
.
app_environment
=
{
...
...
WorkData/Argus/members.py
View file @
08452c1b
...
...
@@ -47,6 +47,34 @@ class DataMembers(object):
self
.
table
=
Members
def
insert_one
(
self
,
session
,
name
=
None
,
password
=
None
,
role
=
None
):
"""
:param session: 指针
:param name:
:param password:
:param role:
:return:
"""
self
.
log
.
debug
(
"新增表数据:"
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"name"
,
value
=
name
)
base
.
add_param
(
_key
=
"password"
,
value
=
password
)
base
.
add_param
(
_key
=
"role"
,
value
=
role
)
sql_rep
=
self
.
table
(
**
base
.
param
)
session
.
add
(
sql_rep
)
session
.
commit
()
_id
=
sql_rep
.
id
self
.
log
.
debug
(
"新增的id:
%
s"
%
_id
)
session
.
close
()
return
_id
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
def
select_all_from_allKeys
(
self
,
session
,
_id
=
None
,
name
=
None
,
role
=
None
,
status
=
None
,
del_flag
=
None
):
"""
:param session: 指针
...
...
@@ -139,3 +167,25 @@ class DataMembers(object):
self
.
log
.
error
(
error
)
session
.
close
()
return
error
def
update_password
(
self
,
session
,
_id
,
value
):
"""
:param session: 指针
:param _id:
:param value:
:return:
"""
self
.
log
.
debug
(
"查询数据库:"
)
try
:
self
.
log
.
debug
(
"更新相关测试数据"
)
sql_rep
=
session
.
query
(
self
.
table
)
.
filter_by
(
id
=
_id
)
.
one
()
sql_rep
.
password
=
value
session
.
commit
()
session
.
close
()
self
.
log
.
debug
(
"更新成功"
)
return
True
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
WorkData/Zabbix/functions.py
0 → 100644
View file @
08452c1b
# -*- coding: utf_8 -*-
# 表名: functions
# 作者: 陈磊
# 时间: 2019-11-21
from
sqlalchemy.ext.declarative
import
declarative_base
from
sqlalchemy
import
Column
,
Integer
,
VARCHAR
,
BIGINT
,
SMALLINT
,
DATETIME
,
DECIMAL
,
BigInteger
,
FLOAT
,
NUMERIC
,
TEXT
from
sqlalchemy.orm.exc
import
MultipleResultsFound
,
NoResultFound
from
sqlalchemy
import
or_
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkUtils.UtilsDataBase
import
UtilsDataBase
import
time
Base
=
declarative_base
()
class
Functions
(
Base
):
"""
监控与触发器关系表
"""
__tablename__
=
"functions"
functionid
=
Column
(
BigInteger
,
primary_key
=
True
)
itemid
=
Column
(
BigInteger
)
triggerid
=
Column
(
BigInteger
)
name
=
Column
(
VARCHAR
(
12
))
parameter
=
Column
(
VARCHAR
(
255
))
class
DataFunctions
(
object
):
def
__init__
(
self
):
self
.
log
=
UtilsLog
()
self
.
log
.
info
(
self
.
__class__
)
self
.
table
=
Functions
def
select_all_from_allKeys
(
self
,
session
,
itemid
=
None
,
triggerid
=
None
):
"""
:param session: 指针
:param itemid:
:param triggerid:
:return: 查询结果
"""
self
.
log
.
debug
(
"查询数据库:"
)
self
.
log
.
debug
(
"triggerid:
%
s"
%
triggerid
)
self
.
log
.
debug
(
"itemid:
%
s"
%
itemid
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"itemid"
,
value
=
itemid
)
base
.
add_param
(
_key
=
"triggerid"
,
value
=
triggerid
)
sql_rep
=
session
.
query
(
self
.
table
)
.
filter_by
(
**
base
.
param
)
.
all
()
self
.
log
.
debug
(
sql_rep
)
session
.
close
()
return
sql_rep
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
WorkData/Zabbix/hosts.py
View file @
08452c1b
...
...
@@ -82,6 +82,9 @@ class DataHosts(object):
:return: 查询结果
"""
self
.
log
.
debug
(
"查询数据库:"
)
self
.
log
.
debug
(
"hostid:
%
s"
%
hostid
)
self
.
log
.
debug
(
"host:
%
s"
%
host
)
self
.
log
.
debug
(
"name:
%
s"
%
name
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"hostid"
,
value
=
hostid
)
...
...
@@ -97,7 +100,26 @@ class DataHosts(object):
session
.
close
()
return
error
def
delete_name
(
self
,
session
,
name
):
def
select_like_name
(
self
,
session
,
name
):
"""
:param session: 指针
:param name:
:return:
"""
self
.
log
.
debug
(
"查询数据库:"
)
try
:
self
.
log
.
debug
(
"查询相关测试数据"
)
sql
=
session
.
query
(
self
.
table
)
.
filter
(
self
.
table
.
name
.
like
(
name
+
"
%
"
))
.
all
()
session
.
close
()
self
.
log
.
debug
(
"删除成功"
)
return
sql
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
def
delete_like_name
(
self
,
session
,
name
):
"""
:param session: 指针
:param name:
...
...
@@ -106,7 +128,7 @@ class DataHosts(object):
self
.
log
.
debug
(
"查询数据库:"
)
try
:
self
.
log
.
debug
(
"删除相关测试数据"
)
session
.
query
(
self
.
table
)
.
filter
_by
(
name
=
name
)
.
delete
(
synchronize_session
=
False
)
session
.
query
(
self
.
table
)
.
filter
(
self
.
table
.
name
.
like
(
name
+
"
%
"
)
)
.
delete
(
synchronize_session
=
False
)
# session.delete(sql)
session
.
commit
()
session
.
close
()
...
...
WorkData/Zabbix/interface.py
View file @
08452c1b
...
...
@@ -51,6 +51,10 @@ class DataInterface(object):
:return: 查询结果
"""
self
.
log
.
debug
(
"查询数据库:"
)
self
.
log
.
debug
(
"interfaceid:
%
s"
%
interfaceid
)
self
.
log
.
debug
(
"hostid:
%
s"
%
hostid
)
self
.
log
.
debug
(
"ip:
%
s"
%
ip
)
self
.
log
.
debug
(
"port:
%
s"
%
port
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"interfaceid"
,
value
=
interfaceid
)
...
...
WorkData/Zabbix/items.py
0 → 100644
View file @
08452c1b
# -*- coding: utf_8 -*-
# 表名: items
# 作者: 陈磊
# 时间: 2019-11-21
from
sqlalchemy.ext.declarative
import
declarative_base
from
sqlalchemy
import
Column
,
Integer
,
VARCHAR
,
SMALLINT
,
DATETIME
,
DECIMAL
,
BigInteger
,
FLOAT
,
NUMERIC
,
TEXT
from
sqlalchemy.orm.exc
import
MultipleResultsFound
,
NoResultFound
from
sqlalchemy
import
or_
from
WorkUtils.UtilsLog
import
UtilsLog
from
WorkUtils.UtilsDataBase
import
UtilsDataBase
import
time
Base
=
declarative_base
()
class
Items
(
Base
):
"""
监控信息表
"""
__tablename__
=
"items"
itemid
=
Column
(
BigInteger
,
primary_key
=
True
)
type
=
Column
(
Integer
)
snmp_community
=
Column
(
VARCHAR
(
64
))
snmp_oid
=
Column
(
VARCHAR
(
512
))
hostid
=
Column
(
BigInteger
)
name
=
Column
(
VARCHAR
(
255
))
key_
=
Column
(
VARCHAR
(
255
))
delay
=
Column
(
VARCHAR
(
1024
))
history
=
Column
(
VARCHAR
(
255
))
trends
=
Column
(
VARCHAR
(
255
))
status
=
Column
(
Integer
)
value_type
=
Column
(
Integer
)
trapper_hosts
=
Column
(
VARCHAR
(
255
))
units
=
Column
(
VARCHAR
(
255
))
snmpv3_securityname
=
Column
(
VARCHAR
(
64
))
snmpv3_securitylevel
=
Column
(
Integer
)
snmpv3_authpassphrase
=
Column
(
Integer
)
snmpv3_privpassphrase
=
Column
(
VARCHAR
(
64
))
formula
=
Column
(
VARCHAR
(
255
))
error
=
Column
(
VARCHAR
(
2048
))
lastlogsize
=
Column
(
BigInteger
)
logtimefmt
=
Column
(
VARCHAR
(
64
))
templateid
=
Column
(
BigInteger
)
valuemapid
=
Column
(
BigInteger
)
params
=
Column
(
TEXT
)
ipmi_sensor
=
Column
(
VARCHAR
(
128
))
authtype
=
Column
(
Integer
)
username
=
Column
(
VARCHAR
(
64
))
password
=
Column
(
VARCHAR
(
64
))
publickey
=
Column
(
VARCHAR
(
64
))
privatekey
=
Column
(
VARCHAR
(
64
))
mtime
=
Column
(
Integer
)
flags
=
Column
(
Integer
)
interfaceid
=
Column
(
BigInteger
)
port
=
Column
(
VARCHAR
(
64
))
description
=
Column
(
TEXT
)
inventory_link
=
Column
(
Integer
)
lifetime
=
Column
(
VARCHAR
(
255
))
snmpv3_authprotocol
=
Column
(
Integer
)
snmpv3_privprotocol
=
Column
(
Integer
)
state
=
Column
(
Integer
)
snmpv3_contextname
=
Column
(
VARCHAR
(
255
))
evaltype
=
Column
(
Integer
)
jmx_endpoint
=
Column
(
VARCHAR
(
255
))
master_itemid
=
Column
(
BigInteger
)
timeout
=
Column
(
VARCHAR
(
255
))
url
=
Column
(
VARCHAR
(
2048
))
query_fields
=
Column
(
VARCHAR
(
2048
))
posts
=
Column
(
TEXT
)
status_codes
=
Column
(
VARCHAR
(
255
))
follow_redirects
=
Column
(
Integer
)
post_type
=
Column
(
Integer
)
http_proxy
=
Column
(
VARCHAR
(
255
))
headers
=
Column
(
TEXT
)
retrieve_mode
=
Column
(
Integer
)
request_method
=
Column
(
Integer
)
output_format
=
Column
(
Integer
)
ssl_cert_file
=
Column
(
VARCHAR
(
255
))
ssl_key_file
=
Column
(
VARCHAR
(
255
))
ssl_key_password
=
Column
(
VARCHAR
(
64
))
verify_peer
=
Column
(
Integer
)
verify_host
=
Column
(
Integer
)
allow_traps
=
Column
(
Integer
)
class
DataItems
(
object
):
def
__init__
(
self
):
self
.
log
=
UtilsLog
()
self
.
log
.
info
(
self
.
__class__
)
self
.
table
=
Items
def
select_all_from_allKeys
(
self
,
session
,
hostid
=
None
,
templateid
=
None
):
"""
:param session: 指针
:param hostid:
:param templateid:
:return: 查询结果
"""
self
.
log
.
debug
(
"查询数据库:"
)
self
.
log
.
debug
(
"hostid:
%
s"
%
hostid
)
self
.
log
.
debug
(
"templateid:
%
s"
%
templateid
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"hostid"
,
value
=
hostid
)
base
.
add_param
(
_key
=
"templateid"
,
value
=
templateid
)
sql_rep
=
session
.
query
(
self
.
table
)
.
filter_by
(
**
base
.
param
)
.
all
()
self
.
log
.
debug
(
sql_rep
)
session
.
close
()
return
sql_rep
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
def
delete_hostid
(
self
,
session
,
hostid
):
"""
:param session: 指针
:param hostid:
:return:
"""
self
.
log
.
debug
(
"查询数据库:"
)
try
:
self
.
log
.
debug
(
"删除相关测试数据"
)
session
.
query
(
self
.
table
)
.
filter_by
(
hostid
=
hostid
)
.
delete
(
synchronize_session
=
False
)
# session.delete(sql)
session
.
commit
()
session
.
close
()
self
.
log
.
debug
(
"删除成功"
)
return
True
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
WorkData/Zabbix/triggers.py
View file @
08452c1b
...
...
@@ -51,18 +51,23 @@ class DataTriggers(object):
self
.
table
=
Triggers
def
select_all_from_allKeys
(
self
,
session
,
triggerid
=
None
,
description
=
None
):
def
select_all_from_allKeys
(
self
,
session
,
triggerid
=
None
,
description
=
None
,
templateid
=
None
):
"""
:param session: 指针
:param triggerid:
:param templateid:
:param description:
:return: 查询结果
"""
self
.
log
.
debug
(
"查询数据库:"
)
self
.
log
.
debug
(
"triggerid:
%
s"
%
triggerid
)
self
.
log
.
debug
(
"description:
%
s"
%
description
)
self
.
log
.
debug
(
"templateid:
%
s"
%
templateid
)
try
:
base
=
UtilsDataBase
()
base
.
add_param
(
_key
=
"triggerid"
,
value
=
triggerid
)
base
.
add_param
(
_key
=
"description"
,
value
=
description
)
base
.
add_param
(
_key
=
"templateid"
,
value
=
templateid
)
sql_rep
=
session
.
query
(
self
.
table
)
.
filter_by
(
**
base
.
param
)
.
all
()
self
.
log
.
debug
(
sql_rep
)
session
.
close
()
...
...
@@ -93,3 +98,24 @@ class DataTriggers(object):
self
.
log
.
error
(
error
)
session
.
close
()
return
error
def
delete_description
(
self
,
session
,
description
):
"""
:param session: 指针
:param description:
:return:
"""
self
.
log
.
debug
(
"查询数据库:"
)
try
:
self
.
log
.
debug
(
"删除相关测试数据"
)
session
.
query
(
self
.
table
)
.
filter_by
(
description
=
description
)
.
delete
(
synchronize_session
=
False
)
# session.delete(sql)
session
.
commit
()
session
.
close
()
self
.
log
.
debug
(
"删除成功"
)
return
True
except
UtilsDataBase
()
.
errors
as
error
:
self
.
log
.
error
(
"异常:"
)
self
.
log
.
error
(
error
)
session
.
close
()
return
error
\ No newline at end of file
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