fix:(策略新增修改)1.分隔符参数化,将分隔符定义于Variables中
2.filterList分隔符向v1版本兼容,objectId和protocolField之间的分隔符默认值改成|,objectId之间的分隔符改成:
This commit is contained in:
@@ -104,7 +104,7 @@ Policy-Post-v2-00004
|
||||
... policyDesc=autotest
|
||||
... action=deny #effectiveRange={}
|
||||
... userRegion={"protocol":"SSL","method":"drop"}
|
||||
... filterList=${objectId}:TSG_FIELD_SSL_CN
|
||||
... filterList=${objectId}|TSG_FIELD_SSL_CN
|
||||
... isValid=${1} appIdObjects=3
|
||||
${rescode} ${policyIds} AddPolicies 1 ${policy} v2
|
||||
Log ${rescode} ${policyIds} ${objectIds}
|
||||
|
||||
@@ -35,12 +35,14 @@ AddPolicies
|
||||
... 为字符串类型,以','分隔
|
||||
... v2版本特殊参数说明:
|
||||
... v2版本中无referenceObject,取而代之的是source,destination,filterList
|
||||
... 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
|
||||
... filterList= ${265}|${257}:TSG_FIELD_HTTP_HOST,${266}|${299}:TSG_FIELD_SSL_SNI
|
||||
... filterList由多个数字用‘|’分隔,加上:对上对应的protocolFiled,
|
||||
... source= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
|
||||
... destination= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
|
||||
... filterList= ${265}:${257}|TSG_FIELD_HTTP_HOST,${266}:${299}|TSG_FIELD_SSL_SNI
|
||||
... filterList由多个数字用‘:’分隔,加上|对上对应的protocolFiled,
|
||||
... 一个filter中的protocolFiled是确定的,一个protocolFiled对应多个objectId
|
||||
... v2版本不支持protocolFiled之间的&符号连接,因为接口中protocolFiled不是数组结构
|
||||
... appIdObjects==${2},${3}
|
||||
... 20200701修订:分隔符号在Variables中定义,可替换
|
||||
[Arguments] ${returnData} ${policyList} ${version}
|
||||
Log To Console Call AddPolicies
|
||||
${returnData}= Run Keyword If '${returnData}' == '${EMPTY}' Set Variable 1
|
||||
|
||||
@@ -4,6 +4,15 @@ Library Collections
|
||||
Resource ../../../03-Variable/BifangApiVariable.txt
|
||||
Resource ../../../03-Variable/PolicyObjectDefault.txt
|
||||
Resource ../../tsg_common/ManagePolicyBody.robot
|
||||
*** Variables ***
|
||||
#arraySplitor:数组元素之间的分隔符
|
||||
${arraySplitor} ,
|
||||
#protocolFiledSplitor:protocolFiled之间的分隔符
|
||||
${protocolFiledSplitor} &
|
||||
#objectIdSplitor:objectId之间的分隔符
|
||||
${objectIdSplitor} :
|
||||
#idFiledSplitor: objectId和protocolFiled之间的分隔符
|
||||
${idFiledSplitor} |
|
||||
*** Keywords ***
|
||||
# ... 特殊参数说明:
|
||||
# ... effectiveRange=Nursurtan|Transtelecom&Astel,Almaty&Nursurtan,|Astel&Transtelecom
|
||||
@@ -26,10 +35,10 @@ Resource ../../tsg_common/ManagePolicyBody.robot
|
||||
# ...
|
||||
# ... 注:数字类型变量为${0}、${1}、${...}
|
||||
# ... 在v2版本中 无referenceObject,取而代之的是source,destination,filterList
|
||||
# ... 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
|
||||
# ... filterList= ${265}|${257}:TSG_FIELD_HTTP_HOST,${266}|${299}:TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
|
||||
# ... filterList由多个数字用‘|’分隔,加上:对上对应的protocolFiled,
|
||||
# ... source= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
|
||||
# ... destination= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
|
||||
# ... filterList= ${265}:${257}|TSG_FIELD_HTTP_HOST,${266}:${299}|TSG_FIELD_SSL_SNI
|
||||
# ... filterList由多个数字用‘:’分隔,加上|对上对应的protocolFiled,
|
||||
# ... 一个filter中的protocolFiled是确定的,一个protocolFiled对应多个objectId
|
||||
PolicyListDataOperation
|
||||
[Documentation]
|
||||
@@ -287,7 +296,7 @@ AnalysisObjectV2
|
||||
${objectList} Run Keyword If "${return}"=="FAIL" or "${objectList}"=="${EMPTY}" Set Variable ${policyObjectDefault}
|
||||
... ELSE Set Variable ${objectList}
|
||||
|
||||
${list} Evaluate re.split('[,]', '${objectList}') re
|
||||
${list} Evaluate re.split('[${arraySplitor}]', '${objectList}') re
|
||||
FOR ${var} IN @{list}
|
||||
${tempObj} Run Keyword If "${objectType}"=="filterList" and "${var}" != "" ManageFilter ${var}
|
||||
... ELSE IF "${var}" != "" ManageObject ${var} ELSE Set Variable ${EMPTY}
|
||||
@@ -301,9 +310,9 @@ ManageObject
|
||||
Log To Console Call ManageObject
|
||||
${objectList} Create List
|
||||
#截取objectId
|
||||
${objectId} Evaluate '${object}'[0:'${object}'.find('|')]
|
||||
${objectId} Evaluate '${object}'[0:'${object}'.find('${idFiledSplitor}')]
|
||||
#截取protocolField
|
||||
${protocolField} Evaluate '${object}'['${object}'.find('|')+1:]
|
||||
${protocolField} Evaluate '${object}'['${object}'.find('${idFiledSplitor}')+1:]
|
||||
${tempObj} Create Dictionary
|
||||
${objectId} Run Keyword If '${objectId}'.isdigit() Evaluate int('${objectId}')
|
||||
... ELSE Set Variable ${objectId}
|
||||
@@ -317,11 +326,11 @@ ManageFilter
|
||||
Log Call ManageFilter
|
||||
${filterObjectList} Create List
|
||||
#截取objectId
|
||||
${objectIds} Evaluate '${filter}'[0:'${filter}'.find(':')]
|
||||
${objectIds} Evaluate '${filter}'[0:'${filter}'.find('${idFiledSplitor}')]
|
||||
#截取protocolField
|
||||
${protocolField} Evaluate '${filter}'['${filter}'.find(':')+1:]
|
||||
${protocolField} Evaluate '${filter}'['${filter}'.find('${idFiledSplitor}')+1:]
|
||||
#遍历 objectId
|
||||
${list} Evaluate re.split('[|]', '${objectIds}') re
|
||||
${list} Evaluate re.split('[${objectIdSplitor}]', '${objectIds}') re
|
||||
Log list ${list}
|
||||
FOR ${var} IN @{list}
|
||||
${tempObj} Create Dictionary
|
||||
|
||||
Reference in New Issue
Block a user