From 70f7071ad8d9d8545470a4816c8b2e418e1b1187 Mon Sep 17 00:00:00 2001 From: dongxiaoyan Date: Mon, 14 Dec 2020 11:54:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=AF=B9=E8=B1=A1=E7=BB=84?= =?UTF-8?q?=E7=A4=BA=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tsg_bfapi/setting/VerifyProxy.robot | 70 ++++++++++++------- 1 file changed, 45 insertions(+), 25 deletions(-) diff --git a/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot b/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot index e35f916..f256395 100644 --- a/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot +++ b/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot @@ -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