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/setting/VerifyProxy.robot
2020-08-03 14:47:23 +08:00

808 lines
94 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*** Settings ***
Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
Force Tags tsg_bf_api Trusted_Certificate_Authorities
Library String
Library OperatingSystem
Library Selenium2Library
Library Collections
Resource ../../../02-Keyword/tsg_bfapi/Common.robot
Resource ../../../02-Keyword/tsg_bfapi/policy_file_interface/FunctionalKeywords.robot
Resource ../../../03-Variable/BifangApiVariable.txt
Library OperatingSystem
Resource ../../../02-Keyword/tsg_adc/SystemCommand.robot
Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot
Resource ../../../02-Keyword/tsg_bfapi/LogVariable.robot
Resource ../../../02-Keyword/tsg_bfapi/ApiRequest.robot
Resource ../../../03-Variable/AllFlowCaseVariable.txt
Resource ../../../03-Variable/Policy_Objects_Module.txt
Library Custometest
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
Library json
Library DateTime
*** Variables ***
${url} /v1/policy/profile/trustedcacertobj
${certId} ${EMPTY}
*** Test Cases ***
VerifyProxy-Security-00001
# 新增 对象
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwqweqw","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"0","clientPort2":"65535","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1596177068}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
# 创建目的ip
${rescodeip} ${object_Destination_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"1231231231231","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"254.253.252.251","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"254.253.252.251","clientIp2":"254.253.252.251","clientPort1":"0","clientPort2":"65535","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1596176949}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Destination_Id}
#创建subid
${rescodeip} ${object_SubId_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"subscriberid","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"subid","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$test25"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_SubId_Id}
#创建 SNI
${rescodeip} ${object_SNI_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"sni","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$verifytest"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_SNI_Id}
# 创建SAN
${rescodeip} ${object_SAN_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"SAN","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["*verify.com"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_SAN_Id}
# 创建 CN
${rescodeip} ${object_CN_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"cn","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$verifytest.com"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_CN_Id}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","returnData":1,"policyList":{"policyId":"","policyName":"VerifyProxy-Security-00001","policyType":"tsg_security","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"SSL"},"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"},{"objectId":${object_SubId_Id},"protocolField":null}],"destination":[{"objectId":${object_Destination_Id},"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}],"filterList":[{"filter":[{"objectId":${object_SNI_Id},"protocolField":"TSG_FIELD_SSL_SNI"}]},{"filter":[{"objectId":${object_CN_Id},"protocolField":"TSG_FIELD_SSL_CN"}]},{"filter":[{"objectId":${object_SAN_Id},"protocolField":"TSG_FIELD_SSL_SAN"}]}],"appIdObjects":[3],"isValid":1,"scheduleId":[]}}
# log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# 获取策略id
log ${policyIds}
sleep 30
# 新增策略验证
# 创建attributes中的字典
${sni} Create Dictionary attributeType=string attributeName=sni protocol=ssl attributeValue={"string": "verifytest"}
${san} Create Dictionary attributeType=string attributeName=san protocol=ssl attributeValue={"string": "verify.com"}
${cn} Create Dictionary attributeType=string attributeName=cn protocol=ssl attributeValue={"string": "verifytest.com"}
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "ssl."}
${subscriberid} Create Dictionary attributeType=string attributeName=subscriberid attributeValue={"string": "test25"}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip":"192.168.50.25","port":"1","addrType":4,"protocol":"6","tableName":"TSG_SECURITY_SOURCE_ADDR"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip":"254.253.252.251","port":"1","addrType":4,"protocol":"6","tableName":"TSG_SECURITY_DESTINATION_ADDR"}
# 合成attributes字典集
${attributes} Create List ${sni} ${san} ${cn} ${app_id} ${subscriberid} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
log ${verifyList}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# ${objectids} Create List ${object_Source_Id} ${object_Destination_Id} ${object_SubId_Id} ${object_SNI_Id} ${object_SAN_Id} ${object_CN_Id} ${policyId}
# # 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
log 1111111111111111${objectid_verify}
log 222222222222222${resData}
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00002
# 新增 对象
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zmmtest","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"fc00::2:25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"fc00::2:25","clientIp2":"fc00::2:25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":6,"direction":0,"temporaryItemId":1595474423}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
#创建 ip二层嵌套
# 创建源 ip
${rescodeip} ${object_Source_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[${object_Source_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Source_Id_2}
# 创建url
${rescodeip} ${object_URL_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"1231212","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["verifytest"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
# 创建url二层嵌套
${rescodeip} ${object_URL_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqewq","objectDesc":"","subObjectIds":[${object_URL_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id_2}
#创建Host
${rescodeip} ${object_Host_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn_category","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["*verify.com"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Host_Id}
# 创建url二层嵌套
${rescodeip} ${object_Host_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn_category","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[${object_Host_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Host_Id_2}
#创建 Request Content
${rescodeip} ${object_Request_Content_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123112","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["verifytest*"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Request_Content_Id}
#创建 Request Content二层嵌套
${rescodeip} ${object_Request_Content_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123112","objectDesc":"","subObjectIds":[${object_Request_Content_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Request_Content_Id_2}
# 创建Response Content
${rescodeip} ${object_Response_Content_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"wwqwqwqwq","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["verifytest"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Response_Content_Id}
# 创建Response Content 二层嵌套
${rescodeip} ${object_Response_Content_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"wwqwqwqwq","objectDesc":"","subObjectIds":[${object_Response_Content_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Response_Content_Id_2}
# 创建Request Header
${rescodeip} ${object_Request_Header_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123131","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$verifytest"],"isHexbin":0,"district":"User-Agent"},{"keywordArray":["verify"],"isHexbin":0,"district":"Cookie"}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Request_Header_Id}
# 创建Request Header 二层嵌套
${rescodeip} ${object_Request_Header_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123131","objectDesc":"","subObjectIds":[${object_Request_Header_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Request_Header_Id_2}
# 创建Response_Header
${rescodeip} ${object_Response_Header_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123123123","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$verifytest"],"isHexbin":0,"district":"Set-Cookie"},{"keywordArray":["test"],"isHexbin":0,"district":"Content-Type"}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Response_Header_Id}
# 创建Response_Header 二层嵌套
${rescodeip} ${object_Response_Header_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123123123","objectDesc":"","subObjectIds":[${object_Response_Header_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Response_Header_Id_2}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","returnData":1,"policyList":{"policyId":"","policyName":"VerifyProxy-Security-00002","policyType":"tsg_security","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"HTTP"},"source":[{"objectId":${object_Source_Id_2},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[{"filter":[{"objectId":${object_URL_Id_2},"protocolField":"TSG_FIELD_HTTP_URL"}]},{"filter":[{"objectId":${object_Host_Id_2},"protocolField":"TSG_FIELD_HTTP_HOST"}]},{"filter":[{"objectId":${object_Request_Content_Id_2},"protocolField":"TSG_FIELD_HTTP_REQ_CONTENT"}]},{"filter":[{"objectId":${object_Response_Content_Id_2},"protocolField":"TSG_FIELD_HTTP_RES_CONTENT"}]},{"filter":[{"objectId":${object_Request_Header_Id_2},"protocolField":"TSG_FIELD_HTTP_REQ_HDR"}]},{"filter":[{"objectId":${object_Response_Header_Id_2},"protocolField":"TSG_FIELD_HTTP_RES_HDR"}]}],"appIdObjects":[2],"isValid":1,"scheduleId":[]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 30
# # 新增策略验证
# 创建attributes中的字典
${url} Create Dictionary attributeType=string attributeName=url protocol=http attributeValue={"string": "verifytest"}
${host} Create Dictionary attributeType=string attributeName=host protocol=http attributeValue={"string": "verify.com"}
${req_body} Create Dictionary attributeType=string attributeName=req_body protocol=http attributeValue={"string": "verifytest"}
${res_body} Create Dictionary attributeType=string attributeName=res_body protocol=http attributeValue={"string": "verifytest"}
${req_hdr_ua} Create Dictionary attributeType=signature attributeName=req_hdr protocol=http attributeValue={"string": "verifytest","district": "User-Agent"}
${req_hdr_ck} Create Dictionary attributeType=signature attributeName=req_hdr protocol=http attributeValue={"string": "verify","district": "Cookie"}
${res_hdr_sc} Create Dictionary attributeType=signature attributeName=res_hdr protocol=http attributeValue={"string": "verifytest","district": "Set-Cookie"}
${res_hdr_ct} Create Dictionary attributeType=signature attributeName=res_hdr protocol=http attributeValue={"string": "test","district": "Content-Type"}
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "http."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "fc00::2:25","port": "80","tableName":"TSG_SECURITY_SOURCE_ADDR","addrType": 6,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "fc00::2:25","port": "80","tableName":"TSG_SECURITY_DESTINATION_ADDR","addrType": 6,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${url} ${host} ${req_body} ${res_body} ${req_hdr_ua} ${req_hdr_ck} ${res_hdr_sc} ${res_hdr_ct} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
log 111111111111111111111111111111
log ${verifyList}
log 11111111111111111111111111111
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00003
# 新增 对象
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595312834}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
#创建 ip二层嵌套
${rescodeip} ${object_Source_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[${object_Source_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Source_Id_2}
#创建 ip三层嵌套
${rescodeip} ${object_Source_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[${object_Source_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Source_Id_3}
# 创建目的ip
${rescodeip} ${object_Destination_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"252.252.252.252","ipIf":false,"portIf":false,"port":"443","itemId":"","clientIp1":"252.252.252.252","clientIp2":"252.252.252.252","clientPort1":"443","clientPort2":"443","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595313199}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Destination_Id}
#创建 目的ip二层嵌套
${rescodeip} ${object_Destination_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Destination_Id_2}
#创建 目的ip三层嵌套
${rescodeip} ${object_Destination_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Destination_Id_3}
# 创建 QNAME:FQDN
${rescodeip} ${object_QNAME_FQDN_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"QNAME_FQDN","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$verify"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_CN_Id}
# 创建 QNAME:FQDN 二层嵌套
${rescodeip} ${object_QNAME_FQDN_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"QNAME_FQDN","objectDesc":"","subObjectIds":[${object_QNAME_FQDN_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_QNAME_FQDN_Id_2}
# 创建 QNAME:FQDN 三层嵌套
${rescodeip} ${object_QNAME_FQDN_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"QNAME_FQDN","objectDesc":"","subObjectIds":[${object_QNAME_FQDN_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_QNAME_FQDN_Id_3}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","returnData":1,"policyList":{"policyId":"","policyName":"asfafsadfa","policyType":"tsg_security","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"DNS"},"source":[{"objectId":${object_Source_Id_3},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[{"objectId":${object_Destination_Id_3},"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}],"filterList":[{"filter":[{"objectId":${object_QNAME_FQDN_Id_3},"protocolField":"TSG_FIELD_DNS_QNAME"}]}],"appIdObjects":[4],"isValid":1,"scheduleId":[]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${qname_fqdn_id} Create Dictionary attributeType=string attributeName=qname protocol=dns attributeValue={"string": "verify"}
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "dns."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "252.252.252.252","port": "443","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${qname_fqdn_id} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00005
# 创建目的ip
${rescodeip} ${object_Destination_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"11.11.11.11","ipIf":false,"portIf":false,"port":"11","itemId":"","clientIp1":"11.11.11.11","clientIp2":"11.11.11.11","clientPort1":"11","clientPort2":"11","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595313199}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id}
# 创建 目的ip 二层嵌套
${rescodeip} ${object_Destination_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id_2}
# 创建 目的ip 三层嵌套
${rescodeip} ${object_Destination_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id_3}
# 创建 目的ip 四层嵌套
${rescodeip} ${object_Destination_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id_4}
# 创建 Subject
${rescodeip} ${object_Subject_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Subject_Id}
# 创建 Subject 二层嵌套
${rescodeip} ${object_Subject_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Subject_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Subject_Id_2}
# 创建 Subject 三层嵌套
${rescodeip} ${object_Subject_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Subject_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Subject_Id_3}
# 创建 Subject 四层嵌套
${rescodeip} ${object_Subject_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Subject_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Subject_Id_4}
# 创建 Content
${rescodeip} ${object_Content_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"1221321","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id}
# 创建 Subject 二层嵌套
${rescodeip} ${object_Content_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Content_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id_2}
# 创建 Subject 三层嵌套
${rescodeip} ${object_Content_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Content_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id_3}
# 创建 Subject 四层嵌套
${rescodeip} ${object_Content_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Content_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id_4}
# 创建 Attachment Name
${rescodeip} ${object_Attachment_Name_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Name_Id}
# 创建Attachment Name 二层嵌套
${rescodeip} ${object_Attachment_Name_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Attachment_Name_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Name_Id_2}
# 创建 Attachment Name 三层嵌套
${rescodeip} ${object_Attachment_Name_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Attachment_Name_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Name_Id_3}
# 创建 Attachment Name 四层嵌套
${rescodeip} ${object_Attachment_Name_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Attachment_Name_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Name_Id_4}
# 创建 Attachment Content
${rescodeip} ${object_Attachment_Content} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Content}
# 创建 Attachment Content 二层嵌套
${rescodeip} ${object_Attachment_Content_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Attachment_Content_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Content_Id_2}
# 创建 Attachment Content 三层嵌套
${rescodeip} ${object_Attachment_Content_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Attachment_Content_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Content_Id_3}
# 创建Attachment Content 四层嵌套
${rescodeip} ${object_Attachment_Content_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_Attachment_Content_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Attachment_Content_Id_4}
# 创建 From
${rescodeip} ${object_From_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqeq","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_From_Id}
# 创建From 二层嵌套
${rescodeip} ${object_From_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_From_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_From_Id_2}
# 创建From 三层嵌套
${rescodeip} ${object_From_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_From_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_From_Id_3}
# 创建From 四层嵌套
${rescodeip} ${object_From_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_From_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_From_Id_4}
# 创建To
${rescodeip} ${object_To_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqeq","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_To_Id}
# 创建To 二层嵌套
${rescodeip} ${object_To_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_To_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_To_Id_2}
# 创建 To 三层嵌套
${rescodeip} ${object_To_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_To_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_To_Id_3}
# 创建To 四层嵌套
${rescodeip} ${object_To_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwe","objectDesc":"","subObjectIds":[${object_To_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_To_Id_4}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"zxcvzxcvxz","policyType":"tsg_security","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"MAIL"},"source":[],"destination":[{"objectId":${object_Destination_Id_4},"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}],"filterList":[{"filter":[{"objectId":${object_Subject_Id_4},"protocolField":"TSG_FIELD_MAIL_SUBJECT"}]},{"filter":[{"objectId":${object_Content_Id_4},"protocolField":"TSG_FIELD_MAIL_CONTENT"}]},{"filter":[{"objectId":${object_Attachment_Name_Id_4},"protocolField":"TSG_FIELD_MAIL_ATT_NAME"}]},{"filter":[{"objectId":${object_Attachment_Content_4},"protocolField":"TSG_FIELD_MAIL_ATT_CONTENT"}]},{"filter":[{"objectId":${object_From_Id_4},"protocolField":"TSG_FIELD_MAIL_FROM"}]},{"filter":[{"objectId":${object_To_Id_4},"protocolField":"TSG_FIELD_MAIL_TO"}]}],"appIdObjects":[5],"isValid":0,"scheduleId":[]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${subject_id} Create Dictionary attributeType=string attributeName=subject protocol=mail attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${content_id} Create Dictionary attributeType=string attributeName=content protocol=mail attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${att_name_id} Create Dictionary attributeType=string attributeName=att_name protocol=mail attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${att_content_id} Create Dictionary attributeType=string attributeName=att_content protocol=mail attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${from_id} Create Dictionary attributeType=string attributeName=from protocol=mail attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${to_id} Create Dictionary attributeType=string attributeName=to protocol=mail attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${app_id} Create Dictionary attributeType=string attributeName=app_id protocol=mail attributeValue={"string": "mail."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "11.11.11.11","port": "11","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "11.11.11.11","port": "11","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${subject_id} ${content_id} ${att_name_id} ${att_content_id} ${from_id} ${to_id} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00006
# 创建 目的ip
${rescodeip} ${object_Destination_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"11.11.11.11","ipIf":false,"portIf":false,"port":"11","itemId":"","clientIp1":"11.11.11.11","clientIp2":"11.11.11.11","clientPort1":"11","clientPort2":"11","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595313199}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id}
# 创建 目的ip 二层嵌套
${rescodeip} ${object_Destination_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id_2}
# 创建 目的ip 三层嵌套
${rescodeip} ${object_Destination_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id_3}
# 创建 目的ip 四层嵌套
${rescodeip} ${object_Destination_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[${object_Destination_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id_4}
# 创建 Account
${rescodeip} ${object_Account_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqeq","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id}
# 创建 Account 二层嵌套
${rescodeip} ${object_Account_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqeq","objectDesc":"","subObjectIds":[${object_Account_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id_2}
# 创建 Account 三层嵌套
${rescodeip} ${object_Account_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqeq","objectDesc":"","subObjectIds":[${object_Account_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id_3}
# 创建 Account 四层嵌套
${rescodeip} ${object_Account_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqeq","objectDesc":"","subObjectIds":[${object_Account_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id_4}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"qweqwewq","policyType":"tsg_security","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"MAIL"},"source":[],"destination":[{"objectId":${object_Destination_Id_4},"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}],"filterList":[{"filter":[{"objectId":${object_Account_Id_4},"protocolField":"TSG_FIELD_MAIL_ACCOUNT"}]}],"appIdObjects":[5],"isValid":0,"scheduleId":[]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${account_id} Create Dictionary attributeType=string attributeName=account protocol=mail attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${app_id} Create Dictionary attributeType=string attributeName=app_id protocol=mail attributeValue={"string": "mail."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "11.11.11.11","port": "11","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "11.11.11.11","port": "11","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${account_id} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00007
# 新增 对象
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zmmtest","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595474423}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
#创建 ip 二层嵌套
${rescodeip} ${object_Source_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[${object_Source_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Source_Id_2}
#创建 ip 三层嵌套
${rescodeip} ${object_Source_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[${object_Source_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Source_Id_3}
#创建 ip 四层嵌套
${rescodeip} ${object_Source_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[${object_Source_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Source_Id_4}
#创建 ip 五层嵌套
${rescodeip} ${object_Source_Id_5} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"source","objectDesc":"","subObjectIds":[${object_Source_Id_4}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Source_Id_5}
# 创建url
${rescodeip} ${object_URL_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123131","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
# 创建url 二层嵌套
${rescodeip} ${object_URL_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqewq","objectDesc":"","subObjectIds":[${object_URL_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id_2}
# 创建url 三层嵌套
${rescodeip} ${object_URL_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqewq","objectDesc":"","subObjectIds":[${object_URL_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id_3}
# 创建url 四层嵌套
${rescodeip} ${object_URL_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqewq","objectDesc":"","subObjectIds":[${object_URL_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id_4}
# 创建url 五层嵌套
${rescodeip} ${object_URL_Id_5} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwewqewq","objectDesc":"","subObjectIds":[${object_URL_Id_4}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id_5}
#创建Content
${rescodeip} ${object_Content_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"23423423","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id}
# 创建Content 二层嵌套
${rescodeip} ${object_Content_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[${object_Content_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id_2}
# 创建Content 三层嵌套
${rescodeip} ${object_Content_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[${object_Content_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id_3}
# 创建Content 四层嵌套
${rescodeip} ${object_Content_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[${object_Content_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id_4}
# 创建Content 五层嵌套
${rescodeip} ${object_Content_Id_5} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[${object_Content_Id_4}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Content_Id_5}
#创建 Account
${rescodeip} ${object_Account_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"23131123","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id}
#创建Account 二层嵌套
${rescodeip} ${object_Account_Id_2} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123112","objectDesc":"","subObjectIds":[${object_Account_Id}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id_2}
#创建Account 三层嵌套
${rescodeip} ${object_Account_Id_3} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123112","objectDesc":"","subObjectIds":[${object_Account_Id_2}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id_3}
#创建Account 四层嵌套
${rescodeip} ${object_Account_Id_4} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123112","objectDesc":"","subObjectIds":[${object_Account_Id_3}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id_4}
#创建Account 五层嵌套
${rescodeip} ${object_Account_Id_5} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"account","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123112","objectDesc":"","subObjectIds":[${object_Account_Id_4}],"addItemList":[],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Account_Id_5}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-00007","policyType":"tsg_security","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"FTP"},"source":[{"objectId":${object_Source_Id_5},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[{"filter":[{"objectId":${object_URL_Id_5},"protocolField":"TSG_FIELD_FTP_URI"}]},{"filter":[{"objectId":${object_Content_Id_5},"protocolField":"TSG_FIELD_FTP_CONTENT"}]},{"filter":[{"objectId":${object_Account_Id_5},"protocolField":"TSG_FIELD_FTP_ACCOUNT"}]}],"appIdObjects":[6],"isValid":1,"scheduleId":[]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${url} Create Dictionary attributeType=string attributeName=url protocol=ftp attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${Content} Create Dictionary attributeType=string attributeName=content protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${Account} Create Dictionary attributeType=string attributeName=account protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "ftp."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${url} ${Content} ${Account} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00008
# 新增 对象
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zmmtest","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595474423}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
# 获取对象id集合
log ${objectids}
# 新增策略 1
${rescode} ${policyId1} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000081","policyType":"tsg_security","action":"allow","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"SSL"},"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[3],"isValid":1,"scheduleId":[]}}
log ${policyId}
# 新增策略 2
${rescode} ${policyId2} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000082","policyType":"tsg_security","action":"deny","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"SSL","method":"drop"},"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[3],"isValid":1,"scheduleId":[]}}
log ${policyId}
# 新增策略 3
${rescode} ${policyId3} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000083","policyType":"tsg_security","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"SSL"},"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[3],"isValid":1,"scheduleId":[]}}
log ${policyId}
# 新增策略 4
${rescode} ${policyId4} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000084","policyType":"tsg_security","action":"intercept","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}},"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[3],"isValid":1,"scheduleId":[]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId1},${policyId2},${policyId3},${policyId4}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "ssl."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId1}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId2}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId3}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId4}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00009
# 新增 对象
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zmmtest","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595474423}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
#创建subid
${rescodeip} ${object_SubId_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"subscriberid","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"subid","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$test25"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_SubId_Id}
# 创建目的ip
${rescodeip} ${object_Destination_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"252.252.252.252 ","ipIf":false,"portIf":false,"port":"443","itemId":"","clientIp1":"252.252.252.252 ","clientIp2":"252.252.252.252 ","clientPort1":"43","clientPort2":"43","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595313199}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Destination_Id}
# 创建url
${rescodeip} ${object_URL_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"url","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"1231212","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_URL_Id}
#创建Host
${rescodeip} ${object_Host_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn_category","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$verify.test"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Host_Id}
# 创建Request Header
${rescodeip} ${object_Request_Header_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123131","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"district":"Cookie"}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Request_Header_Id}
# 创建Response_Header
${rescodeip} ${object_Response_Header_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123123123","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"district":"Set-Cookie"}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Response_Header_Id}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"sakdfhsjkdahfaskdfjsah","policyType":"pxy_manipulation","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"monitor","protocol":"HTTP"},"isValid":0,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"},{"objectId":${object_SubId_Id},"protocolField":null}],"destination":[{"objectId":${object_Destination_Id},"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}],"filterList":[{"filter":[{"objectId":${object_URL_Id},"protocolField":"TSG_FIELD_HTTP_URL"}]},{"filter":[{"objectId":${object_Host_Id},"protocolField":"TSG_FIELD_HTTP_HOST"}]},{"filter":[{"objectId":${object_Request_Header_Id},"protocolField":"TSG_FIELD_HTTP_REQ_HDR"}]},{"filter":[{"objectId":${object_Response_Header_Id},"protocolField":"TSG_FIELD_HTTP_RES_HDR"}]}],"appIdObjects":[2]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${url} Create Dictionary attributeType=string attributeName=url protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${host} Create Dictionary attributeType=string attributeName=host protocol=http attributeValue={"string": "$verify.test"}
${req_hdr_ck} Create Dictionary attributeType=signature attributeName=req_hdr protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂","district": "Cookie"}
${res_hdr_sc} Create Dictionary attributeType=signature attributeName=res_hdr protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂","district": "Set-Cookie"}
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "http."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "252.252.252.252","port": "443","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${url} ${host} ${req_hdr_ck} ${res_hdr_sc} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00010
# 创建目的ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zccxcxczxcc","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"fc00::2:25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"fc00::2:25","clientIp2":"fc00::2:25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":6,"direction":0,"temporaryItemId":1595846725}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
# 创建Request Header
${rescodeip} ${object_Request_Header_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123131","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"district":"User-Agent"}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Request_Header_Id}
# 创建Response_Header
${rescodeip} ${object_Response_Header_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"http_signature","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123123123","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"district":"Content-Type"}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Response_Header_Id}
#创建 Request Content
${rescodeip} ${object_Request_Content_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"123123112","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Request_Content_Id}
# 创建Response Content
${rescodeip} ${object_Response_Content_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"keywords","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"wwqwqwqwq","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"],"isHexbin":0,"itemId":""}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Response_Content_Id}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Proxy-00010","policyType":"pxy_manipulation","action":"monitor","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"monitor","protocol":"HTTP"},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[{"filter":[{"objectId":${object_Request_Header_Id},"protocolField":"TSG_FIELD_HTTP_REQ_HDR"}]},{"filter":[{"objectId":${object_Response_Header_Id},"protocolField":"TSG_FIELD_HTTP_RES_HDR"}]},{"filter":[{"objectId":${object_Request_Content_Id},"protocolField":"TSG_FIELD_HTTP_REQ_CONTENT"}]},{"filter":[{"objectId":${object_Response_Content_Id},"protocolField":"TSG_FIELD_HTTP_RES_CONTENT"}]}],"appIdObjects":[2]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${req_body} Create Dictionary attributeType=string attributeName=req_body protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${res_body} Create Dictionary attributeType=string attributeName=res_body protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂"}
${req_hdr_ua} Create Dictionary attributeType=signature attributeName=req_hdr protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂","district": "User-Agent"}
${res_hdr_ct} Create Dictionary attributeType=signature attributeName=res_hdr protocol=http attributeValue={"string": "①②③🍀⚡🔥♠♣♧øØπ¯―﹨ˆ˜﹍﹎º¹²³⇚⇛♐✐✎✍ㄥㄦㄧㄨㄩыьэюяμτυφχψωāáǎàōó㊇㊈㊉☀ ☁ ☂","district": "Content-Type"}
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "http."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "fc00::2:25","port": "80","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 6,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "fc00::2:25","port": "80","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 6,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${req_body} ${res_body} ${req_hdr_ua} ${res_hdr_ct} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=pxy_manipulation verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00011
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zmmtest","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595474423}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
#创建Host
${rescodeip} ${object_Host_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn_category","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"asdfafa","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$verify.dns.com"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_Host_Id}
# 创建 QNAME:FQDN
${rescodeip} ${object_QNAME_FQDN_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"fqdn","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"QNAME_FQDN","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["verifytest"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}}
${objectids} Catenate SEPARATOR=, ${objectids} ${object_QNAME_FQDN_Id}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Proxy-00011","policyType":"pxy_manipulation","action":"manipulation","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"redirect","protocol":"DoH","resolution":[{"qtype":"A","answer":[{"atype":"A","value":"109.244.23.140","ttl":{"min":1,"max":1}}]}]},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[{"filter":[{"objectId":${object_Host_Id},"protocolField":"TSG_FIELD_DOH_HOST"}]},{"filter":[{"objectId":${object_QNAME_FQDN_Id},"protocolField":"TSG_FIELD_DOH_QNAME"}]}],"appIdObjects":[8]}}
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"pxy_manipulation","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${host} Create Dictionary attributeType=string attributeName=host protocol=DoH attributeValue={"string": "$verify.dns.com"}
${qname} Create Dictionary attributeType=string attributeName=qname protocol=DoH attributeValue={"string": "verifytest"}
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "DoH."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${host} ${qname} ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=pxy_manipulation verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00012
# 创建源 ip
${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"zmmtest","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595474423}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}}
${objectids} set Variable ${object_Source_Id}
# 获取对象id集合
log ${objectids}
# 新增策略
${rescode} ${policyId1} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000121","policyType":"pxy_manipulation","action":"allow","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"allow","protocol":"HTTP"},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[2]}}
log ${policyId1}
# 新增策略
${rescode} ${policyId2} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000122","policyType":"pxy_manipulation","action":"allow","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"allow","protocol":"HTTP"},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[2]}}
log ${policyId2}
# 新增策略
${rescode} ${policyId3} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000123","policyType":"pxy_manipulation","action":"allow","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"allow","protocol":"HTTP"},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[2]}}
log ${policyId3}
# 新增策略
${rescode} ${policyId4} AddPolicy {"opAction":"add","policyList":{"policyId":"","policyName":"VerifyProxy-Security-000124","policyType":"pxy_manipulation","action":"allow","userTags":"","doBlacklist":0,"doLog":2,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"allow","protocol":"HTTP"},"isValid":1,"objectIds":[],"objectList":[],"scheduleId":[],"source":[{"objectId":${object_Source_Id},"protocolField":"TSG_SECURITY_SOURCE_ADDR"}],"destination":[],"filterList":[],"appIdObjects":[2]}}
log ${policyId4}
#删除策略
${policyIds} Create List {"policyType":"pxy_manipulation","policyIds":[${policyId1},${policyId2},${policyId3},${policyId4}]}
# # 获取策略id
log ${policyIds}
sleep 20
# # 新增策略验证
# 创建attributes中的字典
${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "http."}
${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_SOURCE_ADDR","addrType": 4,"protocol": "6"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip": "192.168.50.25","port": "80","tableName": "TSG_SECURITY_DESTINATION_ADDR","addrType": 4,"protocol": "6"}
# 合成attributes字典集
${attributes} Create List ${app_id} ${ipsource} ${ipdestination}
${verifySession} Create Dictionary attributes=${attributes}
${verifyList} Create Dictionary policyType=pxy_manipulation verifySession=${verifySession}
${rescode} ${resData} VerifyPolicies ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId1}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId2}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId3}
${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${policyId4}
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture