删除对象组示例

This commit is contained in:
dongxiaoyan
2020-12-14 11:54:07 +08:00
parent 9342c4cf76
commit 70f7071ad8

View File

@@ -1,9 +1,10 @@
*** Settings ***
Test Teardown DeletePolicyAndObject ${policyIds} ${objectids}
Test Teardown DeletePolicyAndGroupObject ${policyIds} ${objectids}
Force Tags tsg_bf_api Trusted_Certificate_Authorities
Library String
Library OperatingSystem
Library Selenium2Library
Library Custometest
Library Collections
Resource ../../../02-Keyword/tsg_bfapi/Common.robot
Resource ../../../02-Keyword/tsg_bfapi/policy_file_interface/FunctionalKeywords.robot
@@ -63,7 +64,7 @@ VerifyProxy-Security-00001
log 1232132131231313
# 获取策略id
log ${policyIds}
sleep 30
sleep ${policyVerificationSleepSeconds}
# 新增策略验证
# 创建attributes中的字典
${sni} Create Dictionary attributeType=string attributeName=sni protocol=ssl attributeValue={"string": "verifytest"}
@@ -191,58 +192,77 @@ VerifyProxy-Security-00002
VerifyProxy-Security-00003
# 新增 对象
# 新增 对象
#['[1]','[2,3]','[4,5,6,7]']
#可以使用上面的逐个删除对象,也可以先对象定义变量组,然后按照组嵌套层数进行拼接删除
#例如三蹭group嵌套定义三个变量
# 创建源 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}
${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.3","ipIf":false,"portIf":false,"port":"80","itemId":"","clientIp1":"192.168.50.3","clientIp2":"192.168.50.3","clientPort1":"80","clientPort2":"80","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1595312834}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":"","objectSubType":"endpoint"}}
${objectids} Create List ${object_Source_Id}
${objlevel1} set variable ${object_Source_Id}
${objectids} Create List '[${objlevel1}]'
#创建 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}
Insert Into List ${objectids} 0 ${object_Source_Id_2}
${objlevel2} set variable ${object_Source_Id_2}
${objectids} Create List '[${objlevel2}]' '[${objlevel1}]'
#创建 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}
Insert Into List ${objectids} 0 ${object_Source_Id_3}
${objlevel3} set variable ${object_Source_Id_3}
${objectids} Create List '[${objlevel3}]' '[${objlevel2}]' '[${objlevel1}]'
# 创建目的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}
Insert Into List ${objectids} 0 ${object_Destination_Id}
${objlevel1} Catenate SEPARATOR=, ${objlevel1} ${object_Destination_Id}
${objectids} Create List '[${objlevel3}]' '[${objlevel2}]' '[${objlevel1}]'
#创建 目的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}
Insert Into List ${objectids} 0 ${object_Destination_Id_2}
${objlevel2} Catenate SEPARATOR=, ${objlevel2} ${object_Destination_Id_2}
${objectids} Create List '[${objlevel3}]' '[${objlevel2}]' '[${objlevel1}]'
#创建 目的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}
Insert Into List ${objectids} 0 ${object_Destination_Id_3}
${objlevel3} Catenate SEPARATOR=, ${objlevel3} ${object_Destination_Id_3}
${objectids} Create List '[${objlevel3}]' '[${objlevel2}]' '[${objlevel1}]'
# 创建 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}
Insert Into List ${objectids} 0 ${object_QNAME_FQDN_Id}
${objlevel1} Catenate SEPARATOR=, ${objlevel1} ${object_QNAME_FQDN_Id}
${objectids} Create List '[${objlevel3}]' '[${objlevel2}]' '[${objlevel1}]'
# 创建 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}
Insert Into List ${objectids} 0 ${object_QNAME_FQDN_Id_2}
${objlevel2} Catenate SEPARATOR=, ${objlevel2} ${object_QNAME_FQDN_Id_2}
${objectids} Create List '[${objlevel3}]' '[${objlevel2}]' '[${objlevel1}]'
# 创建 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}
Insert Into List ${objectids} 0 ${object_QNAME_FQDN_Id_3}
${objlevel3} Catenate SEPARATOR=, ${objlevel3} ${object_QNAME_FQDN_Id_3}
${objectids} Create List [${objlevel3}] [${objlevel2}] [${objlevel1}]
# 获取对象id集合
log ${objectids}
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":[]}}
${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":[21],"isValid":1,"scheduleId":[]}}
${testType} Evaluate type($policyId)
log ${policyId}
#删除策略
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# # 获取策略id
log ${policyIds}
sleep 20
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."}
${qname_fqdn_id} Create Dictionary attributeType=string attributeName=qname appId=103 appName=dns 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}
${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}
${rescode} ${resData} VerifyPoliciesNew ${verifyList}
# 打印检查结果
# 将 策略id 加入对象 id
${objectid_verify} set variable ${objectids}
@@ -251,7 +271,7 @@ VerifyProxy-Security-00003
# 调用关键字 提取应答json获取其中所有的id值并判断新下发的id值是否在应答json的id中
${ok} VerifyProxy ${resData} ${objectid_verify}
# # ${ok} VerifyProxy ${objectids} ${resData}
Should Be Equal As Strings ${ok} ture
Should Be Equal As Strings ${ok} ture
VerifyProxy-Security-00005
# 创建目的ip