diff --git a/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot b/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot index 0693de1..e284a87 100644 --- a/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot +++ b/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot @@ -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} diff --git a/02-Keyword/tsg_bfapi/policy_object/Policy.robot b/02-Keyword/tsg_bfapi/policy_object/Policy.robot index e8c506a..7b582f5 100644 --- a/02-Keyword/tsg_bfapi/policy_object/Policy.robot +++ b/02-Keyword/tsg_bfapi/policy_object/Policy.robot @@ -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 diff --git a/02-Keyword/tsg_bfapi/policy_object/ProcessPolicyBody.robot b/02-Keyword/tsg_bfapi/policy_object/ProcessPolicyBody.robot index 78cc222..89b031d 100644 --- a/02-Keyword/tsg_bfapi/policy_object/ProcessPolicyBody.robot +++ b/02-Keyword/tsg_bfapi/policy_object/ProcessPolicyBody.robot @@ -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