This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dongxiaoyan-tsg-autotest/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot

428 lines
23 KiB
Plaintext
Raw Normal View History

*** 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/policy_object/Object.robot
Resource ../../../02-Keyword/tsg_bfapi/Common.robot
Library json
*** Variables ***
@{policyIds}
@{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
Policy-Post-v2-00010
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-00010 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
${rescode} ${policyIds} AddPolicies 1 ${policy} v2
Log ${rescode}
${updatePolicyId} Set Variable ${policyIds}[0][policyIds][0]
Comment 更新安全策略
${policy} Create Dictionary policyId=${updatePolicyId}
${rescode} UpdatePolicies 1 ${policy} v2 enable
Policy-Post-v2-00011
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-00011 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 policyId=${updatePolicyId}
${rescode} UpdatePolicies 1 ${policy} v2 disable
Policy-Post-v1-00012
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} AddObjects ${1} ${objectDict}
${objectIds} Set Variable ${objectId1}
Log To Console Create IP Object
Comment 更新IP
${objectDict} Create Dictionary objectId=${objectId1} objectType=ip
${rescode} UpdateObjects ${1} ${objectDict} disable
Log To Console Create IP Object
Policy-Post-v1-00013
Comment 创建IP
${objectDict} Create Dictionary objectType=ip isValid=${0}
... isInitialize=0
... addItemList=range|192.168.41.68|192.168.41.68|0/0
${rescode} ${objectId1} AddObjects ${1} ${objectDict}
${objectIds} Set Variable ${objectId1}
Log To Console Create IP Object
${params} Create Dictionary objectId=${objectId1} itemType=ip
${rescode} ${itemIds} ${itemList} GetObjectItems ${params}
Log To Console ${itemIds}
Comment 更新IP
${len} Get Length ${itemList}
FOR ${index} IN ${len}
${index1} Evaluate int(${index})-1
Set To Dictionary ${itemList}[${index1}] clientIp1 192.168.41.67
Set To Dictionary ${itemList}[${index1}] clientIp2 192.168.41.67
Remove From Dictionary ${itemList}[${index1}] isInitialize
Set To Dictionary ${itemList}[${index1}] serverIp1 192.168.41.68
Set To Dictionary ${itemList}[${index1}] serverIp2 192.168.41.68
END
${objectDict} Create Dictionary objectId=${objectId1} objectType=ip
... updateItemList=${itemList}
${rescode} UpdateObjects ${1} ${objectDict} update
Log To Console Create IP Object
Policy-Post-v1-00014
Comment 创建urls
${objectDict1} Create Dictionary objectType=url isValid=${1} addItemList=*baidu.com,
${objectDict2} Create Dictionary objectType=url isValid=${1} addItemList=*google.com
${objectDict} Create List ${objectDict1} ${objectDict2}
${rescode} ${objectIds} AddObjects ${1} ${objectDict}
Policy-Post-v1-00015
Comment 创建urls
${objectDict1} Create Dictionary objectType=url isValid=${1} addItemList=*baidu.com,*google.com
${rescode} ${objectIds} AddObjects ${1} ${objectDict1}
${params} Create Dictionary objectId=${objectIds} itemType=url
${rescode} ${itemIds} ${itemList} GetObjectItems ${params}
Log To Console ${itemIds}
Comment 修改urls
${updateList} Create List *baidu.com* *baidu1.com*
Set To Dictionary ${itemList}[0] keywordArray ${updateList}
${objectDict} Create Dictionary objectId=${objectIds} objectType=url
... addItemList=putty.com
... updateItemList=${itemList}[0]
... deleteItemIds=${itemIds}[1]
${rescode} UpdateObjects ${1} ${objectDict} update
Policy-Delete-v1-00016
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-00011 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}
Comment 删除安全策略
${rescode} WxDeletePolicy1 ${policyIds[0]['policyIds']} tsg_security
${policyIds} Create List
Log ${rescode}
Policy-Delete-v1-00017
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-00011 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}
Comment 删除安全策略
${rescode} DeletePolicies ${policyIds}
${policyIds} Create List
Log ${rescode}