修改,策略验证中对自定义python库的调用从导入库的形式改为导入模块的形式
This commit is contained in:
@@ -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}
|
||||
|
||||
56
04-CustomLibrary/Library/VerifyPolicy.py
Normal file
56
04-CustomLibrary/Library/VerifyPolicy.py
Normal 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"
|
||||
Reference in New Issue
Block a user