*** Settings *** Test Teardown DeletePolicyAndGroupObject ${policyIds} ${objectIds} 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/policy_object/Log.robot Resource ../../../02-Keyword/tsg_bfapi/Common.robot Resource ../../../03-Variable/ApplicationID.txt Library json Library DateTime *** Variables *** ${policyIds} ${EMPTY} ${objectIds} ${EMPTY} *** Test Cases *** Policy-DefaultDeny-00001 [Tags] xj xzw ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest policyId=0 ... action=allow ... userRegion={} ... effectiveRange={} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update Policy-DefaultDenyDropRST-00001 [Tags] xj xzw #deny drop ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest deny drop policyId=0 ... action=deny ... userRegion={"method":"drop"} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest deny rst policyId=0 ... action=deny ... userRegion={"method":"rst"} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest policyId=0 ... action=allow ... userRegion={} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update Policy-DefaultMonitor-00002 [Tags] xj xzw #deny drop ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest monitor policyId=0 ... action=monitor ... userRegion={} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update #恢复 ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest policyId=0 ... action=allow ... userRegion={} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update Policy-DefaultIntercept-00002 [Tags] xj xzw ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest intercept policyId=0 ... action=intercept ... userRegion={} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update #恢复 ${policy} Create Dictionary policyName=default policy policyType=tsg_security ... policyDesc=update-autotest policyId=0 ... action=allow ... userRegion=${EMPTY} ... doLog=0 ... isValid=${1} ${rescode} UpdatePolicies 1 ${policy} v2 update Policy-AllowURL+IP-00003 [Tags] xj xzw ${objectIds} Create List log ${TEST NAME} Comment 创建IP1 ${addItemList1} Create Dictionary isSession=endpoint ip=192.168.41.67-192.168.41.67 port=8080 isInitialize=0 #可以添加多个 ${addItemList2} Create Dictionary isSession=endpoint ip=192.168.41.68/32 port=0-65535 isInitialize=0 ${addItemList3} Create Dictionary isSession=endpoint ip=192.168.41.69 port=1-65535 isInitialize=0 ${addItemLists} Create list ${addItemList1} ${addItemList2} ${addItemList3} #objectList对象 ${objectDict} Create Dictionary objectType=ip objectSubType=endpoint isValid=${1} addItemList=${addItemLists} objectName=${TEST NAME}IP ${rescode} ${objectId2} AddObjects ${1} ${objectDict} #${objectIds} Set Variable ${objectId2} Append To List ${objectIds} ${objectId2} Log Create IP Object2 ${addItemList1} Create Dictionary keywordArray=11111.* #可以添加多个 ${addItemList2} Create Dictionary keywordArray=Afghanistan.Ab Jalil.* ${addItemList3} Create Dictionary keywordArray=12.* ${addItemLists} Create list ${addItemList1} ${addItemList2} ${addItemList3} #objectList对象 ${objectDict} Create Dictionary objectType=ip objectSubType=geo_location isValid=${1} addItemList=${addItemLists} objectName=${TEST NAME}GEO ${rescode} ${objectId1} AddObjects ${1} ${objectDict} #${objectIds} Set Variable ${objectId1} Append To List ${objectIds} ${objectId1} Log Create IP Object1 Comment 创建url1 ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*google.com.com objectName=${TEST NAME}URL ${rescode} ${objectId4} AddObject2 ${1} ${objectDict} ${objectDict} Create Dictionary objectType=keywords isValid=${1} addItemList=стопо ${rescode} ${object_Content_Id} AddObject2 ${1} ${objectDict} #${objectIds} Set Variable ${objectId4},${objectIds} Append To List ${objectIds} ${object_Content_Id} Log Create url Object4 Comment 创建安全策略 ${policy} Create Dictionary policyName=${TEST NAME} policyType=tsg_security ... policyDesc=${TEST NAME} ... action=allow effectiveRange={} ... userRegion={"protocol":"HTTP"} ... source=${objectId2}|TSG_SECURITY_SOURCE_ADDR,${objectId1}|TSG_SECURITY_SOURCE_LOCATION ... filterList=${objectId4}|TSG_FIELD_HTTP_URL ... isValid=${1} ... appIdObjects=${HTTP_ID} ${rescode} ${policyIds} AddPolicies 1 ${policy} v2 Log ${rescode} log ${policyIds} ${ids} Get-Pids ${policyIds} Policy-AllowURL-00004 [Tags] xj xzw ${objectIds} Create List log ${TEST NAME} Comment 创建url1 ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*google.com.com objectName=${TEST NAME}URL ${rescode} ${objectId4} AddObject2 ${1} ${objectDict} #${objectIds} Set Variable ${objectId4} Append To List ${objectIds} ${objectId4} Log Create url Object4 Comment 创建安全策略 ${policy} Create Dictionary policyName=${TEST NAME} policyType=tsg_security ... policyDesc=wx-autotest ... action=allow effectiveRange={} ... userRegion={"protocol":"HTTP"} ... filterList=${objectId4}|TSG_FIELD_HTTP_URL ... isValid=${1} appIdObjects=${HTTP_ID} ${rescode} ${policyIds} AddPolicies 1 ${policy} v2 Log ${rescode} Policy-AllowIP-00005 [Tags] xj xzw ${objectIds} Create List log ${TEST NAME} Comment 创建IP1 ${addItemList1} Create Dictionary isSession=endpoint ip=192.168.41.67-192.168.41.67 port=8080 isInitialize=0 #可以添加多个 ${addItemList2} Create Dictionary isSession=endpoint ip=192.168.41.68/32 port=0-65535 isInitialize=0 ${addItemList3} Create Dictionary isSession=endpoint ip=192.168.41.69 port=1-65535 isInitialize=0 ${addItemLists} Create list ${addItemList1} ${addItemList2} ${addItemList3} #objectList对象 ${objectDict} Create Dictionary objectType=ip objectSubType=endpoint isValid=${1} addItemList=${addItemLists} objectName=${TEST NAME}IP ${rescode} ${objectId2} AddObjects ${1} ${objectDict} #${objectIds} Set Variable ${objectId2} Append To List ${objectIds} ${objectId2} Log Create IP Object2 Comment 创建安全策略 ${policy} Create Dictionary policyName=${TEST NAME} policyType=tsg_security ... policyDesc=wx-autotest ... action=allow effectiveRange={} ... userRegion={} ... source=${objectId2}|TSG_SECURITY_SOURCE_ADDR ... isValid=${1} ${rescode} ${policyIds} AddPolicies 1 ${policy} v2 Log ${rescode} Policy-AllowDestinationIP-00006 [Tags] xj xzw ${objectIds} Create List log ${TEST NAME} Comment 创建IP1 ${addItemList1} Create Dictionary isSession=endpoint ip=a1::b1 port=8080 isInitialize=0 #可以添加多个 ${addItemList2} Create Dictionary isSession=endpoint ip=a2::f2/32 port=0-65535 isInitialize=0 ${addItemList3} Create Dictionary isSession=endpoint ip=a5::f5 port=1-65535 isInitialize=0 ${addItemLists} Create list ${addItemList1} ${addItemList2} ${addItemList3} #objectList对象 ${objectDict} Create Dictionary objectType=ip objectSubType=endpoint isValid=${1} addItemList=${addItemLists} objectName=${TEST NAME}IP ${rescode} ${objectId2} AddObjects ${1} ${objectDict} #${objectIds} Set Variable ${objectId2} Append To List ${objectIds} ${objectId2} Log Create IP Object2 Comment 创建安全策略 ${policy} Create Dictionary policyName=${TEST NAME} policyType=tsg_security ... policyDesc=wx-autotest ... action=allow effectiveRange={} ... userRegion={"protocol":"HTTP"} ... destination=${objectId2}|TSG_SECURITY_DESTINATION_ADDR ... isValid=${1} appIdObjects=${HTTP_ID} ${rescode} ${policyIds} AddPolicies 1 ${policy} v2 Log ${rescode} Policy-DenyDropOnlySDA-00007 [Tags] xj xzw ${objectIds} Create List log ${TEST NAME} Comment 创建IP ${addItemList1} Create Dictionary isSession=endpoint ip=192.168.41.67-192.168.41.67 port=8080 isInitialize=0 #可以添加多个 ${addItemList2} Create Dictionary isSession=endpoint ip=192.168.41.68/32 port=0-65535 isInitialize=0 ${addItemList3} Create Dictionary isSession=endpoint ip=192.168.41.69 port=1-65535 isInitialize=0 ${addItemLists} Create list ${addItemList1} ${addItemList2} ${addItemList3} #objectList对象 ${objectDict} Create Dictionary objectType=ip objectSubType=endpoint isValid=${1} addItemList=${addItemLists} objectName=${TEST NAME}IP ${rescode} ${objectId1} AddObjects ${1} ${objectDict} #${objectIds} Set Variable ${objectId1} Append To List ${objectIds} ${objectId1} Log Create IP Object ${policy} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlySource action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"drop"} ... source=${objectId1}|TSG_SECURITY_SOURCE_ADDR ${policy1} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyDestination action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"drop"} ... destination=${objectId1}|TSG_SECURITY_DESTINATION_ADDR ${policy2} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppHttp action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"drop","protocol":"http"} ... appIdObjects=${HTTP_ID} ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*google.com.com objectName=${TEST NAME}URL ${rescode} ${objectId4} AddObject2 ${1} ${objectDict} #${objectIds} Set Variable ${objectId4},${objectId1} Append To List ${objectIds} ${objectId4} ${policy3} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppHttp action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"drop","protocol":"http"} ... appIdObjects=${HTTP_ID} ... filterList=${objectId4}|TSG_FIELD_HTTP_URL ${policy4} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppSSL action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"drop"} ... appIdObjects=${HTTP_ID},${DNS_ID},${SSL_ID} @{policyList} Create List ${policy} ${policy1} ${policy2} ${policy3} ${policy4} ${rescode} ${policyIds} AddPolicies 1 ${policyList} v2 Log ${rescode} ${policyIds} ${objectIds} Policy-DenyRstOnlySDA-00008 [Tags] xj xzw ${objectIds} Create List log ${TEST NAME} Comment 创建IP ${addItemList1} Create Dictionary isSession=endpoint ip=a1::b1 port=8080 isInitialize=0 #可以添加多个 ${addItemList2} Create Dictionary isSession=endpoint ip=a2::f2/128 port=0-65535 isInitialize=0 ${addItemList3} Create Dictionary isSession=endpoint ip=a5::f5 port=1-65535 isInitialize=0 ${addItemLists} Create list ${addItemList1} ${addItemList2} ${addItemList3} #objectList对象 ${objectDict} Create Dictionary objectType=ip objectSubType=endpoint isValid=${1} addItemList=${addItemLists} objectName=${TEST NAME}IP ${rescode} ${objectId1} AddObjects ${1} ${objectDict} #${objectIds} Set Variable ${objectId1} Append To List ${objectIds} ${objectId1} Log Create IP Object ${policy} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlySource action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"rst"} ... source=${objectId1}|TSG_SECURITY_SOURCE_ADDR ${policy1} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyDestination action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"rst"} ... destination=${objectId1}|TSG_SECURITY_DESTINATION_ADDR ${policy2} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppHttp action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"rst","protocol":"http"} ... appIdObjects=${HTTP_ID} ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*google.com.com objectName=${TEST NAME}URL ${rescode} ${objectId4} AddObject2 ${1} ${objectDict} #${objectIds} Set Variable ${objectId4},${objectId1} Append To List ${objectIds} ${objectId4} ${policy3} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppHttp action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"rst","protocol":"http"} ... appIdObjects=${HTTP_ID} ... filterList=${objectId4}|TSG_FIELD_HTTP_URL ${policy4} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppSSL action=deny doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"method":"rst"} ... appIdObjects=${HTTP_ID},${FTP_ID},${SSL_ID} #... appIdObjects=${HTTP_ID},${DNS_ID},${SSL_ID} @{policyList} Create List ${policy} ${policy1} ${policy2} ${policy3} ${policy4} ${rescode} ${policyIds} AddPolicies 1 ${policyList} v2 Log ${rescode} ${policyIds} ${objectIds} Policy-MonitorOnlySDA-00009 [Tags] xj xzw ${objectIds} Create List log ${TEST NAME} Comment 创建IP ${addItemList1} Create Dictionary isSession=endpoint ip=192.168.41.67-192.168.41.67 port=8080 isInitialize=0 #可以添加多个 ${addItemList2} Create Dictionary isSession=endpoint ip=192.168.41.68/32 port=0-65535 isInitialize=0 ${addItemList3} Create Dictionary isSession=endpoint ip=192.168.41.69 port=1-65535 isInitialize=0 ${addItemLists} Create list ${addItemList1} ${addItemList2} ${addItemList3} #objectList对象 ${objectDict} Create Dictionary objectType=ip objectSubType=endpoint isValid=${1} addItemList=${addItemLists} objectName=${TEST NAME}IP ${rescode} ${objectId1} AddObjects ${1} ${objectDict} #${objectIds} Set Variable ${objectId1} Append To List ${objectIds} ${objectId1} Log Create IP Object ${policy} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlySource action=monitor doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={} ... source=${objectId1}|TSG_SECURITY_SOURCE_ADDR ${policy1} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyDestination action=monitor doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={} ... destination=${objectId1}|TSG_SECURITY_DESTINATION_ADDR ${policy2} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppHttp action=monitor doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"protocol":"http"} ... appIdObjects=${HTTP_ID} ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*google.com.com objectName=${TEST NAME}URL ${rescode} ${objectId4} AddObject2 ${1} ${objectDict} #${objectIds} Set Variable ${objectId4},${objectId1} Append To List ${objectIds} ${objectId4} ${policy3} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppHttp action=monitor doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={"protocol":"http"} ... appIdObjects=${HTTP_ID} ... filterList=${objectId4}|TSG_FIELD_HTTP_URL ${policy4} Create Dictionary policyType=tsg_security ... policyName=${TEST NAME}_OnlyAppSSL action=monitor doBlacklist=0 ... doLog=1 isValid=1 ... userRegion={} ... appIdObjects=${HTTP_ID},${DNS_ID},${SSL_ID} @{policyList} Create List ${policy} ${policy1} ${policy2} ${policy3} ${policy4} ${rescode} ${policyIds} AddPolicies 1 ${policyList} v2 Log ${rescode} ${policyIds} ${objectIds} log ${policyIds} ${ids} Get-Pids ${policyIds}