feat:(策略)1.策略排序;2.策略统计;3.策略生效字段查询
注意策略排序调用接口显示异常,策略生效字段查询返回总是空数据 4.Default_v2开头的参数配置替换为EMPTY
This commit is contained in:
@@ -581,4 +581,19 @@ Policy-Import-v1-00032
|
|||||||
Policy-Export-v1-00033
|
Policy-Export-v1-00033
|
||||||
Comment 导 出Excel
|
Comment 导 出Excel
|
||||||
${objectIds} Set Variable ${EMPTY}
|
${objectIds} Set Variable ${EMPTY}
|
||||||
${response} ExportObject ip endpoint ${EMPTY} ${EMPTY}
|
${response} ExportObject ip endpoint ${EMPTY} ${EMPTY}
|
||||||
|
Policy-Sort-v1-00034
|
||||||
|
Comment 策略排序
|
||||||
|
${objectIds} Set Variable ${EMPTY}
|
||||||
|
${params} Create Dictionary policyType=tsg_security policyId=${1517} afterPolicyId=${1518}
|
||||||
|
${params1} Create Dictionary policyType=tsg_security policyId=${1515} beforePolicyId=${1514}
|
||||||
|
${paramsList} Create List ${params} ${params1}
|
||||||
|
${response} SortPolicies ${paramsList}
|
||||||
|
Policy-Statistics-v1-00035
|
||||||
|
Comment 策略统计
|
||||||
|
${objectIds} Set Variable ${EMPTY}
|
||||||
|
${response} StatisticsPolicies
|
||||||
|
Policy-ProtocolFields-v1-00035
|
||||||
|
Comment 策略对象生效协议字段查询
|
||||||
|
${objectIds} Set Variable ${EMPTY}
|
||||||
|
${response} PolicProtocolFields tsg_security ${EMPTY} ip
|
||||||
@@ -183,4 +183,20 @@ CountLines
|
|||||||
${count} Run Keyword If "${line[0]}"=="0" and ${len}>0 Set Variable ${count}
|
${count} Run Keyword If "${line[0]}"=="0" and ${len}>0 Set Variable ${count}
|
||||||
... ELSE Evaluate ${count}+1
|
... ELSE Evaluate ${count}+1
|
||||||
END
|
END
|
||||||
[Return] ${count}
|
[Return] ${count}
|
||||||
|
PolicProtocolFields
|
||||||
|
[Documentation]
|
||||||
|
... 策略对象生效协议字段查询
|
||||||
|
... policyType策略类型
|
||||||
|
... protocol协议
|
||||||
|
... objectType对象类型
|
||||||
|
[Arguments] ${policyType} ${protocol} ${objectType}
|
||||||
|
${dict} Create Dictionary
|
||||||
|
Run Keyword If "${policyType}"!="${EMPTY}" Set To Dictionary ${dict} policyType=${policyType}
|
||||||
|
Run Keyword If "${protocol}"!="${EMPTY}" Set To Dictionary ${dict} protocol=${protocol}
|
||||||
|
Run Keyword If "${objectType}"!="${EMPTY}" Set To Dictionary ${dict} objectType=${objectType}
|
||||||
|
${parmStr} Dictionary-To-QueryParams ${dict}
|
||||||
|
${response} BaseFormRequest ${objectUrl}/protocolFields ${parmStr} ${version}
|
||||||
|
${rescode} Set Variable ${response['code']}
|
||||||
|
Should Be Equal As Strings ${rescode} 200
|
||||||
|
[Return] ${response['data']}
|
||||||
@@ -37,7 +37,7 @@ AddPolicies
|
|||||||
... v2版本中无referenceObject,取而代之的是source,destination,filterList
|
... v2版本中无referenceObject,取而代之的是source,destination,filterList
|
||||||
... source= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
|
... source= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
|
||||||
... destination= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
|
... destination= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
|
||||||
... filterList= ${265}|${257}:TSG_FIELD_HTTP_HOST,${266}|${299}:TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
|
... filterList= ${265}|${257}:TSG_FIELD_HTTP_HOST,${266}|${299}:TSG_FIELD_SSL_SNI
|
||||||
... filterList由多个数字用‘|’分隔,加上:对上对应的protocolFiled,
|
... filterList由多个数字用‘|’分隔,加上:对上对应的protocolFiled,
|
||||||
... 一个filter中的protocolFiled是确定的,一个protocolFiled对应多个objectId
|
... 一个filter中的protocolFiled是确定的,一个protocolFiled对应多个objectId
|
||||||
... appIdObjects==${2},${3}
|
... appIdObjects==${2},${3}
|
||||||
@@ -187,4 +187,30 @@ GetPolicyTotal
|
|||||||
Should Be Equal As Strings ${rescode} 200
|
Should Be Equal As Strings ${rescode} 200
|
||||||
${total} Set Variable ${response['data']['policyNum']}
|
${total} Set Variable ${response['data']['policyNum']}
|
||||||
${total} Evaluate ${total} - ${initializeNum}
|
${total} Evaluate ${total} - ${initializeNum}
|
||||||
[Return] ${total}
|
[Return] ${total}
|
||||||
|
SortPolicies
|
||||||
|
[Documentation]
|
||||||
|
... 将策略排序
|
||||||
|
... policyList
|
||||||
|
... 支持list dict两种结构
|
||||||
|
... dict结构:policyType=tsg_security policyId=${1517} afterPolicyId=${1518}
|
||||||
|
[Arguments] ${policyList}
|
||||||
|
Should Not Be Empty ${policyList}
|
||||||
|
${isList} Evaluate isinstance(${policyList},list)
|
||||||
|
${policyJson} Run Keyword If "${isList}"=="True" SortPolicyList ${policyList}
|
||||||
|
... ELSE SortPolicyObject ${policyList}
|
||||||
|
|
||||||
|
${response} BasePostRequestForV2 ${policyUrl}/moveto {"policyList":${policyJson}} ${version}
|
||||||
|
${rescode} Set Variable ${response['code']}
|
||||||
|
Should Be Equal As Strings ${rescode} 200
|
||||||
|
[Return] ${response}
|
||||||
|
StatisticsPolicies
|
||||||
|
[Documentation]
|
||||||
|
... 获取策略总量
|
||||||
|
... 不需要传参
|
||||||
|
[Arguments]
|
||||||
|
${response} BaseFormRequest ${policyUrl}/statistics ${EMPTY} ${version}
|
||||||
|
${rescode} Set Variable ${response['code']}
|
||||||
|
Should Be Equal As Strings ${rescode} 200
|
||||||
|
${data} Set Variable ${response['data']}
|
||||||
|
[Return] ${data}
|
||||||
@@ -277,9 +277,9 @@ ManageClientSubIDObjectV2
|
|||||||
AnalysisObjectV2
|
AnalysisObjectV2
|
||||||
[Arguments] ${policy} ${objectType} ${objList}
|
[Arguments] ${policy} ${objectType} ${objList}
|
||||||
Log To Console Call AnalysisObjectV2
|
Log To Console Call AnalysisObjectV2
|
||||||
${policyObjectDefault} Run Keyword If "${objectType}"=="source" Set Variable ${Default_v2_SourceObject}
|
${policyObjectDefault} Run Keyword If "${objectType}"=="source" Set Variable ${EMPTY}
|
||||||
... ELSE IF "${objectType}"=="destination" Set Variable ${Default_v2_DestinationObject}
|
... ELSE IF "${objectType}"=="destination" Set Variable ${EMPTY}
|
||||||
... ELSE IF "${objectType}"=="filterList" Set Variable ${Default_v2_FilterObject}
|
... ELSE IF "${objectType}"=="filterList" Set Variable ${EMPTY}
|
||||||
|
|
||||||
${return} ${objectList} Run Keyword And Ignore Error Get From Dictionary ${policy} ${objectType}
|
${return} ${objectList} Run Keyword And Ignore Error Get From Dictionary ${policy} ${objectType}
|
||||||
|
|
||||||
@@ -287,7 +287,7 @@ AnalysisObjectV2
|
|||||||
${objectList} Run Keyword If "${return}"=="FAIL" or "${objectList}"=="${EMPTY}" Set Variable ${policyObjectDefault}
|
${objectList} Run Keyword If "${return}"=="FAIL" or "${objectList}"=="${EMPTY}" Set Variable ${policyObjectDefault}
|
||||||
... ELSE Set Variable ${objectList}
|
... ELSE Set Variable ${objectList}
|
||||||
|
|
||||||
${list} Evaluate re.split('[,]', '${objectList}') re
|
${list} Evaluate re.split('[,]', '${objectList}') re
|
||||||
FOR ${var} IN @{list}
|
FOR ${var} IN @{list}
|
||||||
${tempObj} Run Keyword If "${objectType}"=="filterList" and "${var}" != "" ManageFilter ${var}
|
${tempObj} Run Keyword If "${objectType}"=="filterList" and "${var}" != "" ManageFilter ${var}
|
||||||
... ELSE IF "${var}" != "" ManageObject ${var} ELSE Set Variable ${EMPTY}
|
... ELSE IF "${var}" != "" ManageObject ${var} ELSE Set Variable ${EMPTY}
|
||||||
@@ -314,7 +314,7 @@ ManageFilter
|
|||||||
[Documentation]
|
[Documentation]
|
||||||
... filterList处理
|
... filterList处理
|
||||||
[Arguments] ${filter}
|
[Arguments] ${filter}
|
||||||
Log To Console Call ManageFilter
|
Log Call ManageFilter
|
||||||
${filterObjectList} Create List
|
${filterObjectList} Create List
|
||||||
#截取objectId
|
#截取objectId
|
||||||
${objectIds} Evaluate '${filter}'[0:'${filter}'.find(':')]
|
${objectIds} Evaluate '${filter}'[0:'${filter}'.find(':')]
|
||||||
@@ -322,6 +322,7 @@ ManageFilter
|
|||||||
${protocolField} Evaluate '${filter}'['${filter}'.find(':')+1:]
|
${protocolField} Evaluate '${filter}'['${filter}'.find(':')+1:]
|
||||||
#遍历 objectId
|
#遍历 objectId
|
||||||
${list} Evaluate re.split('[|]', '${objectIds}') re
|
${list} Evaluate re.split('[|]', '${objectIds}') re
|
||||||
|
Log list ${list}
|
||||||
FOR ${var} IN @{list}
|
FOR ${var} IN @{list}
|
||||||
${tempObj} Create Dictionary
|
${tempObj} Create Dictionary
|
||||||
${var} Run Keyword If '${var}'.isdigit() Evaluate int('${var}')
|
${var} Run Keyword If '${var}'.isdigit() Evaluate int('${var}')
|
||||||
@@ -471,4 +472,37 @@ ManageStringAttributeValue
|
|||||||
${string} Get From Dictionary ${attributeValue} string
|
${string} Get From Dictionary ${attributeValue} string
|
||||||
Should Not Be Empty ${string}
|
Should Not Be Empty ${string}
|
||||||
Set To Dictionary ${dict} string=${string}
|
Set To Dictionary ${dict} string=${string}
|
||||||
[Return] ${dict}
|
[Return] ${dict}
|
||||||
|
SortPolicyList
|
||||||
|
[Documentation]
|
||||||
|
... 多策略排序
|
||||||
|
... policyList为数组结构
|
||||||
|
[Arguments] ${policyList}
|
||||||
|
Log Call SortPolicyList
|
||||||
|
${policyListJson} Set Variable [
|
||||||
|
FOR ${policyObj} IN @{policyList}
|
||||||
|
${json} SortPolicyObject ${policyObj}
|
||||||
|
${policyListJson} Set Variable ${policyListJson}${json},
|
||||||
|
END
|
||||||
|
${policyListJson}= Replace String Using Regexp ${policyListJson} ,$ ]
|
||||||
|
Log SortPolicyList-${policyListJson}
|
||||||
|
[Return] ${policyListJson}
|
||||||
|
SortPolicyObject
|
||||||
|
[Documentation]
|
||||||
|
... 策略排序
|
||||||
|
... policyObject为字典结构
|
||||||
|
... policyObject policyId=${policyId} policyType=${policyType} beforePolicyId=${beforePolicyId} afterPolicyId=${afterPolicyId}
|
||||||
|
[Arguments] ${policyObject}
|
||||||
|
Dictionary Should Contain Key ${policyObject} policyId
|
||||||
|
Dictionary Should Contain Key ${policyObject} policyType
|
||||||
|
${policyId} Get From Dictionary ${policyObject} policyId
|
||||||
|
Run Keyword If "${policyId}"=="${EMPTY}" Should Not Be Empty ${policyId}
|
||||||
|
${policyType} Get From Dictionary ${policyObject} policyType
|
||||||
|
Should Not Be Empty ${policyType}
|
||||||
|
${return} ${beforePolicyId} Run Keyword And Ignore Error Get From Dictionary ${policyObject} beforePolicyId
|
||||||
|
${return1} ${afterPolicyId} Run Keyword And Ignore Error Get From Dictionary ${policyObject} afterPolicyId
|
||||||
|
Run Keyword If "${return}"=="FAIL" and "${return1}"=="FAIL" Fail beforePolicyId和 afterPolicyId必须设置一个!
|
||||||
|
Run Keyword If "${return}"=="PASS" and "${return1}"=="PASS" and "${beforePolicyId}"=="${EMPTY}" and "${afterPolicyId}"=="${EMPTY}"
|
||||||
|
... Fail beforePolicyId和 afterPolicyId不能同时为空!
|
||||||
|
${json} json.Dumps ${policyObject} ensure_ascii=False
|
||||||
|
[Return] ${json}
|
||||||
Reference in New Issue
Block a user