fix(策略对象导入)1:url对象导入已存在url
item数量加上待导入的数量小于100万方可导入;2其他类型对象导入总数小于10万方可导入;3:fqdn_category排除预置策略后小于10万方可导入
This commit is contained in:
@@ -70,6 +70,20 @@ GetObjectItems
|
|||||||
Append To List ${itemIds} ${item['itemId']}
|
Append To List ${itemIds} ${item['itemId']}
|
||||||
END
|
END
|
||||||
[Return] ${rescode} ${itemIds} ${data['list']}
|
[Return] ${rescode} ${itemIds} ${data['list']}
|
||||||
|
GetObjectItems1
|
||||||
|
[Documentation]
|
||||||
|
... 获取策略对象中的item,策略对象单元
|
||||||
|
... 当updateItemList中有需要传入数据时
|
||||||
|
... 调用此关键字
|
||||||
|
[Arguments] ${params}
|
||||||
|
#必选参数判定
|
||||||
|
Should Not Be Empty ${params}
|
||||||
|
${paramsStr} Dictionary-To-QueryParams ${params}
|
||||||
|
${response} BaseFormRequest /policy/items ${paramsStr} ${version}
|
||||||
|
${rescode} Set Variable ${response['code']}
|
||||||
|
Should Be Equal As Strings ${rescode} 200
|
||||||
|
${data} Set Variable ${response['data']}
|
||||||
|
[Return] ${rescode} ${data}
|
||||||
DeleteObjects
|
DeleteObjects
|
||||||
[Documentation]
|
[Documentation]
|
||||||
... 删除策略对象
|
... 删除策略对象
|
||||||
@@ -98,6 +112,14 @@ ImportObject
|
|||||||
File Should Not Be Empty ${path}/${filePath}/${fileName}
|
File Should Not Be Empty ${path}/${filePath}/${fileName}
|
||||||
${size} Get File Size ${path}/${filePath}/${fileName}
|
${size} Get File Size ${path}/${filePath}/${fileName}
|
||||||
Should Not Be Empty ${objectType}
|
Should Not Be Empty ${objectType}
|
||||||
|
#获取Item 的总数
|
||||||
|
${total} GetItemNum ${objectType} ${objectSubType}
|
||||||
|
#获取导入文件中的总行数
|
||||||
|
${lines} CountLines ${path}/${filePath}/${fileName}
|
||||||
|
#总数超过一定数据量测试不通过
|
||||||
|
${total1} Evaluate ${total}+${lines}
|
||||||
|
Run Keyword If "${objectType}"=="url" and ${total1}>1000000 Fail 当前已经存在item个数${total},待导入个数${lines},总数超过100万条!
|
||||||
|
... ELSE IF ${total1}>100000 Fail 当前已经存在item个数${total},待导入个数${lines},总数超过10万条!
|
||||||
${objectSubType} Run Keyword If "${objectType}"=="ip" and "${objectSubType}"=="${EMPTY}" Set Variable endpoint
|
${objectSubType} Run Keyword If "${objectType}"=="ip" and "${objectSubType}"=="${EMPTY}" Set Variable endpoint
|
||||||
... ELSE Set Variable ${objectSubType}
|
... ELSE Set Variable ${objectSubType}
|
||||||
${subfix} Fetch From Right ${fileName} .
|
${subfix} Fetch From Right ${fileName} .
|
||||||
@@ -126,4 +148,37 @@ ExportObject
|
|||||||
Run Keyword If "${objectIds}"!="${EMPTY}" Set To Dictionary ${params} objectIds=${objectIds}
|
Run Keyword If "${objectIds}"!="${EMPTY}" Set To Dictionary ${params} objectIds=${objectIds}
|
||||||
Run Keyword If "${objectName}"!="${EMPTY}" Set To Dictionary ${params} objectName=${objectName}
|
Run Keyword If "${objectName}"!="${EMPTY}" Set To Dictionary ${params} objectName=${objectName}
|
||||||
${response} BaseGetRequestReturnBinary ${objectUrl}/batch ${params} ${version}
|
${response} BaseGetRequestReturnBinary ${objectUrl}/batch ${params} ${version}
|
||||||
[Return] ${response}
|
[Return] ${response}
|
||||||
|
GetItemNum
|
||||||
|
[Documentation]
|
||||||
|
... 获取策略对象单元总数
|
||||||
|
...
|
||||||
|
[Arguments] ${objectType} ${objectSubType}
|
||||||
|
${getTotal} Create Dictionary pageNo=${1} pageSize=${1}
|
||||||
|
Run Keyword If "${objectType}"=="ip" and "${objectSubType}"=="endpoint" Set To Dictionary ${getTotal} itemType=IP
|
||||||
|
... ELSE IF "${objectType}"=="ip" and "${objectSubType}"=="geo_location" Set To Dictionary ${getTotal} itemType=geo_location
|
||||||
|
... ELSE IF "${objectType}"=="ip" and "${objectSubType}"=="as_number" Set To Dictionary ${getTotal} itemType=as_number
|
||||||
|
... ELSE IF "${objectType}"=="url" Set To Dictionary ${getTotal} itemType=URL
|
||||||
|
... ELSE Set To Dictionary ${getTotal} itemType=${objectType}
|
||||||
|
${rescode} ${data} GetObjectItems1 ${getTotal}
|
||||||
|
${total} Set Variable ${data['total']}
|
||||||
|
Run Keyword If "${objectType}"=="fqdn_category" Set To Dictionary ${getTotal} isInitialize=1
|
||||||
|
${rescode} ${data} Run Keyword If "${objectType}"=="fqdn_category" GetObjectItems1 ${getTotal}
|
||||||
|
... ELSE Set Variable ${rescode} ${data}
|
||||||
|
${total} Run Keyword If "${objectType}"=="fqdn_category" Evaluate ${total} - ${data['total']}
|
||||||
|
... ELSE Set Variable ${total}
|
||||||
|
[Return] ${total}
|
||||||
|
CountLines
|
||||||
|
[Documentation]
|
||||||
|
... 获取文件总行数
|
||||||
|
[Arguments] ${file}
|
||||||
|
${count} Set Variable ${0}
|
||||||
|
${openFile} Evaluate enumerate(open(r"${file}",'r'))
|
||||||
|
FOR ${line} IN @{openFile}
|
||||||
|
${val} Run Keyword If "${line[0]}"=="0" Set Variable ${line[1]} ELSE Set Variable ${EMPTY}
|
||||||
|
${match} Get Regexp Matches ${val} ^-->
|
||||||
|
${len} Get Length ${match}
|
||||||
|
${count} Run Keyword If "${line[0]}"=="0" and ${len}>0 Set Variable ${count}
|
||||||
|
... ELSE Evaluate ${count}+1
|
||||||
|
END
|
||||||
|
[Return] ${count}
|
||||||
Reference in New Issue
Block a user