feat:(v2策略)支持update,enable,disable
This commit is contained in:
@@ -150,3 +150,106 @@ Policy-Post-v2-00006
|
|||||||
Append To List ${profiles} ${profile} ${profile1}
|
Append To List ${profiles} ${profile} ${profile1}
|
||||||
${objectIds} Set Variable ${EMPTY}
|
${objectIds} Set Variable ${EMPTY}
|
||||||
Log ${rescode} ${policyIds} ${objectIds}
|
Log ${rescode} ${policyIds} ${objectIds}
|
||||||
|
Policy-Post-v2-00007
|
||||||
|
Comment 创建IP
|
||||||
|
${objectDict} Create Dictionary objectType=ip isValid=${1}
|
||||||
|
... isInitialize=0
|
||||||
|
... addItemList=range|192.168.41.68|192.168.41.68|0/0
|
||||||
|
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId1}
|
||||||
|
Log To Console Create IP Object1
|
||||||
|
Comment 创建IP1
|
||||||
|
${objectDict} Create Dictionary objectType=ip isValid=${1}
|
||||||
|
... isInitialize=0
|
||||||
|
... addItemList=range|192.168.41.67|192.168.41.67|0/0
|
||||||
|
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId2}
|
||||||
|
Log To Console Create IP Object2
|
||||||
|
Comment 创建url
|
||||||
|
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*baidu.com
|
||||||
|
${rescode} ${objectId3} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId3},${objectIds}
|
||||||
|
Log To Console Create url Object3
|
||||||
|
Comment 创建url1
|
||||||
|
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*google.com.com
|
||||||
|
${rescode} ${objectId4} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId4},${objectIds}
|
||||||
|
Log To Console Create url Object4
|
||||||
|
Comment 创建安全策略
|
||||||
|
${policy} Create Dictionary policyName=WX_AddPolicy-v2-00007 policyType=tsg_security
|
||||||
|
... policyDesc=wx-autotest
|
||||||
|
... action=deny effectiveRange={}
|
||||||
|
... userRegion={"protocol":"HTTP","method":"drop"}
|
||||||
|
... source=${objectId1}|TSG_SECURITY_SOURCE_ADDR
|
||||||
|
... destination=${objectId3}|TSG_FIELD_HTTP_URL
|
||||||
|
... isValid=${1} appIdObjects=2
|
||||||
|
${rescode} ${policyIds} AddPolicies 1 ${policy} v2
|
||||||
|
Log ${rescode}
|
||||||
|
${updatePolicyId} Set Variable ${policyIds}[0][policyIds][0]
|
||||||
|
Comment 更新安全策略
|
||||||
|
${policy} Create Dictionary policyName=WX_UpdatePolicy-v2-00007 policyType=tsg_security
|
||||||
|
... policyDesc=wx-autotest policyId=${updatePolicyId}
|
||||||
|
... action=monitor
|
||||||
|
... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}}
|
||||||
|
... source=${objectId2}|TSG_SECURITY_SOURCE_ADDR
|
||||||
|
... destination=${objectId4}|TSG_FIELD_HTTP_URL
|
||||||
|
... isValid=${1} appIdObjects=2
|
||||||
|
${rescode} UpdatePolicies 1 ${policy} v2 update
|
||||||
|
Policy-Post-v2-00008
|
||||||
|
Comment 创建IP
|
||||||
|
${objectDict} Create Dictionary objectType=ip isValid=${1}
|
||||||
|
... isInitialize=0
|
||||||
|
... addItemList=range|192.168.41.68|192.168.41.68|0/0
|
||||||
|
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId1}
|
||||||
|
Log To Console Create IP Object1
|
||||||
|
Comment 创建url
|
||||||
|
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*baidu.com
|
||||||
|
${rescode} ${objectId3} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId3},${objectIds}
|
||||||
|
Log To Console Create url Object3
|
||||||
|
|
||||||
|
Comment 创建安全策略
|
||||||
|
${policy} Create Dictionary policyName=WX_AddPolicy-v2-00008 policyType=tsg_security
|
||||||
|
... policyDesc=wx-autotest
|
||||||
|
... action=deny effectiveRange={}
|
||||||
|
... userRegion={"protocol":"HTTP","method":"drop"}
|
||||||
|
... source=${objectId1}|TSG_SECURITY_SOURCE_ADDR
|
||||||
|
... destination=${objectId3}|TSG_FIELD_HTTP_URL
|
||||||
|
... isValid=${1} appIdObjects=2
|
||||||
|
${policy1} Copy Dictionary ${policy} true
|
||||||
|
${rescode} ${policyIds} AddPolicies 1 ${policy} v2
|
||||||
|
Log ${rescode}
|
||||||
|
${updatePolicyId} Set Variable ${policyIds}[0][policyIds][0]
|
||||||
|
Comment 更新安全策略
|
||||||
|
Set To Dictionary ${policy1} policyId=${updatePolicyId}
|
||||||
|
${rescode} UpdatePolicies 1 ${policy1} v2 disable
|
||||||
|
Policy-Post-v2-00009
|
||||||
|
Comment 创建IP
|
||||||
|
${objectDict} Create Dictionary objectType=ip isValid=${1}
|
||||||
|
... isInitialize=0
|
||||||
|
... addItemList=range|192.168.41.68|192.168.41.68|0/0
|
||||||
|
${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId1}
|
||||||
|
Log To Console Create IP Object1
|
||||||
|
Comment 创建url
|
||||||
|
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*baidu.com
|
||||||
|
${rescode} ${objectId3} AddObject2 ${1} ${objectDict}
|
||||||
|
${objectIds} Set Variable ${objectId3},${objectIds}
|
||||||
|
Log To Console Create url Object3
|
||||||
|
|
||||||
|
Comment 创建安全策略
|
||||||
|
${policy} Create Dictionary policyName=WX_AddPolicy-v2-00009 policyType=tsg_security
|
||||||
|
... policyDesc=wx-autotest
|
||||||
|
... action=deny effectiveRange={}
|
||||||
|
... userRegion={"protocol":"HTTP","method":"drop"}
|
||||||
|
... source=${objectId1}|TSG_SECURITY_SOURCE_ADDR
|
||||||
|
... destination=${objectId3}|TSG_FIELD_HTTP_URL
|
||||||
|
... isValid=${0} appIdObjects=2
|
||||||
|
${policy1} Copy Dictionary ${policy} true
|
||||||
|
${rescode} ${policyIds} AddPolicies 1 ${policy} v2
|
||||||
|
Log ${rescode}
|
||||||
|
${updatePolicyId} Set Variable ${policyIds}[0][policyIds][0]
|
||||||
|
Comment 更新安全策略
|
||||||
|
Set To Dictionary ${policy1} policyId=${updatePolicyId}
|
||||||
|
${rescode} UpdatePolicies 1 ${policy1} v2 enable
|
||||||
@@ -83,3 +83,10 @@ BaseEditRequest
|
|||||||
Should Be Equal As Strings ${response.status_code} 200
|
Should Be Equal As Strings ${response.status_code} 200
|
||||||
${response} to json ${response.content}
|
${response} to json ${response.content}
|
||||||
[Return] ${response}
|
[Return] ${response}
|
||||||
|
BaseEditRequestForV2
|
||||||
|
[Arguments] ${requestUri} ${data} ${apiVersion}
|
||||||
|
${apiStart} Evaluate '${requestUri}'[0:1]
|
||||||
|
${requestUri} Run Keyword If "${apiStart}"=="/" set variable /${apiVersion}${requestUri}
|
||||||
|
... ELSE set variable /${apiVersion}/${requestUri}
|
||||||
|
${response} BaseEditRequest ${requestUri} ${data}
|
||||||
|
[Return] ${response}
|
||||||
@@ -75,3 +75,17 @@ AddPolicies
|
|||||||
... ELSE Create List
|
... ELSE Create List
|
||||||
${rescode} Set Variable ${response['code']}
|
${rescode} Set Variable ${response['code']}
|
||||||
[Return] ${rescode} ${policyIds}
|
[Return] ${rescode} ${policyIds}
|
||||||
|
UpdatePolicies
|
||||||
|
[Arguments] ${returnData} ${policyList} ${version} ${opAction}
|
||||||
|
Log To Console Call UpdatePolicies
|
||||||
|
${returnData}= Run Keyword If '${returnData}' == '${EMPTY}' Set Variable 1
|
||||||
|
... ELSE Set Variable ${returnData}
|
||||||
|
#必选参数判定
|
||||||
|
Should Not Be Empty ${policyList}
|
||||||
|
${dictType} = Evaluate type(${policyList})
|
||||||
|
${body} Run Keyword If "${dictType}" == "<class 'list'>" WxPolicyListOperation ${returnData} ${policyList} ${opAction} ${version}
|
||||||
|
... ELSE IF "${dictType}" == "<class 'dict'>" WxPolicyOperation ${returnData} ${policyList} ${opAction} ${version}
|
||||||
|
... ELSE Set Variable ${EMPTY}
|
||||||
|
${response} BaseEditRequestForV2 ${url} ${body} ${version}
|
||||||
|
${rescode} Set Variable ${response['code']}
|
||||||
|
[Return] ${rescode}
|
||||||
@@ -33,7 +33,7 @@ Resource ../../tsg_common/ManagePolicyBody.robot
|
|||||||
# ... 一个filter中的protocolFiled是确定的,一个protocolFiled对应多个objectId
|
# ... 一个filter中的protocolFiled是确定的,一个protocolFiled对应多个objectId
|
||||||
WxPolicyListOperation
|
WxPolicyListOperation
|
||||||
[Documentation]
|
[Documentation]
|
||||||
... 描述:入口,opAction参数固定为'add'
|
... 描述:入口,opAction参数可为'add','update','disable','enable'
|
||||||
... 参数:returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
|
... 参数:returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
|
||||||
... policyList: 必传,字典类型。字典内可选参数信息:
|
... policyList: 必传,字典类型。字典内可选参数信息:
|
||||||
... policyObjectVersion: 必传,v1,v2,涉及策略版本
|
... policyObjectVersion: 必传,v1,v2,涉及策略版本
|
||||||
@@ -57,7 +57,7 @@ WxPolicyListOperation
|
|||||||
|
|
||||||
WxPolicyOperation
|
WxPolicyOperation
|
||||||
[Documentation]
|
[Documentation]
|
||||||
... 描述:入口,opAction参数固定为'add'
|
... 描述:入口,opAction参数可为'add','update','disable','enable'
|
||||||
... 参数:returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
|
... 参数:returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
|
||||||
... policyList: 必传,字典类型。字典内可选参数信息:
|
... policyList: 必传,字典类型。字典内可选参数信息:
|
||||||
... policyObjectVersion: 必传,v1,v2,涉及策略版本
|
... policyObjectVersion: 必传,v1,v2,涉及策略版本
|
||||||
@@ -77,7 +77,7 @@ WxPolicyOperation
|
|||||||
|
|
||||||
WxPolicyOrganize
|
WxPolicyOrganize
|
||||||
[Documentation]
|
[Documentation]
|
||||||
... 描述:入口,opAction参数固定为'add'
|
... 描述:入口,opAction参数可为'add','update','disable','enable'
|
||||||
... policyList: 必传,字典类型。字典内可选参数信息:
|
... policyList: 必传,字典类型。字典内可选参数信息:
|
||||||
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
|
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
|
||||||
... policyObjectVersion: 必传,v1,v2,涉及策略版本
|
... policyObjectVersion: 必传,v1,v2,涉及策略版本
|
||||||
@@ -93,6 +93,14 @@ WxPolicyOrganize
|
|||||||
|
|
||||||
Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} referenceObject
|
Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} referenceObject
|
||||||
Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} appObjectIdArray
|
Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} appObjectIdArray
|
||||||
|
#更新时 policyId不允许为空
|
||||||
|
${return} ${policyId} Run Keyword And Ignore Error Get From Dictionary ${policy} policyId
|
||||||
|
Run Keyword If "${opAction}"=="update" and "${return}"=="FAIL" Fail policyId is required when opAction is update
|
||||||
|
Run Keyword If "${opAction}"=="update" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is update
|
||||||
|
Run Keyword If "${opAction}"=="disable" and "${return}"=="FAIL" Fail policyId is required when opAction is disable
|
||||||
|
Run Keyword If "${opAction}"=="disable" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is disable
|
||||||
|
Run Keyword If "${opAction}"=="enable" and "${return}"=="FAIL" Fail policyId is required when opAction is enable
|
||||||
|
Run Keyword If "${opAction}"=="enable" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is enable
|
||||||
|
|
||||||
# 取可选参数,为传入设置默认值
|
# 取可选参数,为传入设置默认值
|
||||||
${return} ${policyName} Run Keyword And Ignore Error Get From Dictionary ${policy} policyName
|
${return} ${policyName} Run Keyword And Ignore Error Get From Dictionary ${policy} policyName
|
||||||
@@ -116,6 +124,9 @@ WxPolicyOrganize
|
|||||||
Run Keyword If "${return}"=="FAIL" or "${isValid}"=="${EMPTY}" Set To Dictionary ${policy} isValid=${Default_IsValid}
|
Run Keyword If "${return}"=="FAIL" or "${isValid}"=="${EMPTY}" Set To Dictionary ${policy} isValid=${Default_IsValid}
|
||||||
${return} ${scheduleId} Run Keyword And Ignore Error Set Variable ${policy}[scheduleId]
|
${return} ${scheduleId} Run Keyword And Ignore Error Set Variable ${policy}[scheduleId]
|
||||||
|
|
||||||
|
Run Keyword If "${opAction}"=="enable" Set To Dictionary ${policy} isValid=1
|
||||||
|
Run Keyword If "${opAction}"=="disable" Set To Dictionary ${policy} isValid=0
|
||||||
|
|
||||||
${scheduleIdV} Run Keyword If "${return}"!="FAIL" and "${scheduleId}"!="${EMPTY}" and "${scheduleId}"!="${None}" Evaluate list(map(int, re.split('[,]', '${scheduleId}'))) re
|
${scheduleIdV} Run Keyword If "${return}"!="FAIL" and "${scheduleId}"!="${EMPTY}" and "${scheduleId}"!="${None}" Evaluate list(map(int, re.split('[,]', '${scheduleId}'))) re
|
||||||
... ELSE Set Variable ${emptyList}
|
... ELSE Set Variable ${emptyList}
|
||||||
Set To Dictionary ${policy} scheduleId=${scheduleIdV}
|
Set To Dictionary ${policy} scheduleId=${scheduleIdV}
|
||||||
|
|||||||
Reference in New Issue
Block a user