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