修改,策略验证中对自定义python库的调用从导入库的形式改为导入模块的形式

This commit is contained in:
hebingning
2021-01-04 19:58:42 +08:00
parent 4ef0c4759a
commit 4c04830175
2 changed files with 100 additions and 52 deletions

View File

@@ -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}

View File

@@ -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"