提交优化日志接口关键字和日志接口用例示例
This commit is contained in:
@@ -15,11 +15,11 @@ ${url} /${version}/report/url/recommend
|
|||||||
*** Test Cases ***
|
*** Test Cases ***
|
||||||
LogApiVerifyCase-001
|
LogApiVerifyCase-001
|
||||||
[Documentation] 验证api接口
|
[Documentation] 验证api接口
|
||||||
${logurl} Set Variable http://${host}:${port}/v1/log/list
|
${Logurl} Set Variable http://${host}:${port}/v1/log/list
|
||||||
|
|
||||||
${logtype} Set Variable security_event_log
|
${logType} Set Variable security_event_log
|
||||||
|
|
||||||
${schemaurl} Set Variable http://${host}:${port}/v1/log/schema?logType=${logtype}
|
${Schemaurl} Set Variable http://${host}:${port}/v1/log/schema?logType=${logType}
|
||||||
|
|
||||||
${EndTime} get current date
|
${EndTime} get current date
|
||||||
|
|
||||||
@@ -29,16 +29,16 @@ LogApiVerifyCase-001
|
|||||||
|
|
||||||
${StartTime1} Get Substring ${StartTime} \ -4
|
${StartTime1} Get Substring ${StartTime} \ -4
|
||||||
|
|
||||||
logapiverify ${logurl} ${schemaurl} ${token} ${StartTime1} ${EndTime1} ${logtype}
|
logapiverify ${Logurl} ${Schemaurl} ${token} ${StartTime1} ${EndTime1} ${logType}
|
||||||
|
|
||||||
|
|
||||||
LogApiVerifyCase-002
|
LogApiVerifyCase-002
|
||||||
[Documentation] 验证api接口
|
[Documentation] 验证api接口
|
||||||
${Logurl} Set Variable http://${host}:${port}/v1/log/list
|
${Logurl} Set Variable http://${host}:${port}/v1/log/list
|
||||||
|
|
||||||
${Logtype} Set Variable security_event_log
|
${logType} Set Variable security_event_log
|
||||||
|
|
||||||
${Schemaurl} Set Variable http://${host}:${port}/v1/log/schema?logType=${logtype}
|
${Schemaurl} Set Variable http://${host}:${port}/v1/log/schema?logType=${logType}
|
||||||
|
|
||||||
${EndTime} get current date
|
${EndTime} get current date
|
||||||
|
|
||||||
@@ -50,7 +50,97 @@ LogApiVerifyCase-002
|
|||||||
|
|
||||||
${filter} Set Variable common_recv_time = 45535
|
${filter} Set Variable common_recv_time = 45535
|
||||||
|
|
||||||
${responsebody} loglistverify ${logurl} ${schemaurl} ${token} ${StartTime1} ${EndTime1} ${logtype} ${filter}
|
${responsebody} loglistverify ${Logurl} ${Schemaurl} ${token} ${StartTime1} ${EndTime1} ${logType} ${filter}
|
||||||
|
|
||||||
|
log ${responsebody}
|
||||||
|
|
||||||
|
LogApiVerifyCase-003
|
||||||
|
[Documentation] 验证api接口:事件日志和通联日志时间分布查询
|
||||||
|
|
||||||
|
${StartTime} Set Variable 2021-03-26 12:27:03
|
||||||
|
|
||||||
|
${EndTime} Set Variable 2021-03-29 12:27:03
|
||||||
|
|
||||||
|
${granularity} Set Variable PT5M
|
||||||
|
|
||||||
|
${logType} Set Variable security_event_hits_log
|
||||||
|
|
||||||
|
${urlpath} Set Variable ?logType=${logType}&startTime=${StartTime}&endTime=${EndTime}&granularity=${granularity}
|
||||||
|
|
||||||
|
${Logurl} Set Variable http://${host}:${port}/v1/interface/gateway/sql/galaxy/${logType}/timedistribution${urlpath}
|
||||||
|
|
||||||
|
${responsebody} distributed_query ${Logurl} ${token}
|
||||||
|
|
||||||
|
log ${responsebody}
|
||||||
|
|
||||||
|
LogApiVerifyCase-004
|
||||||
|
[Documentation] 验证api接口:事件日志和通联日志时间分布查询
|
||||||
|
|
||||||
|
${StartTime} Set Variable 2021-03-26 12:27:03
|
||||||
|
|
||||||
|
${EndTime} Set Variable 2021-03-29 12:27:03
|
||||||
|
|
||||||
|
${granularity} Set Variable PT5M
|
||||||
|
|
||||||
|
${logType} Set Variable proxy_event_hits_log
|
||||||
|
|
||||||
|
${urlpath} Set Variable ?logType=${logType}&startTime=${StartTime}&endTime=${EndTime}&granularity=${granularity}
|
||||||
|
|
||||||
|
${Logurl} Set Variable http://${host}:${port}/v1/interface/gateway/sql/galaxy/${logType}/timedistribution${urlpath}
|
||||||
|
|
||||||
|
${responsebody} distributed_query ${Logurl} ${token}
|
||||||
|
|
||||||
|
log ${responsebody}
|
||||||
|
|
||||||
|
LogApiVerifyCase-005
|
||||||
|
[Documentation] 验证api接口:事件日志和通联日志时间分布查询
|
||||||
|
|
||||||
|
${StartTime} Set Variable 2021-03-26 12:27:03
|
||||||
|
|
||||||
|
${EndTime} Set Variable 2021-03-29 12:27:03
|
||||||
|
|
||||||
|
${granularity} Set Variable PT5M
|
||||||
|
|
||||||
|
${logType} Set Variable traffic_summary_log
|
||||||
|
|
||||||
|
${urlpath} Set Variable ?logType=${logType}&startTime=${StartTime}&endTime=${EndTime}&granularity=${granularity}
|
||||||
|
|
||||||
|
${Logurl} Set Variable http://${host}:${port}/v1/interface/gateway/sql/galaxy/${logType}/timedistribution${urlpath}
|
||||||
|
|
||||||
|
${responsebody} distributed_query ${Logurl} ${token}
|
||||||
|
|
||||||
|
log ${responsebody}
|
||||||
|
|
||||||
|
LogApiVerifyCase-006
|
||||||
|
[Documentation] 验证api接口:日志检索条件校验(filter内容验证)
|
||||||
|
|
||||||
|
${logType} Set Variable security_event_log
|
||||||
|
|
||||||
|
${filter} Set Variable common_recv_time = 45535
|
||||||
|
|
||||||
|
${urlpath} Set Variable ?logType=${logType}&filter=${filter}
|
||||||
|
|
||||||
|
${Logurl} Set Variable http://${host}:${port}/v1/interface/gateway/sql/galaxy/log/filter/validation${urlpath}
|
||||||
|
|
||||||
|
${responsebody} distributed_query ${Logurl} ${token}
|
||||||
|
|
||||||
|
log ${responsebody}
|
||||||
|
|
||||||
|
LogApiVerifyCase-007
|
||||||
|
[Documentation] 验证api接口:原始日志根据条件过滤计算时间分布查询
|
||||||
|
${Logurl} Set Variable http://${host}:${port}/v1/log/timedistribution
|
||||||
|
|
||||||
|
${logType} Set Variable security_event_log
|
||||||
|
|
||||||
|
${StartTime} Set Variable 2021-03-26 12:27:03
|
||||||
|
|
||||||
|
${EndTime} Set Variable 2021-03-29 12:27:03
|
||||||
|
|
||||||
|
${granularity} Set Variable PT5M
|
||||||
|
|
||||||
|
${filter} Set Variable common_recv_time = 45535
|
||||||
|
|
||||||
|
${responsebody} timedistribution ${logurl} ${token} ${StartTime} ${EndTime} ${logType} ${granularity} ${filter}
|
||||||
|
|
||||||
log ${responsebody}
|
log ${responsebody}
|
||||||
|
|
||||||
@@ -3,9 +3,12 @@
|
|||||||
import requests
|
import requests
|
||||||
import random
|
import random
|
||||||
import json
|
import json
|
||||||
|
|
||||||
# import allure
|
# import allure
|
||||||
|
|
||||||
list = []
|
list = []
|
||||||
|
|
||||||
|
|
||||||
# 请求schema接口得到返回数据,用于其他接口
|
# 请求schema接口得到返回数据,用于其他接口
|
||||||
def schema(schemauerl, token):
|
def schema(schemauerl, token):
|
||||||
url = schemauerl # "http://192.168.44.72:8080/v1/log/schema?logType=security_event_log"
|
url = schemauerl # "http://192.168.44.72:8080/v1/log/schema?logType=security_event_log"
|
||||||
@@ -13,6 +16,7 @@ def schema(schemauerl,token):
|
|||||||
response = requests.get(url=url, headers=headers)
|
response = requests.get(url=url, headers=headers)
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
|
|
||||||
# 根据schema接口返回数据,得出所有属性所支持的比较类型的列表
|
# 根据schema接口返回数据,得出所有属性所支持的比较类型的列表
|
||||||
# 1、根据[doc][allow_query]值为true列支持搜索;
|
# 1、根据[doc][allow_query]值为true列支持搜索;
|
||||||
# 2、如有[doc][constraints][operator_functions]值,操作优先;
|
# 2、如有[doc][constraints][operator_functions]值,操作优先;
|
||||||
@@ -23,21 +27,27 @@ def schema(schemauerl,token):
|
|||||||
# 7、IP(V4、V6)和URL要给出专门的方法生成
|
# 7、IP(V4、V6)和URL要给出专门的方法生成
|
||||||
|
|
||||||
import ipaddress
|
import ipaddress
|
||||||
|
|
||||||
# 生成随机ipv4或ipv6
|
# 生成随机ipv4或ipv6
|
||||||
MAX_IPV4 = ipaddress.IPv4Address._ALL_ONES # 2 ** 32 - 1
|
MAX_IPV4 = ipaddress.IPv4Address._ALL_ONES # 2 ** 32 - 1
|
||||||
MAX_IPV6 = ipaddress.IPv6Address._ALL_ONES # 2 ** 128 - 1
|
MAX_IPV6 = ipaddress.IPv6Address._ALL_ONES # 2 ** 128 - 1
|
||||||
|
|
||||||
|
|
||||||
def random_ipv4():
|
def random_ipv4():
|
||||||
return ipaddress.IPv4Address._string_from_ip_int(
|
return ipaddress.IPv4Address._string_from_ip_int(
|
||||||
random.randint(0, MAX_IPV4)
|
random.randint(0, MAX_IPV4)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def random_ipv6():
|
def random_ipv6():
|
||||||
return ipaddress.IPv6Address._string_from_ip_int(
|
return ipaddress.IPv6Address._string_from_ip_int(
|
||||||
random.randint(0, MAX_IPV6)
|
random.randint(0, MAX_IPV6)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
from random import Random
|
from random import Random
|
||||||
|
|
||||||
|
|
||||||
# 生成 12 位随机 URL 地址
|
# 生成 12 位随机 URL 地址
|
||||||
def randrom_url():
|
def randrom_url():
|
||||||
str = ''
|
str = ''
|
||||||
@@ -55,6 +65,7 @@ def randrom_url():
|
|||||||
print(url)
|
print(url)
|
||||||
return url
|
return url
|
||||||
|
|
||||||
|
|
||||||
def Filter1(schemauerl, token):
|
def Filter1(schemauerl, token):
|
||||||
json_str = schema(schemauerl, token)
|
json_str = schema(schemauerl, token)
|
||||||
print(type(json_str))
|
print(type(json_str))
|
||||||
@@ -175,8 +186,12 @@ def Filter1(schemauerl,token):
|
|||||||
for o in operator2:
|
for o in operator2:
|
||||||
str1 = name + " " + o + " " + " '" + code + " '"
|
str1 = name + " " + o + " " + " '" + code + " '"
|
||||||
list.append(str1)
|
list.append(str1)
|
||||||
|
|
||||||
|
|
||||||
print(list)
|
print(list)
|
||||||
return list
|
return list
|
||||||
|
|
||||||
|
|
||||||
# 根据Filter1方法中的的数据,写入log请求接口中,来验证log请求接口
|
# 根据Filter1方法中的的数据,写入log请求接口中,来验证log请求接口
|
||||||
def logapiverify(logurl, schemauerl, token, starttime, endtime, logtype):
|
def logapiverify(logurl, schemauerl, token, starttime, endtime, logtype):
|
||||||
filter2 = Filter1(schemauerl, token)
|
filter2 = Filter1(schemauerl, token)
|
||||||
@@ -224,6 +239,7 @@ def logapiverify(logurl,schemauerl,token,starttime,endtime,logtype):
|
|||||||
assert code == 200
|
assert code == 200
|
||||||
print(response1.json()["code"])
|
print(response1.json()["code"])
|
||||||
|
|
||||||
|
|
||||||
# 精确filter,请求日志接口
|
# 精确filter,请求日志接口
|
||||||
def loglistverify(logurl, schemauerl, token, starttime, endtime, logtype, filtervalue):
|
def loglistverify(logurl, schemauerl, token, starttime, endtime, logtype, filtervalue):
|
||||||
a = schema(schemauerl, token)
|
a = schema(schemauerl, token)
|
||||||
@@ -248,21 +264,27 @@ def loglistverify(logurl,schemauerl,token,starttime,endtime,logtype,filtervalue)
|
|||||||
print(response1.json()["code"])
|
print(response1.json()["code"])
|
||||||
return response1.json()
|
return response1.json()
|
||||||
|
|
||||||
|
|
||||||
# 事件日志和通联日志时间分布查询 ,日志检索条件校验(filter内容验证)
|
# 事件日志和通联日志时间分布查询 ,日志检索条件校验(filter内容验证)
|
||||||
def distributed_query(logurl, token):
|
def distributed_query(logurl, token):
|
||||||
url = logurl # url示例:http://192.168.44.72:8080/v1/interface/gateway/sql/galaxy/security_event_hits_log/timedistribution?logType=security_event_hits_log&startTime=2021-03-26 12:27:03&endTime=2021-03-29 12:27:03&granularity=PT5M
|
url = logurl # url示例:http://192.168.44.72:8080/v1/interface/gateway/sql/galaxy/security_event_hits_log/timedistribution?logType=security_event_hits_log&startTime=2021-03-26 12:27:03&endTime=2021-03-29 12:27:03&granularity=PT5M
|
||||||
headers = {"Content-Type": "application/json", "Authorization": token}
|
headers = {"Content-Type": "application/json", "Authorization": token}
|
||||||
response = requests.get(url=url, headers=headers)
|
response = requests.get(url=url, headers=headers)
|
||||||
|
code = response1.json()["code"]
|
||||||
|
print(response.json())
|
||||||
|
assert code == 200
|
||||||
|
print(response.json()["code"])
|
||||||
return response.json()
|
return response.json()
|
||||||
|
|
||||||
|
|
||||||
# 原始日志检索时间分布计算
|
# 原始日志检索时间分布计算
|
||||||
def timedistribution(logurl, token, starttime, endtime, logtype, granularity, filtervalue):
|
def timedistribution(logurl, token, starttime, endtime, logtype, granularity, filtervalue):
|
||||||
url = logurl # "http://192.168.44.72:8080/v1/log/timedistribution"
|
url = logurl # "http://192.168.44.72:8080/v1/log/timedistribution"
|
||||||
headers = {"Content-Type": "application/json",
|
headers = {"Content-Type": "application/json",
|
||||||
"Authorization": token}
|
"Authorization": token}
|
||||||
data = {
|
data = {
|
||||||
"start_common_recv_time": starttime,
|
"startTime": starttime,
|
||||||
"end_common_recv_time": endtime,
|
"endTime": endtime,
|
||||||
"logType": logtype,
|
"logType": logtype,
|
||||||
"granularity": granularity,
|
"granularity": granularity,
|
||||||
"filter": filtervalue
|
"filter": filtervalue
|
||||||
@@ -270,5 +292,10 @@ def timedistribution(logurl,token,starttime,endtime,logtype,granularity,filterva
|
|||||||
print(data)
|
print(data)
|
||||||
print(json.dumps(data))
|
print(json.dumps(data))
|
||||||
response1 = requests.post(url=url, data=json.dumps(data), headers=headers)
|
response1 = requests.post(url=url, data=json.dumps(data), headers=headers)
|
||||||
|
code = response1.json()["code"]
|
||||||
|
print(response1.json())
|
||||||
|
print(response1.json()["code"])
|
||||||
|
assert code == 200
|
||||||
|
return response1.json()
|
||||||
# if __name__ == '__main__':
|
# if __name__ == '__main__':
|
||||||
# logapiverify("http://192.168.32.59:8080/v1/log/list","http://192.168.32.59:8080/v1/log/schema?logType=security_event_log","d475b20d-e2b8-4f24-87ee-d54af46e6aff&807&",'2021-03-20 16:36:41','2021-03-21 17:36:41',"security_event_log")
|
# logapiverify("http://192.168.32.59:8080/v1/log/list","http://192.168.32.59:8080/v1/log/schema?logType=security_event_log","d475b20d-e2b8-4f24-87ee-d54af46e6aff&807&",'2021-03-20 16:36:41','2021-03-21 17:36:41',"security_event_log")
|
||||||
Reference in New Issue
Block a user