数据分离逐步封装,差进行数据到逻辑的一层,后继补充
This commit is contained in:
@@ -3,7 +3,6 @@ Library Collections
|
||||
Library RequestsLibrary
|
||||
Resource ../../../03-Variable/BifangApiVariable.txt
|
||||
Resource ../../common/ApiHttpRequest.robot
|
||||
Variables ../../../05-Other/variable/policy/apipolicyrequesttest.py
|
||||
Library REST http://${host}:${port}
|
||||
Library json
|
||||
|
||||
@@ -139,7 +138,7 @@ DelGroupObjects
|
||||
FOR ${var} IN @{objectids}
|
||||
log ${var}
|
||||
DelGroupObject ${var}
|
||||
END
|
||||
END
|
||||
|
||||
DelGroupObject
|
||||
[Arguments] ${objectids}
|
||||
@@ -160,7 +159,7 @@ DelPolicyAndObjectAndProfile
|
||||
DelProfiles
|
||||
[Arguments] ${profiles}
|
||||
FOR ${profile} IN @{profiles}
|
||||
Run Keyword If "${profile}"!="" and ${profile}!="${EMPTY}" DelProfile ${profile}[typeUrl] ${profile}[profileIds]
|
||||
Run Keyword If "${profile}"!="" and ${profile}!="${EMPTY}" DelProfile ${profile}[typeUrl] ${profile}[profileIds]
|
||||
END
|
||||
|
||||
DelProfile
|
||||
@@ -172,4 +171,5 @@ DelProfile
|
||||
Should Be Equal As Strings ${response_code} 200
|
||||
#Integer ${response_code} 200
|
||||
${response} Convert to String ${response}
|
||||
log ${response}
|
||||
log ${response}
|
||||
|
||||
|
||||
@@ -3,11 +3,15 @@ Test Teardown DelPolicysAndGroupObjects ${policyIds} ${objectIds}
|
||||
Resource ../../common/ApiHttpRequest.robot
|
||||
Resource ../../common/Util.robot
|
||||
Resource ApiPolicyRequest.robot
|
||||
Resource PolicyJsonVariable.robot
|
||||
Variables ../../../05-Other/variable/policy/apipolicyrequesttest.py
|
||||
Variables ../../../05-Other/variable/policy/apipolicyjsonbase.py
|
||||
Resource ../../../03-Variable/ApplicationID.txt
|
||||
#Resource ../../tsg_bfapi/PolicyObject.robot
|
||||
|
||||
*** Variables ***
|
||||
|
||||
${policyIds}
|
||||
${objectIds}
|
||||
*** Test Cases ***
|
||||
Test-GetRequestResposeCodePrivate
|
||||
[Tags] test
|
||||
@@ -21,35 +25,344 @@ Test-AddPolicyData
|
||||
#获取当前Case名称
|
||||
log ${TEST NAME}
|
||||
#从变量文件中加载的新增对象JSON串
|
||||
log ${IP_OBJ}
|
||||
log ${Test-AddPolicyData_IP_OBJ}
|
||||
${Test-AddPolicyData_IP_OBJ} Replace String ${Test-AddPolicyData_IP_OBJ} "objectName":"autotest" "objectName":"${TEST NAME}_IP_OBJ"
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${ipid} AddObjectData 1 ${IP_OBJ}
|
||||
${returncode} ${ipid} AddObjectData 1 ${Test-AddPolicyData_IP_OBJ}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Set Variable ${ipid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
#从变量文件中加载的新增对象JSON串
|
||||
log ${FQDN_OBJ}
|
||||
log ${Test-AddPolicyData_FQDN_OBJ}
|
||||
${Test-AddPolicyData_FQDN_OBJ} Replace String ${Test-AddPolicyData_FQDN_OBJ} "objectName":"autotest" "objectName":"${TEST NAME}_FQDN_OBJ"
|
||||
#add Object,return statcode,objectid
|
||||
${returncode} ${fqdnid} AddObjectData 1 ${FQDN_OBJ}
|
||||
${returncode} ${fqdnid} AddObjectData 1 ${Test-AddPolicyData_FQDN_OBJ}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${fqdnid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
#从变量文件中加载的新增策略的JSON串
|
||||
log ${SECURITY_POLICY}
|
||||
log ${Test-AddPolicyData_SECURITY_POLICY}
|
||||
#替换策略中的引用内容,需要在变量文件中提前固定内容
|
||||
#替换策略中的引用内容,源、目的对象对象引用
|
||||
${SECURITY_POLICY} Replace String ${SECURITY_POLICY} IP_OBJ ${ipid}
|
||||
${Test-AddPolicyData_SECURITY_POLICY} Replace String ${Test-AddPolicyData_SECURITY_POLICY} ${TEST NAME}_IP_OBJ ${ipid}
|
||||
#替换策略中的引用内容,filter,sni对象对象引用
|
||||
${SECURITY_POLICY} Replace String ${SECURITY_POLICY} FQDN_OBJ ${fqdnid}
|
||||
${Test-AddPolicyData_SECURITY_POLICY} Replace String ${Test-AddPolicyData_SECURITY_POLICY} ${TEST NAME}_FQDN_OBJ ${fqdnid}
|
||||
#替换策略中的策略名称
|
||||
${SECURITY_POLICY} Replace String ${SECURITY_POLICY} policyNameautotest ${TEST NAME}
|
||||
log ${SECURITY_POLICY}
|
||||
${Test-AddPolicyData_SECURITY_POLICY} Replace String ${Test-AddPolicyData_SECURITY_POLICY} "policyName":"autotest" "policyName":"${TEST NAME}_Security_PName"
|
||||
log ${Test-AddPolicyData_SECURITY_POLICY}
|
||||
#add Policy,return statuscode,policyid 多个返回以逗号分隔
|
||||
${returncode} ${policyid} AddPolicyData 1 ${SECURITY_POLICY}
|
||||
${returncode} ${policyid} AddPolicyData 1 ${Test-AddPolicyData_SECURITY_POLICY}
|
||||
#新增对象添加到删除策略列表,及时添加避免后面异常导致遗留垃圾数据
|
||||
${policyId1} Set Variable {"policyType":"tsg_security","policyIds":[${policyid}]}
|
||||
${policyIds} Create List ${policyId1}
|
||||
Test-AddPolicyData1
|
||||
[Tags] test
|
||||
#获取当前Case名称
|
||||
log ${TEST NAME}
|
||||
|
||||
${destination} Set Variable ${EMPTY}
|
||||
#从变量文件中加载的新增对象JSON串
|
||||
log ${Test-AddPolicyData1_IP_OBJ}
|
||||
${Test-AddPolicyData1_IP_OBJ} Replace String ${Test-AddPolicyData1_IP_OBJ} "objectName":"autotest" "objectName":"${TEST NAME}_IP_OBJ"
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${ipid} AddObjectData 1 ${Test-AddPolicyData1_IP_OBJ}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Set Variable ${ipid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
${destination} Set Variable {"objectId": ${objectid},"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}
|
||||
#从变量文件中加载的新增对象JSON串
|
||||
log ${Test-AddPolicyData1_FQDN_OBJ}
|
||||
${Test-AddPolicyData1_FQDN_OBJ} Replace String ${Test-AddPolicyData1_FQDN_OBJ} "objectName":"autotest" "objectName":"${TEST NAME}_FQDN_OBJ"
|
||||
#add Object,return statcode,objectid
|
||||
${returncode} ${fqdnid} AddObjectData 1 ${Test-AddPolicyData1_FQDN_OBJ}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${fqdnid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
#从变量文件中加载的新增对象JSON串
|
||||
log ${Test-AddPolicyData1_IPLEARN_OBJ}
|
||||
${Test-AddPolicyData1_IPLEARN_OBJ} Replace String ${Test-AddPolicyData1_IPLEARN_OBJ} "objectName":"autotest" "objectName":"${TEST NAME}_IPLEARN_OBJ"
|
||||
#add Object,return statcode,objectid
|
||||
${returncode} ${iplearnid} AddObjectData 1 ${Test-AddPolicyData1_IPLEARN_OBJ}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${iplearnid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
${destination} Set Variable ${destination},{"objectId": ${iplearnid},"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}
|
||||
#从变量文件中加载的新增对象JSON串
|
||||
log ${Test-AddPolicyData1_IPGEO_OBJ}
|
||||
${Test-AddPolicyData1_IPGEO_OBJ} Replace String ${Test-AddPolicyData1_IPGEO_OBJ} "objectName":"autotest" "objectName":"${TEST NAME}_IPGEO_OBJ"
|
||||
#add Object,return statcode,objectid
|
||||
${returncode} ${ipgeoid} AddObjectData 1 ${Test-AddPolicyData1_IPGEO_OBJ}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${ipgeoid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
${destination} Set Variable ${destination},{"objectId": ${ipgeoid},"protocolField":"TSG_SECURITY_DESTINATION_LOCATION"}
|
||||
#从变量文件中加载的新增策略的JSON串
|
||||
log ${Test-AddPolicyData1_SECURITY_POLICY}
|
||||
#替换策略中的引用内容,需要在变量文件中提前固定内容
|
||||
#替换策略中的引用内容,源对象对象引用
|
||||
${Test-AddPolicyData1_SECURITY_POLICY} Replace String ${Test-AddPolicyData1_SECURITY_POLICY} ${TEST NAME}_IP_OBJ ${ipid}
|
||||
#替换策略中的引用内容,目的对象引用
|
||||
${Test-AddPolicyData1_SECURITY_POLICY} Replace String ${Test-AddPolicyData1_SECURITY_POLICY} ${TEST NAME}_DESTINATION ${destination}
|
||||
#替换策略中的引用内容,filter,sni对象对象引用
|
||||
${Test-AddPolicyData1_SECURITY_POLICY} Replace String ${Test-AddPolicyData1_SECURITY_POLICY} ${TEST NAME}_FQDN_OBJ ${fqdnid}
|
||||
#替换策略中的策略名称
|
||||
${Test-AddPolicyData_SECURITY_POLICY} Replace String ${Test-AddPolicyData1_SECURITY_POLICY} "policyName":"autotest" "policyName":"${TEST NAME}_Security_PName"
|
||||
log ${Test-AddPolicyData_SECURITY_POLICY}
|
||||
#add Policy,return statuscode,policyid 多个返回以逗号分隔
|
||||
${returncode} ${policyid} AddPolicyData 1 ${Test-AddPolicyData1_SECURITY_POLICY}
|
||||
#新增对象添加到删除策略列表,及时添加避免后面异常导致遗留垃圾数据
|
||||
${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${policyid}]}
|
||||
${policyIds} Create List ${policyId1}
|
||||
|
||||
Test-Policy-Test
|
||||
[Tags] test
|
||||
#获取当前Case名称
|
||||
${sourcejson} Set Variable ${EMPTY}
|
||||
${destjson} Set Variable ${EMPTY}
|
||||
${filterjson} Set Variable ${EMPTY}
|
||||
${iconColor} Set Variable 31739C
|
||||
log ${TEST NAME}
|
||||
#IP对象
|
||||
${parmList} Create List 1.1.1.2 0-65535
|
||||
${ipObjs} JsonIPItem ${parmList}
|
||||
${parmList} Create List 1.1.1.1-1.1.1.200 1-65535
|
||||
${ipObj} JsonIPItem ${parmList}
|
||||
${ipObjs} Catenate SEPARATOR=, ${ipObjs} ${ipObj}
|
||||
${parmList} Create List 2.2.2.2/24 443
|
||||
${ipObj} JsonIPItem ${parmList}
|
||||
${ipObjs} Catenate SEPARATOR=, ${ipObjs} ${ipObj}
|
||||
${parmList} Create List a1::b1 0-65535
|
||||
${ipObj} JsonIPItem ${parmList}
|
||||
${ipObjs} Catenate SEPARATOR=, ${ipObjs} ${ipObj}
|
||||
${parmList} Create List a1::b1-a1::b15 1-65535
|
||||
${ipObj} JsonIPItem ${parmList}
|
||||
${ipObjs} Catenate SEPARATOR=, ${ipObjs} ${ipObj}
|
||||
${parmList} Create List a1::b1/128 8080
|
||||
${ipObj} JsonIPItem ${parmList}
|
||||
${ipObjs} Catenate SEPARATOR=, ${ipObjs} ${ipObj}
|
||||
${parmList} Create List 192.168.0.1 0-65535
|
||||
${ipObj} JsonIPItem ${parmList}
|
||||
${ipObjs} Catenate SEPARATOR=, ${ipObjs} ${ipObj}
|
||||
#拼接obj对象
|
||||
# ${parmList} ${objectType} 0 ${objectSubType} 1 ${objectName} 2 ${addItemList} 3 ${updateItemList} 4 ${deleteItemIds} 5 ${subObjectIds} 6 ${ipLearning} 7
|
||||
${parmList} Create List ip endpoint ${TEST NAME}_IP ${ipObjs} ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} ${iconColor}
|
||||
${ipObjjson} JsonOBJ ${parmList}
|
||||
#拼接新增json
|
||||
#${parmList}:${opAction}0 ${returnData} 1 ${objectList} 2
|
||||
${parmList} Create List add 1 ${ipObjjson}
|
||||
${ipObjjson} JsonOBJS ${parmList}
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${ipid} AddObjectData 1 ${ipObjjson}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Set Variable ${ipid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
${sourcejson} Set Variable {"objectId" : ${ipid},"protocolField" : "TSG_SECURITY_SOURCE_ADDR"}
|
||||
${destjson} Set Variable {"objectId" : ${ipid},"protocolField" : "TSG_SECURITY_DESTINATION_ADDR"}
|
||||
|
||||
#Geo对象
|
||||
${parmList} Create List Armenia.Abovyan.*
|
||||
${ipGeos} JsonGEOItem ${parmList}
|
||||
${parmList} Create List Armenia.Agarak.*
|
||||
${ipGeo} JsonGEOItem ${parmList}
|
||||
${ipGeos} Catenate SEPARATOR=, ${ipGeos} ${ipGeo}
|
||||
#拼接obj对象
|
||||
# ${parmList} ${objectType} 0 ${objectSubType} 1 ${objectName} 2 ${addItemList} 3 ${updateItemList} 4 ${deleteItemIds} 5 ${subObjectIds} 6 ${ipLearning} 7
|
||||
${parmList} Create List ip geo_location ${TEST NAME}_GEO ${ipGeos} ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} ${iconColor}
|
||||
${ipGeojson} JsonOBJ ${parmList}
|
||||
#拼接新增json
|
||||
#${parmList}:${opAction}0 ${returnData} 1 ${objectList} 2
|
||||
${parmList} Create List add 1 ${ipGeojson}
|
||||
${ipObjjson} JsonOBJS ${parmList}
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${ipid} AddObjectData 1 ${ipObjjson}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${ipid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
${sourcejson} Catenate SEPARATOR=, ${sourcejson} {"objectId" : ${ipid},"protocolField" : "TSG_SECURITY_SOURCE_LOCATION"}
|
||||
${destjson} Catenate SEPARATOR=, ${destjson} {"objectId" : ${ipid},"protocolField" : "TSG_SECURITY_DESTINATION_LOCATION"}
|
||||
|
||||
#IPLEARN对象
|
||||
#${parmList}:${fromFqdns} ${fromProtocol} ${learningDepth} ${agingTime} ${voteClientNum} ${learnedIpLimit}
|
||||
${parmList} Create List "*abc.com","$www.dce.com" HTTP,SSL 2 48 20 10000
|
||||
${ipLearns} JsonIPLEARNItem ${parmList}
|
||||
#拼接obj对象
|
||||
# ${parmList} ${objectType} 0 ${objectSubType} 1 ${objectName} 2 ${addItemList} 3 ${updateItemList} 4 ${deleteItemIds} 5 ${subObjectIds} 6 ${ipLearning} 7
|
||||
${parmList} Create List ip ip_learning ${TEST NAME}_IPLEARN ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} ${ipLearns} ${iconColor}
|
||||
${ipLearnjson} JsonOBJ ${parmList}
|
||||
#拼接新增json
|
||||
#${parmList}:${opAction}0 ${returnData} 1 ${objectList} 2
|
||||
${parmList} Create List add 1 ${ipLearnjson}
|
||||
${ipObjjson} JsonOBJS ${parmList}
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${ipid} AddObjectData 1 ${ipObjjson}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${ipid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
${sourcejson} Catenate SEPARATOR=, ${sourcejson} {"objectId" : ${ipid},"protocolField" : "TSG_SECURITY_SOURCE_ADDR"}
|
||||
${destjson} Catenate SEPARATOR=, ${destjson} {"objectId" : ${ipid},"protocolField" : "TSG_SECURITY_DESTINATION_ADDR"}
|
||||
|
||||
#subid对象
|
||||
#${parmList}:${itemId} ${keywordArray} ${isHexbin} ${isInitialize}
|
||||
#创建拼接对象参数list
|
||||
${parmList} Create List ${EMPTY} $test1 0 0
|
||||
#调用关键字生成对象itemjson
|
||||
${subids} JsonKeywords ${parmList}
|
||||
#添加另一个 创建拼接对象参数list
|
||||
${parmList} Create List ${EMPTY} $test62 0 0
|
||||
${subid} JsonKeywords ${parmList}
|
||||
${subids} Catenate SEPARATOR=, ${subids} ${subid}
|
||||
#拼接obj对象
|
||||
# ${parmList} ${objectType} 0 ${objectSubType} 1 ${objectName} 2 ${addItemList} 3 ${updateItemList} 4 ${deleteItemIds} 5 ${subObjectIds} 6 ${ipLearning} 7
|
||||
${parmList} Create List subscriberid subscriberid ${TEST NAME}_SUBID ${subids} ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} ${iconColor}
|
||||
${subidjson} JsonOBJ ${parmList}
|
||||
#拼接新增json
|
||||
#${parmList}:${opAction}0 ${returnData} 1 ${objectList} 2
|
||||
${parmList} Create List add 1 ${subidjson}
|
||||
${subidjson} JsonOBJS ${parmList}
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${subidid} AddObjectData 1 ${subidjson}
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${subidid}
|
||||
${objectIds} Create List [${objectid}]
|
||||
${sourcejson} Catenate SEPARATOR=, ${sourcejson} {"objectId" : ${subidid},"protocolField" : ""}
|
||||
#${destjson} Catenate SEPARATOR=, ${destjson} {"objectId" : ${subidid},"protocolField" : ""}
|
||||
|
||||
#fqdn对象
|
||||
#${parmList}:${itemId} ${keywordArray} ${isHexbin} ${isInitialize}
|
||||
${parmList} Create List ${EMPTY} $www.abc.com 0 0
|
||||
${fqdns} JsonKeywords ${parmList}
|
||||
${parmList} Create List ${EMPTY} *.abc.com 0 0
|
||||
${fqdn} JsonKeywords ${parmList}
|
||||
${fqdns} Catenate SEPARATOR=, ${fqdns} ${fqdn}
|
||||
#拼接obj对象
|
||||
# ${parmList} ${objectType} 0 ${objectSubType} 1 ${objectName} 2 ${addItemList} 3 ${updateItemList} 4 ${deleteItemIds} 5 ${subObjectIds} 6 ${ipLearning} 7
|
||||
${parmList} Create List fqdn fqdn ${TEST NAME}_FQDN ${fqdns} ${EMPTY} ${EMPTY} ${EMPTY} ${EMPTY} ${iconColor}
|
||||
${fqdnjson} JsonOBJ ${parmList}
|
||||
#拼接新增json
|
||||
#${parmList}:${opAction}0 ${returnData} 1 ${objectList} 2
|
||||
${parmList} Create List add 1 ${fqdnjson}
|
||||
${fqdnjson} JsonOBJS ${parmList}
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${fqdnidSub} AddObjectData 1 ${fqdnjson}
|
||||
#新增对象添加到删除对象列表,及时添加避免下面异常导致遗留垃圾数据
|
||||
#${objectid} Catenate SEPARATOR=, ${objectid} ${fqdnid}
|
||||
${objectIds} Create List [${objectid}] [${fqdnidSub}]
|
||||
|
||||
#fqdn对象组
|
||||
#拼接obj对象
|
||||
# ${parmList} ${objectType} 0 ${objectSubType} 1 ${objectName} 2 ${addItemList} 3 ${updateItemList} 4 ${deleteItemIds} 5 ${subObjectIds} 6 ${ipLearning} 7
|
||||
${parmList} Create List fqdn fqdn ${TEST NAME}_FQDN_GROUP ${EMPTY} ${EMPTY} ${EMPTY} ${fqdnidSub} ${EMPTY} ${iconColor}
|
||||
${fqdnjson} JsonOBJ ${parmList}
|
||||
#拼接新增json
|
||||
#${parmList}:${opAction}0 ${returnData} 1 ${objectList} 2
|
||||
${parmList} Create List add 1 ${fqdnjson}
|
||||
${fqdnjson} JsonOBJS ${parmList}
|
||||
#add Object,return statuscode,objectid 多个返回以英文逗号分隔
|
||||
${returncode} ${fqdnid} AddObjectData 1 ${fqdnjson}
|
||||
${objectid} Catenate SEPARATOR=, ${objectid} ${fqdnid}
|
||||
${objectIds} Create List [${objectid}] [${fqdnidSub}]
|
||||
${filterjson} Set Variable {"objectId" : ${fqdnid},"protocolField" : "TSG_FIELD_SSL_SNI"}
|
||||
|
||||
#从变量文件中加载的新增对象JSON串
|
||||
# ${Test-LoadBase_POLICY}
|
||||
${appIdObjects} Set Variable ${SSL_ID}
|
||||
${userRegion} Set Variable "protocol" : "SSL","keyring" : 1,"decryption" : 1,"decrypt_mirror" : {"enable" : 0,"mirror_profile" : null}
|
||||
${policyDesc} Set Variable ${TEST NAME}_aututest
|
||||
#~!@#$%^&*()_+{}|:\"><?`1234567890-=\[\]\;\',./mn
|
||||
${parmList} Create List ${EMPTY} 1 ${TEST NAME}_Policy tsg_security intercept ${EMPTY} 1 ${userRegion} ${sourcejson} ${destjson} ${filterjson} ${appIdObjects} ${policyDesc} ${EMPTY} ${EMPTY} ${EMPTY}
|
||||
#${policyId}0 ${isValid}1 ${policyName}2 ${policyType}3 ${action}4 ${userTags}5 ${doLog}6 ${userRegion}7 ${source}8 ${destination}9 ${filterList}10 ${appIdObjects}11 ${policyDesc}12 ${effectiveRange}13 ${appSelectorObjects}14 ${scheduleId}15
|
||||
${policys} JsonPolicy ${parmList}
|
||||
#log ${Test-LoadBase_POLICYS}
|
||||
${parmList} Create List add 1 ${policys}
|
||||
${policysJson} JsonPolicys ${parmList}
|
||||
#add Object,return statcode,objectid
|
||||
${returncode} ${policyid} AddPolicyData 1 ${policysJson}
|
||||
|
||||
#新增对象添加到删除策略列表,及时添加避免后面异常导致遗留垃圾数据
|
||||
#${policyId1} Set Variable {"policyType":"tsg_security","policyIds":[${policyid}]}
|
||||
${policyIds} Create List {"policyType":"tsg_security","policyIds":[${policyid}]}
|
||||
|
||||
test
|
||||
#${tWarningMessage} Run Keyword If abcdef AutoItLibrary.Win Get Text Generate Fee Data warning message ELSE Set Variable ""
|
||||
|
||||
#${tIfDuplicateFee} Evaluate "Duplicate Fee Warning" in """${tWarningMessage}"""
|
||||
|
||||
#${rCheckResult} Evaluate ${totalNumberNew}==${totalNumberOld} or ${totalNumberNew}>${totalNumberOld}
|
||||
${listtest} Create List {"keywordArray":["base_keywordArray1"],"district":"base_district","itemId":"base_itemId","isHexbin":"base_isHexbin","isInitialize":base_isInitialize} ${EMPTY} {"keywordArray":["base_keywordArray2"],"district":"base_district","itemId":"base_itemId","isHexbin":"base_isHexbin","isInitialize":base_isInitialize}
|
||||
${fromlist1} Get Slice From List ${listtest} 0 1
|
||||
${fromlist2} Get Slice From List ${listtest} 1 2
|
||||
${fromlist2} Get Slice From List ${listtest} 2
|
||||
${listlenth}= Get Length ${listtest}
|
||||
#${tempValue} set Variable tempValue
|
||||
FOR ${var} IN RANGE ${listlenth}
|
||||
log ${var}
|
||||
${tempValue${var}} Get From List ${listtest} ${var}
|
||||
END
|
||||
|
||||
# 新建一个list变量
|
||||
@{list} create list aa bb
|
||||
# 为list追加数据 同Append To List
|
||||
@{list} create list @{list} cc
|
||||
# 为list追加数据 同Append To List
|
||||
Append To List @{list} dd
|
||||
|
||||
#可以获取list的某一段子list,从两端截取或从中间截取
|
||||
#list的下标从0开始
|
||||
@{list} Create List lilei hanmeimei liming liliang liming
|
||||
# 获取从index=1及之后的数据
|
||||
${fromlist} Get Slice From List ${list} 1
|
||||
# 获取从index=1~2的数据,不包括第3个
|
||||
${fromtolist} Get Slice From List ${list} 1 3
|
||||
|
||||
#Remove Duplicates-去重
|
||||
@{list} Create List lilei hanmeimei liming liliang liming
|
||||
# list去重并检查不包含重复数据
|
||||
${listnew} Remove Duplicates ${list}
|
||||
List Should Not Contain Duplicates ${listnew}
|
||||
|
||||
# List Should Contain Sub List-包含子list
|
||||
@{list} Create List lilei hanmeimei liming liliang liming
|
||||
@{sublist} Create List lilei hanmeimei
|
||||
# 是否包含子list
|
||||
List Should Contain Sub List ${list} ${sublist}
|
||||
#在log中会打印出来去掉了几个重复数据:
|
||||
#20201015 18:46:47.647 : INFO : 1 duplicate removed.
|
||||
|
||||
#5 List Should Contain Sub List-包含子list
|
||||
@{list} Create List lilei hanmeimei liming liliang liming
|
||||
@{sublist} Create List lilei hanmeimei
|
||||
# 是否包含子list
|
||||
List Should Contain Sub List ${list} ${sublist}
|
||||
|
||||
#6、List Should Not Contain Duplicates-判断不存在重复
|
||||
#示例,去重后,list就不存在重复数据了,最后一行可执行通过:
|
||||
@{list} Create List lilei hanmeimei liming liliang liming
|
||||
${listnew} Remove Duplicates ${list}
|
||||
List Should Not Contain Duplicates ${listnew}
|
||||
|
||||
#7 Lists Should Be Equal-判断list相等
|
||||
#注意:@{list}是robot提供的语法,python并没有@{},只有${},所以要比较两个@{list},需要把@{list},直接写成英文dollar ${list}进行对比
|
||||
@{list} Create List lilei hanmeimei liming liliang liming
|
||||
Remove From List ${list} 0
|
||||
@{list1} Create List hanmeimei liming liliang liming
|
||||
Lists Should Be Equal ${list} ${list1}
|
||||
Remove Values From List ${list} liming
|
||||
@{list2} Create List hanmeimei liliang
|
||||
Lists Should Be Equal ${list} ${list2}
|
||||
#如果list转换成了string,也可以使用should be equal来做相等判断
|
||||
|
||||
#8 Remove (Values) From List-删除list中某个值
|
||||
#Remove From List:按照index删除,一次删除1个
|
||||
#Remove Values From List:按照value值删除,一次可删除多个
|
||||
|
||||
#9 Sort List–升序排序
|
||||
#对list做升序排序,示例:
|
||||
@{list} Create List lilei hanmeimei liming liliang liming
|
||||
Sort List ${list}
|
||||
${list} Convert To String ${list}
|
||||
Should Be Equal ${list} ['hanmeimei', 'lilei', 'liliang', 'liming', 'liming']
|
||||
|
||||
|
||||
|
||||
|
||||
Test-GetRandomIP
|
||||
[Tags] test
|
||||
@@ -57,4 +370,16 @@ Test-GetRandomIP
|
||||
log ${ip}
|
||||
${ip} GetRandomIP ipv6
|
||||
log ${ip}
|
||||
${parmList0} Create List 1.1.1.2 0-65535
|
||||
${parmList1} Create List 1.1.1.1-1.1.1.200 1-65535
|
||||
${parmList2} Create List 2.2.2.2/24 443
|
||||
${parmList3} Create List a1::b1 0-65535
|
||||
${parmList4} Create List a1::b1-a1::b15 1-65535
|
||||
${parmList5} Create List a1::b1/128 8080
|
||||
${parmList6} Create List 192.168.0.1 0-65535
|
||||
${parmList} Create List "protocol" : "SSL","keyring" : 1,"decryption" : 1,"decrypt_mirror" : {"enable" : 0,"mirror_profile" : null} {"enable" : 0,"mirror_profile" : null} ${parmList0} ${parmList1} ${parmList2} ${parmList3} ${parmList4} ${parmList5} ${parmList6}
|
||||
:FOR ${element} IN @{parmList}
|
||||
\ LOG ${element}
|
||||
${s} Set Variable ,{"enable" : 0,"mirror_profile" : null},{"enable" : 0,"mirror_profile" : null},{"enable" : 0,"mirror_profile" : null}
|
||||
${s} removeBeforOrAfter ${s} [1:]
|
||||
|
||||
14
04-CustomLibrary/Custometest/Common.py
Normal file
14
04-CustomLibrary/Custometest/Common.py
Normal file
@@ -0,0 +1,14 @@
|
||||
import json
|
||||
|
||||
#判断一个字符或字符串是否包含于另一个字符串:a是否再b中,是否则返回True,否则返回Falsle
|
||||
def aisincludeb(a,b):
|
||||
result = a in b
|
||||
print(result)
|
||||
return result
|
||||
|
||||
#删除字符串当前前几个,或后几个:sourcestr源串,a[2:-2] 表示去掉前面两个和后面两个,如果光去掉后面的a[:-2]
|
||||
def removeBeforOrAfter(sourcestr,a):
|
||||
#a = "16541616584984"
|
||||
#a = a[2:-2]
|
||||
sourcestr = sourcestr[a]
|
||||
return result
|
||||
39
05-Other/variable/policy/apipolicyjsonbase.py
Normal file
39
05-Other/variable/policy/apipolicyjsonbase.py
Normal file
@@ -0,0 +1,39 @@
|
||||
def get_variables():
|
||||
variables = {
|
||||
#提供基础的变量配置,例如策略和对象的接送框架
|
||||
"Test-LoadBase_POLICYS":'{"opAction":"base_opAction","refuseCode":true,"returnData":base_returnData,"policyList":[base_policyList]}',
|
||||
"Test-LoadBase_POLICY":'{"policyId":"base_policyId","policyName":"base_policyName","policyType":"base_policyType","action":"base_action","userTags":"base_userTags","doBlacklist":base_doBlacklist,"doLog":base_doLog,"policyDesc":"base_policyDesc","effectiveRange":{"tag_sets":[[base_effectiveRange]]},"userRegion":{base_userRegion},"source":[base_source],"destination":[base_destination],"filterList":[{"filter":[base_filter]}],"appIdObjects":[base_appIdObjects],"appSelectorObjects":[base_appSelectorObjects],"isValid":base_isValid,"scheduleId":[base_scheduleId]}',
|
||||
#对象,IP对象JSON列表:
|
||||
"Test-LoadBase_OBJS":'{"opAction":"base_opAction","refuseCode":true,"returnData":base_returnData,"objectList":[base_objectList]}',
|
||||
#对象,IP对象:
|
||||
"Test-LoadBase_OBJ":'{"objectType":"base_objectType","objectSubType":"base_objectSubType","isValid":base_isValid,"isInitialize":base_isInitialize,"isExclusion":base_isExclusion,"objectName":"base_objectName","objectDesc":"base_objectDesc","subObjectIds":[base_subObjectIds],"addItemList":[base_addItemList],"updateItemList":[base_updateItemList],"deleteItemIds":[base_deleteItemIds],"iconColor":"#base_iconColor"base_IPLEARN}',
|
||||
#IP对象:
|
||||
"Test-LoadBase_IP_OBJ_IP":'{"ip":"base_ip","ipIf":false,"portIf":false,"port":"base_port","itemId":"base_itemId","clientIp1":"base_clientIp1","clientIp2":"base_clientIp2","clientPort1":"base_clientPort1","clientPort2":"base_clientPort2","clientIpFormat":"base_clientIpFormat","clientPortFormat":"base_clientPortFormat","addrType":base_addrType,"direction":0}',
|
||||
#IP GEO对象:
|
||||
"Test-LoadBase_IP_OBJ_GEO":'{"keywordArray":["base_keywordArray"]}',
|
||||
#IP Learnning:
|
||||
"Test-LoadBase_IP_OBJ_LEARN":'"fromFqdns":[base_fromFqdns],"fromProtocol":"base_fromProtocol","learningDepth":"base_learningDepth","agingTime":"base_agingTime","voteClientNum":"base_voteClientNum","learnedIpLimit":"base_learnedIpLimit"',
|
||||
|
||||
#keywrods
|
||||
"Test-LoadBase_KEYWORDS":'{"keywordArray":["base_keywordArray"],"itemId":"base_itemId","isHexbin":"base_isHexbin","isInitialize":base_isInitialize}',
|
||||
#districtKeywrods
|
||||
"Test-LoadBase_DISTRICTKEYWORDS":'{"keywordArray":["base_keywordArray"],"district":"base_district","itemId":"base_itemId","isHexbin":"base_isHexbin","isInitialize":base_isInitialize}',
|
||||
|
||||
#number\file
|
||||
"Test-LoadBase_numberOrFile":'{"lowBoundary":base_lowBoundary,"upBoundary":base_upBoundary,"itemId":"base_itemId","isInitialize":base_isInitialize}',
|
||||
|
||||
#自定义域
|
||||
"Test-LoadBase_POLICY_USERREGION":'"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}',
|
||||
|
||||
"Test-LoadBase_POLICY_SOURCE":'{"objectId":Test-AddPolicyData_IP_OBJ,"protocolField":"TSG_SECURITY_SOURCE_ADDR"}',
|
||||
"Test-LoadBase_POLICY_DEST":'{"objectId":Test-AddPolicyData_IP_OBJ,"protocolField":"TSG_SECURITY_DESTINATION_ADDR"}',
|
||||
"Test-LoadBase_POLICY_FILTER":'{"objectId":Test-AddPolicyData_FQDN_OBJ,"protocolField":"TSG_FIELD_SSL_SNI"}',
|
||||
"Test-LoadBase_POLICY_APPIDOBJECTS":'24',
|
||||
"Test-LoadBase_POLICY_SCHEDULEID":'55',
|
||||
"Test-LoadBase_POLICY_USERTAGS":'',
|
||||
"Test-LoadBase_POLICY_DOLOG":'1',
|
||||
"Test-LoadBase_POLICY_POLICYDESC":'"AUTOtest"'
|
||||
}
|
||||
|
||||
|
||||
return variables
|
||||
Reference in New Issue
Block a user