diff --git a/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot b/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot index a55ec1f..f2b3d0f 100644 --- a/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot +++ b/01-TestCase/tsg_bfapi/setting/VerifyProxy.robot @@ -1,4 +1,4 @@ - *** Settings *** +*** Settings *** Test Teardown DeletePolicyAndGroupObject ${policyIds} ${objectids} Force Tags tsg_bf_api Trusted_Certificate_Authorities Library String @@ -23,8 +23,8 @@ Resource ../../../02-Keyword/tsg_bfapi/Common.robot Library json Library DateTime Library demjson -Resource ../../../02-Keyword/tsg_bfapi/policy_object/ProcessPolicyBody.robot -Library Custometest +Resource ../../../02-Keyword/tsg_bfapi/policy_object/ProcessPolicyBody.robot #Library Custometest +Library ../../../04-CustomLibrary/Library/VerifyPolicy.py *** Variables *** ${url} /v1/policy/profile/trustedcacertobj @@ -34,28 +34,28 @@ ${objectids} ${EMPTY} *** Test Cases *** VerifySecurity-ipANDfqdn - [Tags] Security ip fqdn category + [Tags] Security ip fqdn category # 新增 对象 # 创建源 ip ${rescodeip} ${object_Source_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","objectSubType":"endpoint","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"autoPolicyVerifySource","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.3-192.168.50.3","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"192.168.50.3","clientIp2":"192.168.50.3","clientPort1":"0","clientPort2":"65535","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1602573149}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#E46D6D"}} #{"opAction":"add","objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"qwqweqw","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"192.168.50.25","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"192.168.50.25","clientIp2":"192.168.50.25","clientPort1":"0","clientPort2":"65535","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1596177068}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}} - #${objectids} set Variable ${object_Source_Id} + #${objectids} set Variable ${object_Source_Id} # 创建目的ip ${rescodeip} ${object_Destination_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","objectSubType":"endpoint","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"autoPolicyVerifyDestination","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"254.253.252.251","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"192.168.50.3","clientIp2":"192.168.50.3","clientPort1":"0","clientPort2":"65535","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1602573149}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#E46D6D"}} #{"opAction":"add","returnData":1,"objectList":{"objectType":"ip","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"1231231231231","objectDesc":"","subObjectIds":[],"addItemList":[{"ip":"254.253.252.251","ipIf":false,"portIf":false,"port":"0-65535","itemId":"","clientIp1":"254.253.252.251","clientIp2":"254.253.252.251","clientPort1":"0","clientPort2":"65535","clientIpFormat":"range","clientPortFormat":"range","addrType":4,"direction":0,"temporaryItemId":1596176949}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}} #${objectids} Catenate SEPARATOR=, ${objectids} ${object_Destination_Id} #创建subid ${rescodeip} ${object_SubId_Id} AddObject {"opAction":"add","returnData":1,"objectList":{"objectType":"subscriberid","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"subid","objectDesc":"","subObjectIds":[],"addItemList":[{"keywordArray":["$test3"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[],"objectId":"","iconColor":""}} - #${objectids} Catenate SEPARATOR=, ${objectids} ${object_SubId_Id} + #${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} + #${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} + #${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} + #${objectids} Catenate SEPARATOR=, ${objectids} ${object_CN_Id} ${objlevel1} Catenate SEPARATOR=, ${object_Source_Id} ${object_Destination_Id} ${object_SubId_Id} ${object_SNI_Id} ${object_SAN_Id} ${object_CN_Id} ${objectids} Create List [${objlevel1}] # 获取对象id集合 @@ -90,7 +90,7 @@ VerifySecurity-ipANDfqdn ${rescode} ${resData} VerifyPolicies ${verifyList} # 打印检查结果 # 将 策略id 加入对象 id - ${objectid_verify} Catenate SEPARATOR=, ${object_Source_Id} ${object_Destination_Id} ${object_SubId_Id} ${object_SNI_Id} ${object_SAN_Id} ${object_CN_Id} + ${objectid_verify} Catenate SEPARATOR=, ${object_Source_Id} ${object_Destination_Id} ${object_SubId_Id} ${object_SNI_Id} ${object_SAN_Id} ${object_CN_Id} ${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中 @@ -102,8 +102,7 @@ VerifySecurity-ipANDfqdn ${ok} VerifyProxy ${resData} ${objectid_verify} # # ${ok} VerifyProxy ${objectids} ${resData} Should Be Equal As Strings ${ok} true - -# VerifyProxy-Security-00002 + # VerifyProxy-Security-00002 #002涉及新建category,无法执行 # 新增 对象 # 创建源 ip @@ -190,67 +189,58 @@ VerifySecurity-ipANDfqdn # Should Be Equal As Strings ${ok} ture VerifySecurity-ipANDfqdn_nest - [Tags] Security ip fqdn 3nest + [Tags] Security ip fqdn 3nest # 新增 对象 # 创建源 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.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 ${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"}} #Insert Into List ${objectids} 0 ${object_Source_Id_2} - ${objlevel2} set variable ${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"}} #Insert Into List ${objectids} 0 ${object_Source_Id_3} - ${objlevel3} set variable ${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} + ${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} + ${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} + ${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":""}} - #Insert Into List ${objectids} 0 ${object_QNAME_FQDN_Id} - ${objlevel1} Catenate SEPARATOR=, ${objlevel1} ${object_QNAME_FQDN_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} + ${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":""}} + ${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} + ${objlevel3} Catenate SEPARATOR=, ${objlevel3} ${object_QNAME_FQDN_Id_3} ${objectids} Create List [${objlevel3}] [${objlevel2}] [${objlevel1}] - #获取对象id集合 #${objectids} Create List [${object_QNAME_FQDN_Id_3}] [${object_QNAME_FQDN_Id_2}] [${object_QNAME_FQDN_Id}] [${object_Destination_Id_3}] [${object_Destination_Id_2}] [${object_Destination_Id}] [${object_Source_Id_3}] [${object_Source_Id_2}] [${object_Source_Id}] #${objectids} Catenate SEPARATOR=, ${object_QNAME_FQDN_Id_3} ${object_QNAME_FQDN_Id_2} ${object_QNAME_FQDN_Id} ${object_Destination_Id_3} ${object_Destination_Id_2} ${object_Destination_Id} ${object_Source_Id_3} ${object_Source_Id_2} ${object_Source_Id} @@ -288,7 +278,7 @@ VerifySecurity-ipANDfqdn_nest Should Be Equal As Strings ${ok} true VerifyProxy-Security-Mail_nestObject - [Tags] Security Mail The largest combination 4nest + [Tags] Security Mail The largest combination 4nest # 创建目的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"}} ${objlevel1} Set Variable ${object_Destination_Id} @@ -307,11 +297,11 @@ VerifyProxy-Security-Mail_nestObject ${objectids} Create List [${objlevel4}] [${objlevel3}] [${objlevel2}] [${objlevel1}] # 创建 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":""}} - ${objlevel1} Catenate SEPARATOR=, ${objlevel1} ${object_Subject_Id} + ${objlevel1} Catenate SEPARATOR=, ${objlevel1} ${object_Subject_Id} ${objectids} Create List [${objlevel4}] [${objlevel3}] [${objlevel2}] [${objlevel1}] # 创建 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":""}} - ${objlevel2} Catenate SEPARATOR=, ${objlevel2} ${object_Subject_Id_2} + ${objlevel2} Catenate SEPARATOR=, ${objlevel2} ${object_Subject_Id_2} ${objectids} Create List [${objlevel4}] [${objlevel3}] [${objlevel2}] [${objlevel1}] # 创建 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":""}} @@ -401,7 +391,8 @@ VerifyProxy-Security-Mail_nestObject ${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":""}} ${objlevel4} Catenate SEPARATOR=, ${objlevel4} ${object_To_Id_4} ${objectids} Create List [${objlevel4}] [${objlevel3}] [${objlevel2}] [${objlevel1}] - #${objectids} Create List [${object_To_Id_4}] [${object_To_Id_3}] [${object_To_Id_2}] [${object_To_Id}] [${object_From_Id_4}] [${object_From_Id_3}] [${object_From_Id_2}] [${object_From_Id}] [${object_Attachment_Content_Id_4}] [${object_Attachment_Content_Id_3}] [${object_Attachment_Content_Id_2}] [${object_Attachment_Content_Id}] [${object_Attachment_Name_Id_4}] [${object_Attachment_Name_Id_3}] ${object_Attachment_Name_Id_2}] [${object_Attachment_Name_Id}] [${object_Content_Id_4}] [${object_Content_Id_3}] [${object_Content_Id_2}] [${object_Content_Id}] [${object_Subject_Id_4}] [${object_Subject_Id_3}] [${object_Subject_Id_2}] [${object_Subject_Id}] [${object_Destination_Id_4}] [${object_Destination_Id_3}] [${object_Destination_Id_2}] [${object_Destination_Id}] + #${objectids} Create List [${object_To_Id_4}] [${object_To_Id_3}] [${object_To_Id_2}] [${object_To_Id}] [${object_From_Id_4}] [${object_From_Id_3}] [${object_From_Id_2}] [${object_From_Id}] [${object_Attachment_Content_Id_4}] [${object_Attachment_Content_Id_3}] [${object_Attachment_Content_Id_2}] [${object_Attachment_Content_Id}] [${object_Attachment_Name_Id_4}] [${object_Attachment_Name_Id_3}] ${object_Attachment_Name_Id_2}] + ... # [${object_Attachment_Name_Id}] [${object_Content_Id_4}] [${object_Content_Id_3}] [${object_Content_Id_2}] [${object_Content_Id}] [${object_Subject_Id_4}] [${object_Subject_Id_3}] [${object_Subject_Id_2}] [${object_Subject_Id}] [${object_Destination_Id_4}] [${object_Destination_Id_3}] [${object_Destination_Id_2}] [${object_Destination_Id}] # 获取对象id集合 log ${objectids} # 新增策略 @@ -432,7 +423,7 @@ VerifyProxy-Security-Mail_nestObject # 打印检查结果 # 将 策略id 加入对象 id ${objectid_verify} set variable ${objectids} - ${objectid_verify} Catenate SEPARATOR=, ${object_To_Id_4} ${object_To_Id} ${object_From_Id_4} ${object_From_Id} ${object_Attachment_Content_Id_4} ${object_Attachment_Content_Id} ${object_Attachment_Name_Id_4} ${object_Attachment_Name_Id} ${object_Content_Id_4} ${object_Content_Id} ${object_Destination_Id_4} ${object_Destination_Id} ${policyId} + ${objectid_verify} Catenate SEPARATOR=, ${object_To_Id_4} ${object_To_Id} ${object_From_Id_4} ${object_From_Id} ${object_Attachment_Content_Id_4} ${object_Attachment_Content_Id} ${object_Attachment_Name_Id_4} ${object_Attachment_Name_Id} ${object_Content_Id_4} ${object_Content_Id} ${object_Destination_Id_4} ${object_Destination_Id} ${policyId} #sleep 5 # 调用关键字 提取应答json获取其中所有的id值,并判断新下发的id值是否在应答json的id中 ${ok} VerifyProxy ${resData} ${objectid_verify} @@ -440,7 +431,7 @@ VerifyProxy-Security-Mail_nestObject Should Be Equal As Strings ${ok} true Verify-Security-monitorMail_nestObject - [Tags] Security Mail ip account 4nest + [Tags] Security Mail ip account 4nest # 创建 目的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"}} ${objlevel1} set Variable ${object_Destination_Id} @@ -487,7 +478,7 @@ Verify-Security-monitorMail_nestObject # # 新增策略验证 # 创建attributes中的字典 ${account_id} Create Dictionary attributeType=string attributeName=account appId=110 appName=mail protocol=mail attributeValue={"string": "abc***?????"} - ${app_id} Create Dictionary attributeType=string attributeName=app_id protocol=mail attributeValue={"string": "110"} + ${app_id} Create Dictionary attributeType=string attributeName=app_id protocol=mail attributeValue={"string": "110"} ${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字典集 @@ -499,7 +490,7 @@ Verify-Security-monitorMail_nestObject # 打印检查结果 # 将 策略id 加入对象 id #${objectid_verify} set variable ${objectids} - ${objectid_verify} Catenate SEPARATOR=, ${object_Account_Id_4} ${object_Account_Id} ${object_Destination_Id_4} ${object_Destination_Id} ${policyId} + ${objectid_verify} Catenate SEPARATOR=, ${object_Account_Id_4} ${object_Account_Id} ${object_Destination_Id_4} ${object_Destination_Id} ${policyId} # 调用关键字 提取应答json获取其中所有的id值,并判断新下发的id值是否在应答json的id中 sleep 9 ${ok} VerifyProxy ${resData} ${objectid_verify} @@ -507,7 +498,7 @@ Verify-Security-monitorMail_nestObject Should Be Equal As Strings ${ok} true VerifySecurity-nestObject - [Tags] Security Mail 5nest ip url content Account + [Tags] Security Mail 5nest ip url content Account # 新增 对象 # 创建源 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"}} @@ -589,7 +580,8 @@ VerifySecurity-nestObject ${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":""}} ${objlevel5} Catenate SEPARATOR=, ${objlevel5} ${object_Account_Id_5} ${objectids} Create List [${objlevel5}] [${objlevel4}] [${objlevel3}] [${objlevel2}] [${objlevel1}] - #${objectids} Create List [${object_Account_Id_5}] [${object_Account_Id_4}] [${object_Account_Id_3}] [${object_Account_Id_2}] [${object_Account_Id}] [${object_Content_Id_5}] [${object_Content_Id_4}] [${object_Content_Id_3}] [${object_Content_Id_2}] [${object_Content_Id}] [${object_URL_Id_5}] [${object_URL_Id_4}] [${object_URL_Id_3}] [${object_URL_Id_2}] [${object_URL_Id}] [${object_Source_Id_5}] [${object_Source_Id_4}] [${object_Source_Id_3}] [${object_Source_Id_2}] [${object_Source_Id}] + #${objectids} Create List [${object_Account_Id_5}] [${object_Account_Id_4}] [${object_Account_Id_3}] [${object_Account_Id_2}] [${object_Account_Id}] [${object_Content_Id_5}] [${object_Content_Id_4}] [${object_Content_Id_3}] [${object_Content_Id_2}] [${object_Content_Id}] [${object_URL_Id_5}] [${object_URL_Id_4}] [${object_URL_Id_3}] [${object_URL_Id_2}] [${object_URL_Id}] + ... # [${object_Source_Id_5}] [${object_Source_Id_4}] [${object_Source_Id_3}] [${object_Source_Id_2}] [${object_Source_Id}] # 获取对象id集合 log ${objectids} # 新增策略 @@ -616,14 +608,14 @@ VerifySecurity-nestObject # 打印检查结果 # 将 策略id 加入对象 id ${objectid_verify} set variable ${objectids} - ${objectid_verify} Catenate SEPARATOR=, ${object_Account_Id_5} ${object_Account_Id} ${object_Content_Id_5} ${object_Content_Id} ${object_URL_Id_5} ${object_Source_Id} ${object_URL_Id} ${object_Source_Id_5} ${policyId} + ${objectid_verify} Catenate SEPARATOR=, ${object_Account_Id_5} ${object_Account_Id} ${object_Content_Id_5} ${object_Content_Id} ${object_URL_Id_5} ${object_Source_Id} ${object_URL_Id} ${object_Source_Id_5} ${policyId} # 调用关键字 提取应答json获取其中所有的id值,并判断新下发的id值是否在应答json的id中 ${ok} VerifyProxy ${resData} ${objectid_verify} # # ${ok} VerifyProxy ${objectids} ${resData} Should Be Equal As Strings ${ok} true VerifySecurity-manyPolicies - [Tags] Security Many policies + [Tags] Security Many policies # 新增 对象 # 创建源 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.3","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"}} @@ -676,7 +668,7 @@ VerifySecurity-manyPolicies Should Be Equal As Strings ${ok} true VerifyProxy-mail_ReqAndRes - [Tags] Security Mail Req Res subid url fqdn + [Tags] Security Mail Req Res subid url fqdn # 新增 对象 # 创建源 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.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":1595474423}],"updateItemList":[],"deleteItemIds":[],"iconColor":"#31739C","objectSubType":"endpoint"}} @@ -730,14 +722,14 @@ VerifyProxy-mail_ReqAndRes # 打印检查结果 # 将 策略id 加入对象 id #${objectid_verify} set variable ${objectids} - ${objectid_verify} Catenate SEPARATOR=, ${object_Response_Header_Id} ${object_QNAME_FQDN_Id} ${object_URL_Id} ${object_Destination_Id} ${object_Source_Id} ${policyId} + ${objectid_verify} Catenate SEPARATOR=, ${object_Response_Header_Id} ${object_QNAME_FQDN_Id} ${object_URL_Id} ${object_Destination_Id} ${object_Source_Id} ${policyId} # 调用关键字 提取应答json获取其中所有的id值,并判断新下发的id值是否在应答json的id中 ${ok} VerifyProxy ${resData} ${objectid_verify} # # ${ok} VerifyProxy ${objectids} ${resData} Should Be Equal As Strings ${ok} true -VerifyProxy-mail_ReqAndRes - [Tags] Security Mail Req Res ip +VerifyProxy-mail_ReqAndRes2 + [Tags] Security Mail Req Res ip # 创建目的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} @@ -788,7 +780,7 @@ VerifyProxy-mail_ReqAndRes Should Be Equal As Strings ${ok} true VerifyProxy-minCombine - [Tags] Proxy Minimum combination + [Tags] Proxy Minimum combination # 创建源 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} @@ -825,7 +817,7 @@ VerifyProxy-minCombine # 打印检查结果 # 将 策略id 加入对象 id ${objectid_verify} set variable ${objectids} - ${objectid_verify} Catenate SEPARATOR=, ${object_QNAME_FQDN_Id} ${object_Host_Id} ${object_Source_Id} ${policyId} + ${objectid_verify} Catenate SEPARATOR=, ${object_QNAME_FQDN_Id} ${object_Host_Id} ${object_Source_Id} ${policyId} # 调用关键字 提取应答json获取其中所有的id值,并判断新下发的id值是否在应答json的id中 ${ok} VerifyProxy ${resData} ${objectid_verify} # # ${ok} VerifyProxy ${objectids} ${resData} diff --git a/04-CustomLibrary/Library/VerifyPolicy.py b/04-CustomLibrary/Library/VerifyPolicy.py new file mode 100644 index 0000000..4e99df7 --- /dev/null +++ b/04-CustomLibrary/Library/VerifyPolicy.py @@ -0,0 +1,56 @@ +import json +def get_dict_allkeys(dict_a): + if isinstance(dict_a, dict): # 使用isinstance检测数据类型 + # 如果为字典类型,则提取key存放到key_list中 + for x in range(len(dict_a)): + temp_key = list(dict_a.keys())[x] + temp_value = dict_a[temp_key] + if temp_key.endswith("Id"): + key_list.append(temp_value) + get_dict_allkeys(temp_value) # 自我调用实现无限遍历 + elif isinstance(dict_a, list): + # 如果为列表类型,则遍历列表里的元素,将字典类型的按照上面的方法提取key + for k in dict_a: + if isinstance(k, dict): + for x in range(len(k)): + temp_key = list(k.keys())[x] + temp_value = k[temp_key] + if temp_key.endswith("Id"): + key_list.append(temp_value) + get_dict_allkeys(temp_value) # 自我调用实现无限遍历 + return key_list +def VerifyProxy(data,lists): + global key_list + key_list = [] + datas = get_dict_allkeys(data) + print(type(datas)) + lists=lists.split(",") + print(type(lists)) + print("gsd") + datas2=list(map(str,datas)) + print(datas2) + print(datas) + print(lists) + + if set(datas2) > set(lists): + return "true" + else: + return "flase" + # 判断值是否在列表中 + # def VerifyProxy(self,data,lists): + # global key_list + # key_list = [] + # datas = Order.get_dict_allkeys(self,data) + # print(type(datas)) + # lists=lists.split(",") + # print(type(lists)) + # print("gsd") + # datas2=list(map(str,datas)) + # print(datas2) + # print(datas) + # print(lists) + + # if set(datas2) > set(lists): + # return "true" + # else: + # return "flase" \ No newline at end of file