策略验证测试用例

This commit is contained in:
朱明明
2020-07-28 10:55:18 +08:00
parent 7f7a03a7c6
commit a7cdf8ed8f

View File

@@ -0,0 +1,800 @@
*** 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":"source","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25-192.168.50.25","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"","clientIp2":"","clientPort1":"0","clientPort2":"65535","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_Destination_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"destination","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"254.253.252.251-254.253.252.251","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"","clientIp2":"","clientPort1":"0","clientPort2":"65535","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595313199}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","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 20
# 新增策略验证
# 创建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"}
${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip":"254.253.252.251","port":"1","addrType":4,"protocol":"6"}
# 合成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}
${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中
${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 20
# # 新增策略验证
# 创建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}
${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