*** Settings *** Test Teardown DeletePolicyAndObjectAndProfile ${policyIds} ${objectIds} ${profiles} Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot Resource ../../../02-Keyword/tsg_bfapi/policy_object/Policy.robot Resource ../../../02-Keyword/tsg_bfapi/Common.robot *** Variables *** @{profiles} *** Test Cases *** Policy-Get-v1-00001 ${policy} Create Dictionary policyType=tsg_security action=deny ... pageNo=1 pageSize=10 ${rescode} ${response} QueryPolicies ${policy} v1 ${policyIds} Create List ${objectIds} Set Variable ${EMPTY} Log ${rescode} ${response} Policy-Get-v2-00001 ${policy} Create Dictionary policyType=tsg_security action=deny ... pageNo=1 pageSize=10 ${rescode} ${response} QueryPolicies ${policy} v2 ${policyIds} Create List ${objectIds} Set Variable ${EMPTY} Log ${rescode} ${response} Policy-Post-v1-00001 ${policy} Create Dictionary policyId=1 policyType=tsg_security ... policyName=wx-policyName1 action=allow doBlacklist=0 ... doLog=0 isValid=1 effectiveRange={} ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${objectIds} Set Variable ${EMPTY} ${rescode} ${policyIds} AddPolicies 1 ${policy} v1 Log ${rescode} ${policyIds} ${objectIds} Policy-Post-v2-00001 ${policy} Create Dictionary policyId=1 policyType=tsg_security ... policyName=wx-policyName1 action=allow doBlacklist=0 ... doLog=0 isValid=1 effectiveRange={} ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${objectIds} Set Variable ${EMPTY} ${rescode} ${policyIds} AddPolicies 1 ${policy} v2 Log ${rescode} ${policyIds} ${objectIds} Policy-Post-v1-00002 ${policy} Create Dictionary policyId=1 policyType=tsg_security ... policyName=wx-policyName1 action=allow doBlacklist=0 ... doLog=0 isValid=1 effectiveRange={} ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${policy1} Create Dictionary policyId=2 policyType=tsg_security ... policyName=wx-policyName2 action=allow doBlacklist=0 ... doLog=0 isValid=1 ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${policy2} Create Dictionary policyId=3 policyType=tsg_security ... policyName=wx-policyName3 action=allow doBlacklist=0 ... doLog=0 isValid=0 ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${objectIds} Set Variable ${EMPTY} @{policyList} Create List ${policy} ${policy1} ${policy2} ${rescode} ${policyIds} AddPolicies 1 ${policyList} v1 Log ${rescode} ${policyIds} ${objectIds} Policy-Post-v2-00002 ${policy} Create Dictionary policyId=1 policyType=tsg_security ... policyName=wx-policyName1 action=allow doBlacklist=0 ... doLog=0 isValid=1 effectiveRange={} ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${policy1} Create Dictionary policyId=2 policyType=tsg_security ... policyName=wx-policyName2 action=allow doBlacklist=0 ... doLog=0 isValid=1 ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${policy2} Create Dictionary policyId=3 policyType=tsg_security ... policyName=wx-policyName3 action=allow doBlacklist=0 ... doLog=0 isValid=0 ... userRegion={"protocol":"HTTP","traffic_forward":{"enable":1}} ${objectIds} Set Variable ${EMPTY} @{policyList} Create List ${policy} ${policy1} ${policy2} ${rescode} ${policyIds} AddPolicies 1 ${policyList} v2 Log ${rescode} ${policyIds} ${objectIds} Policy-Post-v1-00003 Comment 创建fqdn ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*baidu.com ${rescode} ${objectId} AddObject2 ${1} ${objectDict} ${objectIds} Set Variable ${objectId} Comment 创建安全策略 ${policy} Create Dictionary policyName=WX_SecurityPolicy-v1-00003 policyType=tsg_security ... policyDesc=autotest userTags= ... action=deny effectiveRange={} ... userRegion={"protocol":"SSL","method":"drop"} ... referenceObject=${objectId}|TSG_FIELD_SSL_CN&TSG_FIELD_SSL_SAN ... isValid=${1} appObjectIdArray=3 ${rescode} ${policyIds} AddPolicies 1 ${policy} v1 Log ${rescode} ${policyIds} ${objectIds} Policy-Post-v2-00004 #${testClentID} ${testClentSubID} Comment 创建fqdn ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*baidu.com ${rescode} ${objectId} AddObject2 ${1} ${objectDict} ${objectIds} Set Variable ${objectId} Comment 创建安全策略 ${policy} Create Dictionary policyName=WX_SecurityPolicy-v2-00004 policyType=tsg_security ... policyDesc=autotest ... action=deny #effectiveRange={} ... userRegion={"protocol":"SSL","method":"drop"} ... filterList=${objectId}:TSG_FIELD_SSL_CN ... isValid=${1} appIdObjects=3 ${rescode} ${policyIds} AddPolicies 1 ${policy} v2 Log ${rescode} ${policyIds} ${objectIds} Policy-Post-v2-00005 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 Object Comment 创建url ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*baidu.com ${rescode} ${objectId2} AddObject2 ${1} ${objectDict} ${objectIds} Set Variable ${objectId2},${objectIds} Log To Console Create url Object Comment 创建安全策略 ${policy} Create Dictionary policyName=WX_SecurityPolicy-v2-00005 policyType=tsg_security ... policyDesc=wx-autotest ... action=deny effectiveRange={} ... userRegion={"protocol":"HTTP","method":"drop"} ... source=${objectId1}|TSG_SECURITY_SOURCE_ADDR ... destination=${objectId2}|TSG_FIELD_HTTP_URL ... isValid=${1} appIdObjects=2 ${rescode} ${policyIds} AddPolicies 1 ${policy} v2 Log ${rescode} ${policyIds} ${objectIds} Policy-Post-v2-00006 [Tags] reflection ${caseName} set variable WX_ActiveDefencePolicy-Reflection-V2-00006 ${target_ip} set variable 10.3.22.139 Comment claimed_src_ip_profile_id ${response} BasePostRequest /v1/policy/profile/reflector body={"opAction":"add","returnData":1,"reflectorList":[{"profileName":"autotest","addrType":4,"ipList":["10.3.22.11"],"reflectorType":"dns","isValid":1,"profileDesc":"autotest"}]} ${reflector_profile_id} Set Variable ${response['data']['list'][0]['profileId']} ${response} BasePostRequest /v1/policy/profile/reflector/payload body={"opAction":"add","returnData":1,"reflectorList":[{"profileName":"autotest","reflectorType":"dns","payload":"zasBAAABAAAAAAAABHRlc3QDY29tAAD/AAE=","isValid":1,"profileDesc":""}]} #${response} BasePostRequest /policy/profile/reflector/payload body={"opAction":"add","returnData":1,"reflectorList":[{"profileName":"autotest","reflectorPayload":"dns","payload":"zasBAAABAAAAAAAABHRlc3QDY29tAAD/AAE=","isValid":1,"profileDesc":""}]} ${payload_profile_id} Set Variable ${response['data']['list'][0]['profileId']} Comment 创建策略reflection ${policyDict} Create Dictionary ... policyName=${caseName} ... policyType=active_defence ... policyDesc=${caseName} ... action=activeDefence ... userRegion={"method":"reflection","reflector_type":"DNS","target_ip":"${target_ip}","target_port":1234,"rate_pps":1,"payload_profile_id":${payload_profile_id},"reflector_profile_id":${reflector_profile_id}} ... isValid=1 ${rescode} ${policyIds} AddPolicies 1 ${policyDict} v2 ${profile} Create Dictionary typeUrl=reflector profileIds=${reflector_profile_id} ${profile1} Create Dictionary typeUrl=reflector/payload profileIds=${payload_profile_id} Append To List ${profiles} ${profile} ${profile1} ${objectIds} Set Variable ${EMPTY} 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