This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dongxiaoyan-tsg-autotest/02-Keyword/tsg_bfapi/policy_object/ProcessObjectBody.robot
2021-05-17 09:57:31 +08:00

553 lines
35 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*** Settings ***
Library json
Library Collections
Resource ../../../03-Variable/BifangApiVariable.txt
Resource ../../../03-Variable/PolicyObjectDefault.txt
Resource ../../tsg_common/ManageObjectBody.robot
*** Variables ***
*** Keywords ***
ObjectListOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... objectList: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 多个对象处理
[Arguments] ${returnData} ${objectList} ${opAction}
Log Call ObjectListOperation
${objectListJson} Set Variable [
FOR ${object} IN @{objectList}
${json} ObjectOrganize ${object} ${opAction}
${objectListJson} Set Variable ${objectListJson}${json},
END
${objectListJson}= Replace String Using Regexp ${objectListJson} ,$ ]
# 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} objectList=replace:objectList
${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:objectList" ${objectListJson}
Log Object_Request_Body-${json}
[Return] ${json}
CategoryListOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... objectList: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 多个对象处理
[Arguments] ${returnData} ${objectList} ${opAction}
Log Call ObjectListOperation
${objectListJson} Set Variable [
FOR ${object} IN @{objectList}
${json} CategoryOrganize ${object} ${opAction}
${objectListJson} Set Variable ${objectListJson}${json},
END
${objectListJson}= Replace String Using Regexp ${objectListJson} ,$ ]
# 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} categoryList=replace:objectList
${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:objectList" ${json}
Log Category_Request_Body-${json}
# 转为json结构并返回
# ${dict} Create Dictionary opAction=${opAction} returnData=${returnData} objectList=replace:objectList
# ${bodyJson} json.Dumps ${dict} ensure_ascii=False
# ${json} Replace String ${bodyJson} "replace:objectList" ${objectListJson}
# Log Object_Request_Body-${json}
[Return] ${json}
ObjectOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... object: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略处理
[Arguments] ${returnData} ${object} ${opAction}
Log Call ObjectOperation
${json} ObjectOrganize ${object} ${opAction}
# 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} objectList=replace:objectList
${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:objectList" ${json}
Log Object_Request_Body-${json}
[Return] ${json}
InstallOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... object: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略处理
[Arguments] ${object}
Log Call ObjectOperation
${json} ObjectOrganize ${object}
# 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} objectList=replace:objectList
${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:objectList" ${json}
Log Object_Request_Body-${json}
[Return] ${json}
FeatureOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... object: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略处理
[Arguments] ${returnData} ${object} ${opAction}
Log Call ObjectOperation
${json} ObjectOrganize ${object} ${opAction}
# 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} objectList=replace:objectList
${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:objectList" ${json}
Log Object_Request_Body-${json}
[Return] ${json}
CategoryOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... object: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略处理
[Arguments] ${returnData} ${category} ${opAction}
Log Call ObjectOperation
${json} CategoryOrganize ${category} ${opAction}
# 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} list=replace:objectList
${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:objectList" ${json}
Log Category_Request_Body-${json}
[Return] ${json}
listorone
[Arguments] ${object}
${addItemList} Evaluate str('addItemList'in${object}.keys())
log ${addItemList}
${subObjectIds} Evaluate str('subObjectIds'in${object}.keys())
log ${subObjectIds}
${objectparm} set variable ${addItemList} ${subObjectIds}
should contain x times ${objectparm} True 1
# Should Not Be Empty ${object}[addItemList] or Should Not Be Empty ${object}[subObjectIds]
ObjectOrganize
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... object: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略转换为json
[Arguments] ${object} ${opAction}
Log Call ObjectOrganize
${emptyList} Create List
${returnDict} Create Dictionary
# 断言必传参数
# Should Not Be Empty ${object}[objectType]
# Set To Dictionary ${returnDict} objectType=${object}[objectType]
#新增时addItemList不能为空
Run Keyword If "${opAction}"=="add" listorone ${object}
Run Keyword If "${opAction}"=="update" Should Not Be Empty ${object}[objectId]
Run Keyword If "${opAction}"=="enable" Should Not Be Empty ${object}[objectId]
Run Keyword If "${opAction}"=="disable" Should Not Be Empty ${object}[objectId]
${return} ${objectId} Run Keyword And Ignore Error Get From Dictionary ${object} objectId
Run Keyword If "${return}"=="FAIL" or "${objectId}"=="${EMPTY}" Set To Dictionary ${returnDict} objectId=${EMPTY}
... ELSE Set To Dictionary ${returnDict} objectId=${objectId}
${return} ${objectType} Run Keyword And Ignore Error Get From Dictionary ${object} objectType
${objectTypeV} Run Keyword If "${return}"!="FAIL" and "${objectType}"!="${EMPTY}" Evaluate '${objectType}'.lower()
... ELSE Evaluate '${Default_ObjectType}'.lower()
Set To Dictionary ${returnDict} objectType=${objectTypeV}
#enable disable直接返回json
Run Keyword And Return If "${opAction}"=="enable" or "${opAction}"=="disable" ManageEnableAndDisable ${object} ${returnDict} ${opAction}
# 取可选参数,为传入设置默认值
Set To Dictionary ${returnDict} objectType=${objectTypeV}
${return} ${objectSubType} Run Keyword And Ignore Error Get From Dictionary ${object} objectSubType
Run Keyword If "${return}"!="FAIL" and "${objectSubType}"!="${EMPTY}" Set To Dictionary ${returnDict} objectSubType=${objectSubType}
... ELSE Set To Dictionary ${returnDict} objectSubType=${Default_ObjectSubType}
${return} ${isValid} Run Keyword And Ignore Error Get From Dictionary ${object} isValid
Run Keyword If "${return}"=="FAIL" or "${isValid}"=="${EMPTY}" Set To Dictionary ${returnDict} isValid=${Default_IsValid}
... ELSE Set To Dictionary ${returnDict} isValid=${isValid}
${return} ${isInitialize} Run Keyword And Ignore Error Get From Dictionary ${object} isInitialize
Run Keyword If "${return}"=="FAIL" or "${isInitialize}"=="${EMPTY}" Set To Dictionary ${returnDict} isInitialize=${Default_IsInitialize}
... ELSE Set To Dictionary ${returnDict} isInitialize=${isInitialize}
${return} ${isExclusion} Run Keyword And Ignore Error Get From Dictionary ${object} isExclusion
Run Keyword If "${return}"=="FAIL" or "${isExclusion}"=="${EMPTY}" Set To Dictionary ${returnDict} isExclusion=${Default_IsExclusion}
... ELSE Set To Dictionary ${returnDict} isExclusion=${isExclusion}
${return} ${objectName} Run Keyword And Ignore Error Get From Dictionary ${object} objectName
Run Keyword If "${return}"=="FAIL" or "${objectName}"=="${EMPTY}" Set To Dictionary ${returnDict} objectName=${Default_ObjectName}
... ELSE Set To Dictionary ${returnDict} objectName=${objectName}
${return} ${objectDesc} Run Keyword And Ignore Error Get From Dictionary ${object} objectDesc
Run Keyword If "${return}"!="FAIL" and "${objectDesc}"!="${EMPTY}" Set To Dictionary ${returnDict} objectDesc=${objectDesc}
... ELSE Set To Dictionary ${returnDict} objectDesc=${Default_ObjectDesc}
${return} ${subObjectIds} Run Keyword And Ignore Error Get From Dictionary ${object} subObjectIds
Run Keyword If "${return}"!="FAIL" and "${subObjectIds}"!="${EMPTY}" and "${subObjectIds}"!="${None}" Set To Dictionary ${returnDict} subObjectIds=${subObjectIds}
... ELSE Set Variable ${emptyList}
${return} ${iconColor} Run Keyword And Ignore Error Set Variable ${object['iconColor']}
Run Keyword If "${return}"!="FAIL" Set To Dictionary ${returnDict} iconColor=${iconColor}
#补充ip learning对象
${return} ${fromFqdns} Run Keyword And Ignore Error Get From Dictionary ${object} fromFqdns
Run Keyword If "${return}"!="FAIL" Set To Dictionary ${returnDict} fromFqdns=${fromFqdns}
#... ELSE Set To Dictionary ${returnDict} fromFqdns=${emptyList}
log ${fromFqdns}
${return} ${fromProtocol} Run Keyword And Ignore Error Get From Dictionary ${object} fromProtocol
Run Keyword If "${return}"!="FAIL" and "${fromProtocol}"!="${EMPTY}" Set To Dictionary ${returnDict} fromProtocol=${fromProtocol}
#... ELSE Set To Dictionary ${returnDict} fromProtocol=${Default_fromProtocol}
${return} ${learningDepth} Run Keyword And Ignore Error Get From Dictionary ${object} learningDepth
Run Keyword If "${return}"!="FAIL" and "${learningDepth}"!="${EMPTY}" Set To Dictionary ${returnDict} learningDepth=${learningDepth}
#... ELSE Set To Dictionary ${returnDict} learningDepth=${Default_learningDepth}
${return} ${agingTime} Run Keyword And Ignore Error Get From Dictionary ${object} agingTime
Run Keyword If "${return}"!="FAIL" and "${fromProtocol}"!="${EMPTY}" Set To Dictionary ${returnDict} agingTime=${agingTime}
#... ELSE Set To Dictionary ${returnDict} agingTime=${Default_agingTime}
${return} ${voteClientNum} Run Keyword And Ignore Error Get From Dictionary ${object} voteClientNum
Run Keyword If "${return}"!="FAIL" and "${fromProtocol}"!="${EMPTY}" Set To Dictionary ${returnDict} voteClientNum=${voteClientNum}
#... ELSE Set To Dictionary ${returnDict} voteClientNum=${Default_voteClientNum}
${return} ${learnedIpLimit} Run Keyword And Ignore Error Get From Dictionary ${object} learnedIpLimit
Run Keyword If "${return}"!="FAIL" and "${fromProtocol}"!="${EMPTY}" Set To Dictionary ${returnDict} learnedIpLimit=${learnedIpLimit}
#... ELSE Set To Dictionary ${returnDict} learnedIpLimit=${Default_learnedIpLimit}
# 处理AddItemList
${return} ${addItemList} Run Keyword And Ignore Error Get From Dictionary ${object} addItemList
Run Keyword If "${return}"!="FAIL" and "${addItemList}"!="${EMPTY}" ManageAddItemListNew ${addItemList} ${returnDict} ${objectTypeV} ${objectSubType}
# 处理UpdateItemList
${return} ${updateItemList} Run Keyword And Ignore Error Get From Dictionary ${object} updateItemList
Run Keyword If "${opAction}"=="update" and "${return}"!="FAIL" and "${updateItemList}"!="${EMPTY}" ManageUpdateItemList ${updateItemList} ${returnDict} ${objectTypeV} ${objectSubType}
# 处理deleteItemIds
${return} ${deleteItemIds} Run Keyword And Ignore Error Get From Dictionary ${object} deleteItemIds
Run Keyword If "${opAction}"=="update" and "${return}"!="FAIL" and "${deleteItemIds}"!="${EMPTY}" ManageDeleteItemIds ${deleteItemIds} ${returnDict}
# 转为json结构并返回
${json} json.Dumps ${returnDict} ensure_ascii=False
Log Object-${json}
[Return] ${json}
Categorylistorone
[Arguments] ${category}
${addItemList} Evaluate str('fqdnList'in${category}.keys())
log ${addItemList}
${objectparm} set variable ${addItemList}
should contain x times ${objectparm} True 1
# Should Not Be Empty ${object}[addItemList] or Should Not Be Empty ${object}[subObjectIds]
CategoryOrganize
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... object: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略转换为json
[Arguments] ${category} ${opAction}
Log Call CategoryOrganize
${emptyList} Create List
${returnDict} Create Dictionary
# 断言必传参数
# Should Not Be Empty ${object}[objectType]
# Set To Dictionary ${returnDict} objectType=${object}[objectType]
#新增时addItemList不能为空
Run Keyword If "${opAction}"=="add" Categorylistorone ${category}
Run Keyword If "${opAction}"=="update" Should Not Be Empty ${category}[categoryId]
Run Keyword If "${opAction}"=="update" Should Not Be Empty ${category}[objectId]
${return} ${objectId} Run Keyword And Ignore Error Get From Dictionary ${category} objectId
Run Keyword If "${return}"=="FAIL" or "${objectId}"=="${EMPTY}" Set To Dictionary ${returnDict} objectId=${EMPTY}
... ELSE Set To Dictionary ${returnDict} objectId=${objectId}
${return} ${categoryId} Run Keyword And Ignore Error Get From Dictionary ${category} categoryId
Run Keyword If "${return}"=="FAIL" or "${categoryId}"=="${EMPTY}" Set To Dictionary ${returnDict} categoryId=${EMPTY}
... ELSE Set To Dictionary ${returnDict} categoryId=${categoryId}
${return} ${categoryType} Run Keyword And Ignore Error Get From Dictionary ${category} categoryType
${categoryTypeV} Run Keyword If "${return}"!="FAIL" and "${categoryType}"!="${EMPTY}" Evaluate '${categoryType}'.lower()
... ELSE Evaluate '${Default_CategoryType}'.lower()
Set To Dictionary ${returnDict} categoryType=${categoryTypeV}
# 取可选参数,为传入设置默认值
Set To Dictionary ${returnDict} categoryType=${categoryTypeV}
# ${return} ${isDelete} Run Keyword And Ignore Error Get From Dictionary ${category} isDelete
# Run Keyword If "${return}"=="FAIL" or "${isDelete}"=="${EMPTY}" Set To Dictionary ${returnDict} isDelete=${Default_IsDelete}
# ... ELSE Set To Dictionary ${returnDict} isDelete=${isDelete}
${return} ${categoryDimension} Run Keyword And Ignore Error Get From Dictionary ${category} categoryDimension
Run Keyword If "${return}"=="FAIL" or "${categoryDimension}"=="${EMPTY}" Set To Dictionary ${returnDict} categoryDimension=${Default_Dimension}
... ELSE Set To Dictionary ${returnDict} categoryDimension=${categoryDimension}
${return} ${categoryOrigin} Run Keyword And Ignore Error Get From Dictionary ${category} categoryOrigin
Run Keyword If "${return}"=="FAIL" or "${categoryOrigin}"=="${EMPTY}" Set To Dictionary ${returnDict} categoryOrigin=${Default_Origin}
... ELSE Set To Dictionary ${returnDict} categoryOrigin=${categoryOrigin}
${return} ${isInitialize} Run Keyword And Ignore Error Get From Dictionary ${category} isInitialize
Run Keyword If "${return}"=="FAIL" or "${isInitialize}"=="${EMPTY}" Set To Dictionary ${returnDict} isInitialize=${Default_IsInitialize}
... ELSE Set To Dictionary ${returnDict} isInitialize=${isInitialize}
${return} ${categoryName} Run Keyword And Ignore Error Get From Dictionary ${category} categoryName
Run Keyword If "${return}"=="FAIL" or "${categoryName}"=="${EMPTY}" Set To Dictionary ${returnDict} categoryName=${Default_ObjectName}
... ELSE Set To Dictionary ${returnDict} categoryName=${categoryName}
${return} ${categoryDesc} Run Keyword And Ignore Error Get From Dictionary ${category} categoryDesc
Run Keyword If "${return}"!="FAIL" and "${categoryDesc}"!="${EMPTY}" Set To Dictionary ${returnDict} categoryDesc=${categoryDesc}
... ELSE Set To Dictionary ${returnDict} categoryDesc=${Default_ObjectDesc}
${return} ${objectSubType} Run Keyword And Ignore Error Get From Dictionary ${category} objectSubType
Run Keyword If "${return}"!="FAIL" and "${objectSubType}"!="${EMPTY}" Set To Dictionary ${returnDict} objectSubType=${objectSubType}
... ELSE Set To Dictionary ${returnDict} objectSubType=${Default_ObjectSubType}
# 处理AddItemList
${return} ${addItemList} Run Keyword And Ignore Error Get From Dictionary ${category} fqdnList
Run Keyword If "${opAction}"=="add" Should Not Be Empty ${addItemList}
# Run Keyword If "${return}"!="FAIL" and "${addItemList}"!="${EMPTY}" ManageAddItemListNew ${addItemList} ${returnDict} ${categoryTypeV} ${objectSubType}
ManageAddItemListNew ${addItemList} ${returnDict} ${categoryTypeV} ${objectSubType}
# 删除无用判断key值objectSubType
Remove From Dictionary ${returnDict} objectSubType
# 转为json结构并返回
${json} json.Dumps ${returnDict} ensure_ascii=False
Log Object-${json}
[Return] ${json}
ManageEnableAndDisable
[Documentation]
... 启用与禁用时调用
[Arguments] ${object} ${returnDict} ${opAction}
Run Keyword If "${opAction}"=="enable" Set To Dictionary ${returnDict} isValid=1
Run Keyword If "${opAction}"=="disable" Set To Dictionary ${returnDict} isValid=0
${json} json.Dumps ${returnDict} ensure_ascii=False
Log Object-${json}
[Return] ${json}
ManageAddItemListNew
# 处理addItemList数组
[Arguments] ${addItemList} ${returnDict} ${type} ${subType}
Log Call ManageAddItemListNew
${itemList} Create List
FOR ${item} IN @{addItemList}
${itemNew} Run Keyword If '${type}'=='ip' and '${subType}'=="geo_location" ManageGeoItem ${item} ${subType} add
... ELSE IF '${type}'=='ip' ManageIpItem ${item} ${subType} add
... ELSE IF '${type}'=='url' or ('${type}'=='fqdn' and '${subType}'!='category') or '${type}'=='keywords' or '${type}'=='subscriberid' or '${type}'=='fqdn_category' or '${type}'=='account'
# ... or '${type}'=='app_id' or '${type}'=='mobile_identity' or '${type}'=='apn'
... ManageStrItem ${item} ${type} add
... ELSE IF '${type}'=='file_type' ManageFileItem ${item} ${type} add
... ELSE IF '${type}'=='fqdn' and '${subType}'=='category' ManageCategory ${item} ${type} add
... ELSE IF '${type}'=='http_signature' ManageExtensionStrItem ${item} ${type} add
... ELSE IF '${type}'=='file_size' or '${type}'=='file_integrity_rate' ManageNumberItem ${item} ${type} add
... ELSE Fail
Append To List ${itemList} ${itemNew}
END
Run Keyword If '${subType}'=='category' Set To Dictionary ${returnDict} fqdnList=${itemList}
... ELSE Set To Dictionary ${returnDict} addItemList=${itemList}
ManageUpdateItemList
[Documentation]
... 处理updateItemList
[Arguments] ${updateItemList} ${returnDict} ${type} ${subType}
${itemList} Create List
FOR ${item} IN @{updateItemList}
${itemId} Get From Dictionary ${item} itemId
${itemNew} Run Keyword If '${type}'=='ip' and '${subType}'=="geo_location" ManageGeoItem ${item} ${subType} update
... ELSE IF '${type}'=='ip' ManageIpItem ${item} ${subType} update
... ELSE IF '${type}'=='url' or ('${type}'=='fqdn' and '${subType}'!='category') or '${type}'=='keywords' or '${type}'=='subscriberid' or '${type}'=='fqdn_category' or '${type}'=='account' or '${type}'=='app_id'
... ManageStrItem ${item} ${type} update
... ELSE IF '${type}'=='file_type' ManageFileItem ${item} ${type} update
... ELSE IF '${type}'=='http_signature' ManageExtensionStrItem ${item} ${type} update
... ELSE IF '${type}'=='file_size' or '${type}'=='file_integrity_rate' ManageNumberItem ${item} ${type} update
... ELSE Fail
Set To Dictionary ${itemNew} itemId=${itemId}
#由于接口更新时是否内置字段会导致40014001策略对象单元不可改是否为内置isInitialize参数状态这里去掉是否内置字段
Remove From Dictionary ${itemNew} isInitialize
Append To List ${itemList} ${itemNew}
END
# Set To Dictionary ${returnDict} updateItemList=${itemList}
Run Keyword If '${subType}'=='category' Set To Dictionary ${returnDict} fqdnList=${itemList}
... ELSE Set To Dictionary ${returnDict} updateItemList=${itemList}
ManageIpItem
[Documentation]
... ip item处理
[Arguments] ${item} ${subType} ${action}
Log Call ManageIpItem
${return} ${isSession} Run Keyword And Ignore Error Get From Dictionary ${item} isSession
${isSession} Run Keyword If "${return}"!="FAIL" Set Variable ${isSession} ELSE Set Variable ${EMPTY}
Run Keyword If "${action}"=="add" Should Not Be Empty ${isSession}
${return} ${ip} Run Keyword And Ignore Error Get From Dictionary ${item} ip
${ip} Run Keyword If "${return}"!="FAIL" Set Variable ${ip} ELSE Set Variable ${EMPTY}
Run Keyword If "${action}"=="add" Should Not Be Empty ${ip}
${return} ${port} Run Keyword And Ignore Error Get From Dictionary ${item} port
Run Keyword If "${action}"=="add" Should Not Be Empty ${port}
#Run Keyword If "${action}"=="add" Dictionary Should Contain Key ${item} direction
#${return} ${direction} Run Keyword And Ignore Error Get From Dictionary ${item} direction
#${direction} Run Keyword If "${return}"!="FAIL" Set Variable ${direction} ELSE Set Variable ${EMPTY}
#Run Keyword If "${action}"=="add" Dictionary Should Contain Key ${item} protocol
${return} ${protocol} Run Keyword And Ignore Error Get From Dictionary ${item} protocol
${protocol} Run Keyword If "${return}"!="FAIL" Set Variable ${protocol} ELSE Set Variable ${EMPTY}
${return} ${isInitialize} Run Keyword And Ignore Error Set Variable ${item['isInitialize']}
${isInitialize} Run Keyword If "${return}"!="FAIL" Set Variable ${isInitialize}
... ELSE Set Variable ${EMPTY}
${return} ${itemName} Run Keyword And Ignore Error Set Variable ${item['itemName']}
${itemName} Run Keyword If "${return}"!="FAIL" Set Variable ${itemName}
... ELSE Set Variable ${EMPTY}
${return} ${itemDesc} Run Keyword And Ignore Error Set Variable ${item['itemDesc']}
${itemDesc} Run Keyword If "${return}"!="FAIL" Set Variable ${itemDesc}
... ELSE Set Variable ${EMPTY}
${itemNew} Create Dictionary
Run Keyword If "${isSession}"!="${EMPTY}" Set To Dictionary ${itemNew} isSession=${isSession}
Run Keyword If "${ip}"!="${EMPTY}" Set To Dictionary ${itemNew} ip=${ip}
Run Keyword If "${port}"!="${EMPTY}" Set To Dictionary ${itemNew} port=${port}
#Run Keyword If "${direction}"!="${EMPTY}" Set To Dictionary ${itemNew} direction=${direction}
Run Keyword If "${protocol}"!="${EMPTY}" Set To Dictionary ${itemNew} protocol=${protocol}
Run Keyword If "${isInitialize}"!="${EMPTY}" Set To Dictionary ${itemNew} isInitialize=${isInitialize}
Run Keyword If "${itemName}"!="${EMPTY}" Set To Dictionary ${itemNew} itemName=${itemName}
Run Keyword If "${itemDesc}"!="${EMPTY}" Set To Dictionary ${itemNew} itemDesc=${itemDesc}
[Return] ${itemNew}
ManageGeoItem
[Documentation]
... ip item处理
[Arguments] ${item} ${subType} ${action}
Log ManageGeoItem
${return} ${keywordArray} Run Keyword And Ignore Error Get From Dictionary ${item} keywordArray
${keywordArray} Run Keyword If "${return}"!="FAIL" Set Variable ${keywordArray} ELSE Set Variable ${EMPTY}
${itemNew} Create Dictionary
${kArray} Create List
Run Keyword If "${keywordArray}"!="${EMPTY}" Append To List ${kArray} ${keywordArray}
Run Keyword If "${keywordArray}"!="${EMPTY}" Set To Dictionary ${itemNew} keywordArray=${kArray}
[Return] ${itemNew}
ManageStrItem
[Documentation]
... 字符串item处理
[Arguments] ${item} ${type} ${action}
Log Call ManageStrItem
${return} ${keywordArray} Run Keyword And Ignore Error Set Variable ${item['keywordArray']}
${keywordArray} Run Keyword If "${return}"!="FAIL" Set Variable ${keywordArray} ELSE Set Variable ${EMPTY}
Run Keyword If "${action}"=="add" Should Not Be Empty ${keywordArray}
${array} Evaluate re.split('[,]', '${keywordArray}') re
Run Keyword If "${action}"=="add" Dictionary Should Contain Key ${item} isHexbin
${return} ${isHexbin} Run Keyword And Ignore Error Get From Dictionary ${item} isHexbin
${isHexbin} Run Keyword If "${return}"!="FAIL" Set Variable ${isHexbin}
... ELSE Set Variable ${EMPTY}
${return} ${isInitialize} Run Keyword And Ignore Error Set Variable ${item['isInitialize']}
${isInitialize} Run Keyword If "${return}"!="FAIL" Set Variable ${isInitialize}
... ELSE Set Variable ${EMPTY}
${return} ${itemName} Run Keyword And Ignore Error Set Variable ${item['itemName']}
${itemName} Run Keyword If "${return}"!="FAIL" Set Variable ${itemName}
... ELSE Set Variable ${EMPTY}
${return} ${itemDesc} Run Keyword And Ignore Error Set Variable ${item['itemDesc']}
${itemDesc} Run Keyword If "${return}"!="FAIL" Set Variable ${itemDesc}
... ELSE Set Variable ${EMPTY}
${itemNew} Create Dictionary
Run Keyword If "${keywordArray}"!="${EMPTY}" Set To Dictionary ${itemNew} keywordArray=${array}
Run Keyword If "${isHexbin}"!="${EMPTY}" Set To Dictionary ${itemNew} isHexbin=${isHexbin}
Run Keyword If "${isInitialize}"!="${EMPTY}" Set To Dictionary ${itemNew} isInitialize=${isInitialize}
Run Keyword If "${itemName}"!="${EMPTY}" Set To Dictionary ${itemNew} itemName=${itemName}
Run Keyword If "${itemDesc}"!="${EMPTY}" Set To Dictionary ${itemNew} itemDesc=${itemDesc}
[Return] ${itemNew}
ManageCategory
[Documentation]
... 字符串item处理
[Arguments] ${item} ${type} ${action}
Log Call ManageStrItem
${return} ${fqdn} Run Keyword And Ignore Error Set Variable ${item['fqdn']}
${fqdn} Run Keyword If "${return}"!="FAIL" Set Variable ${fqdn} ELSE Set Variable ${EMPTY}
Run Keyword If "${action}"=="add" Should Not Be Empty ${fqdn}
${itemNew} Create Dictionary
Run Keyword If "${fqdn}"!="${EMPTY}" Set To Dictionary ${itemNew} fqdn=${fqdn}
[Return] ${itemNew}
ManageFileItem
[Documentation]
... 接口未说明,待接口说明字段类型之后再完善
[Arguments] ${item} ${type} ${action}
Log Call ManageFileItem
[Return] ${item}
ManageExtensionStrItem
[Documentation]
... http_signature参数说明
[Arguments] ${item} ${type} ${action}
Log Call ManageExtensionStrItem
${return} ${district} Run Keyword And Ignore Error Get From Dictionary ${item} district
${district} Run Keyword If "${return}"!="FAIL" Set Variable ${district} ELSE Set Variable ${EMPTY}
Run Keyword If "${action}"=="add" Should Not Be Empty ${district}
${itemNew} ManageStrItem ${item} ${type} ${action}
Run Keyword If "${district}"!="${EMPTY}" Set To Dictionary ${itemNew} district=${district}
[Return] ${itemNew}
ManageNumberItem
[Documentation]
... 接口未说明,待接口说明字段类型之后再完善
[Arguments] ${item} ${type} ${action}
Log Call ManageNumberItem
[Return] ${item}
ManageDeleteItemIds
[Documentation]
... 处理deleteItemIds
... ${1},${2},${3} -> [1,2,3]
[Arguments] ${deleteItemIds} ${returnDict}
${list} Evaluate re.split('[,]', '${deleteItemIds}') re
${list1} Create List
FOR ${var} IN @{list}
${var} Run Keyword If '${var}'.isdigit() Evaluate int('${var}')
... ELSE Set Variable ${var}
Append To List ${list1} ${var}
END
Set To Dictionary ${returnDict} deleteItemIds=${list1}
Get-ObjectIds
[Documentation]
... 获取结果中的对象ID
[Arguments] ${value}
Log Call Get-ObjectIds
${objectIds} Create List
${objectIdsTemp} Set Variable ${EMPTY}
${return} ${data} Run Keyword And Ignore Error Get From Dictionary ${value} data
Return From Keyword If "${return}"=="FAIL" ${objectIdsTemp}
FOR ${object} IN @{value['data']['objectList']}
Append To List ${objectIds} ${object['objectId']}
END
${json} json.Dumps ${objectIds} ensure_ascii=False
${json} Remove String ${json} [
${json} Remove String ${json} ]
[Return] ${json}
Get-CategoryObjIds
[Documentation]
... 获取Category结果中的对象ID
[Arguments] ${value}
Log Call Get-CategoryObjectIds
${CategoryObjIds} Create List
${CategoryTemp} Set Variable ${EMPTY}
${return} ${data} Run Keyword And Ignore Error Get From Dictionary ${value} data
Return From Keyword If "${return}"=="FAIL" ${CategoryTemp}
FOR ${category} IN @{value['data']['list']}
Append To List ${CategoryObjIds} ${category['objectId']}
END
${json} json.Dumps ${CategoryObjIds} ensure_ascii=False
${json} Remove String ${json} [
${json} Remove String ${json} ]
[Return] ${json}
Get-CategoryIds
[Documentation]
... 获取Category结果中的对象ID
[Arguments] ${value}
Log Call Get-CategoryObjectIds
${CategoryIds} Create List
${CategoryTemp} Set Variable ${EMPTY}
${return} ${data} Run Keyword And Ignore Error Get From Dictionary ${value} data
Return From Keyword If "${return}"=="FAIL" ${CategoryTemp}
FOR ${category} IN @{value['data']['list']}
Append To List ${CategoryIds} ${category['categoryId']}
END
${json} json.Dumps ${CategoryIds} ensure_ascii=False
${json} Remove String ${json} [
${json} Remove String ${json} ]
[Return] ${json}