This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dongxiaoyan-tsg-autotest/02-Keyword/tsg_bfapi/PolicyObject.robot

289 lines
14 KiB
Plaintext
Raw Normal View History

2020-04-01 12:42:05 +08:00
*** Settings ***
Resource ../../03-Variable/BifangApiVariable.txt
Resource ../tsg_common/ManagePolicyBody.robot
Resource ../tsg_common/ManageObjectBody.robot
Resource ../../02-Keyword/tsg_bfapi/policy_file_interface/FunctionalKeywords.robot
2020-07-22 18:38:44 +08:00
Resource ../../02-Keyword/tsg_bfapi/policy_object/Object.robot
Library REST http://${host}:${port}
2020-04-01 12:42:05 +08:00
Library Collections
Library RequestsLibrary
Resource Common.robot
*** Keywords ***
AddLocalIPObject
2020-07-22 18:38:44 +08:00
2020-04-01 12:42:05 +08:00
#创建对象IP
log to_AddLocalIPObject
2020-07-22 19:02:59 +08:00
# ${localIP} set variable {"opAction":"add","returnData":1,"objectList":{"objectType":"ip","objectSubType":"endpoint","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"autotestLocalIPObject_${testClentIP}","objectDesc":"LocalIPObject_${testClentIP}自动化测试机IP","subObjectIds":[],"addItemList":[{"addrType":4,"protocol":0,"direction":0,"isSession":"endpoint","clientIp1":"${testClentIP}","clientIp2":"${testClentIP}","clientIpFormat":"range","clientPortFormat":"range","clientPort1":0,"clientPort2":0,"serverIpFormat":"range","serverIp1":"","serverIp2":"","serverPortFormat":"range","serverPort1":0,"serverPort2":0}],"updateItemList":[],"deleteItemIds":[]}}
# ${rescodeip} ${objidip} AddObject ${localIP}
# ${localSubIP} set variable {"opAction":"add","returnData":1,"objectList":{"objectType":"subscriberid","objectSubType":"","isValid":1,"isInitialize":0,"isExclusion":0,"objectName":"test57","objectDesc":"${testSubscriberID}","subObjectIds":[],"addItemList":[{"keywordArray":["${testSubscriberID}"],"itemId":"","isHexbin":0}],"updateItemList":[],"deleteItemIds":[]}}
# ${rescodesub} ${subiid} AddObject ${localSubIP}
# 创建对象-IP
2020-07-22 19:28:51 +08:00
# Create Dictionary
2020-07-22 18:38:44 +08:00
2020-07-22 19:28:51 +08:00
# ${objectDict} Create Dictionary
# ... objectType=ip
# ... objectSubType=${Default_ObjectSubType}
# ... isInitialize=${Default_IsInitialize}
# ... isExclusion=${Default_IsExclusion}
# ... objectName=autotest_localIP_${testClentIP}
# ... objectDesc=${Default_ObjectDesc}
# ... subObjectIds=${Default_SubObjectIds}
# ... isValid=${1}
# ... addItemList=range|${testClentIP}|${testClentIP}|0/0&${Default_AddItem_ServerIpFormat}|${Default_AddItem_ServerIp1}|${Default_AddItem_ServerIp2}|${Default_AddItem_ServerPort}|${Default_AddItem_IsInitialize}|${Default_AddItem_ItemName}|${Default_AddItem_ItemDesc}
# ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
# #log ${rescodeip}
# log LocalIP${objectId}
2020-07-22 19:28:51 +08:00
Comment 创建IP
#object为IP→endpoint时的addItemList单个对象
${addItemList1} Create Dictionary isSession=endpoint ip=${testClentIP}-${testClentIP} port=0-0 direction=0 protocol=0 isInitialize=0
#可以添加多个
${addItemLists} Create list ${addItemList1}
#objectList对象
${objectDict} Create Dictionary objectType=ip isValid=${1} addItemList=${addItemLists}
${rescode} ${objectId1} AddObjects ${1} ${objectDict}
2020-07-22 18:38:44 +08:00
SET GLOBAL VARIABLE ${testClentID} ${objectId1}
log to_AddLocalSubidObject
${objectDict} Create Dictionary
... objectType=subscriberid
... objectSubType=${Default_ObjectSubType}
... isInitialize=${Default_IsInitialize}
... isExclusion=${Default_IsExclusion}
... objectName=autotest_localSubId_${testSubscriberID}
... objectDesc=${Default_ObjectDesc}
... subObjectIds=${Default_SubObjectIds}
... isValid=${1}
... addItemList=${testSubscriberID}|${Default_AddItem_IsHexbin}|${Default_AddItem_IsInitialize}|${Default_AddItem_ItemName}|${Default_AddItem_ItemDesc}
${rescode} ${subiid} AddObject2 ${1} ${objectDict}
#log ${subiid}
log LocalSubIP${subiid}
SET GLOBAL VARIABLE ${testClentSubID} ${subiid}
2020-04-01 12:42:05 +08:00
DelLocalIPObject
log to_DelLocalIPObject
${response} BaseDeleteRequest /${version}/policy/object {"objectIds":[${testClentID}]}
2020-04-01 12:42:05 +08:00
#${response_code} Get From Dictionary ${response} code
#Should Be Equal As Strings ${response} {'code': 200, 'msg': 'Success', 'success': True}
2020-04-01 12:42:05 +08:00
SET GLOBAL VARIABLE ${testClentID} ${EMPTY}
${response} BaseDeleteRequest /${version}/policy/object {"objectIds":[${testClentSubID}]}
SET GLOBAL VARIABLE ${testClentSubID} ${EMPTY}
2020-04-01 12:42:05 +08:00
AddObject
[Arguments] ${body}
#addIPobject#################################################################################
${response} BasePostRequest /${version}/policy/object body=${body}
2020-07-30 19:10:03 +08:00
log 11111111111111${response}
2020-04-01 12:42:05 +08:00
${objectId} Set Variable ${response['data']['objectList'][0]['objectId']}
${rescodeReturn} Set Variable ${response['code']}
[Return] ${rescodeReturn} ${objectId}
AddObject2
[Arguments] ${returnData} ${objectList}
${body} ObjectParamsOpertion ${returnData} ${objectList} add
${response} BasePostRequest /${version}/policy/object body=${body}
${objectId} Set Variable ${response['data']['objectList'][0]['objectId']}
${rescodeReturn} Set Variable ${response['code']}
[Return] ${rescodeReturn} ${objectId}
2020-04-01 12:42:05 +08:00
AddWanVpn
[Arguments] ${wan_vpnList}
${body} WanVpn ${wan_vpnList}
${response} BasePostRequest /${version}/policy/profile/wannat/vpn/account ${body}
log ${response}
${rescodeReturn} Set Variable ${response['code']}
[Return] ${rescodeReturn}
DeleteWanVpn
[Arguments] ${vpnlist}
#删除Vpn
${body} Create Dictionary ids=${vpnlist}
log 删除vpn
${response} BaseDeleteRequest /${version}/policy/profile/wannat/vpn/account ${body}
${response_code} Get From Dictionary ${response} code
Should Be Equal As Strings ${response_code} 200
${response} Convert to String ${response}
log ${response}
2020-04-01 12:42:05 +08:00
EditObject
[Arguments] ${objectList} ${opAction}
${body} ObjectParamsOpertion ${0} ${objectList} ${opAction}
${response} BaseEditRequest /${version}/policy/object ${body}
${rescodeReturn} Set Variable ${response['code']}
[Return] ${rescodeReturn}
2020-04-01 12:42:05 +08:00
DeleteObjectbak
[Arguments] ${objectids}
${body} String {"objectIds":[${objectids}]}
DELETE /policy/object body=${body} headers=${headers}
2020-04-01 12:42:05 +08:00
Object response body
log DeleteObject
log dxytestOUtputstart
Output response body
log dxytestOUtputstart
${rescode} Integer $.code
${rescodeReturn} Get From List ${rescode} 0
[Return] ${rescodeReturn}
AddPolicy
[Arguments] ${body}
# ${response} BasePostRequest /${version}/policy/compile body=${body}
${response} BasePostRequest /${version2}/policy/compile body=${body}
2020-04-01 12:42:05 +08:00
#log ${response}
${policyId} Set Variable ${response['data']['policyList'][0]['policyId']}
${rescode} Set Variable ${response['code']}
[Return] ${rescode} ${policyId}
QueryPolicy
[Arguments] ${body}
${response} BaseGetRequest /${version}/policy/compile body=${body}
#log ${response}
${rescode} Set Variable ${response['code']}
[Return] ${rescode} ${response}
AddPolicy2
[Arguments] ${returnData} ${policyList}
${body} PolicyParamsOpertion ${returnData} ${policyList} add
${response} BasePostRequest /${version}/policy/compile body=${body}
${policyId} Set Variable ${response['data']['policyList'][0]['policyId']}
${rescode} Set Variable ${response['code']}
[Return] ${rescode} ${policyId}
AddPolicy2006
[Arguments] ${returnData} ${policyList}
${objectDict} Jsoneditmanu ${policyall} ${policyList}
#${body} Convert To String ${objectDict}
${body} json.Dumps ${objectDict}
#${body} PolicyParamsOpertion ${returnData} ${policyList} add
${response} BasePostRequest /${version}/policy/compile body=${body}
${policyId} Set Variable ${response['data']['policyList'][0]['policyId']}
${rescode} Set Variable ${response['code']}
[Return] ${rescode} ${policyId}
2020-04-01 12:42:05 +08:00
EditPolicy
[Arguments] ${policyList} ${opAction}
#add:表示新增
#update:表示修改策略内容,包括策略名称,策略动作,策略动作参数,引用的策略文件,引用的策略对象等有修改时
#disable:表示停用只修改isValid属性为0
#enable表示启用只修改isValid属性为1
${body} PolicyParamsOpertion ${0} ${policyList} ${opAction}
${response} BaseEditRequest /${version}/policy/compile ${body}
${rescode} Set Variable ${response['code']}
2020-05-07 19:50:49 +08:00
[Return] ${rescode} ${response}
2020-04-01 12:42:05 +08:00
DeletePolicybak
[Arguments] ${policyids}
${body} String {"policyType":"tsg_security","policyIds":[${policyids}]}
DELETE /${version}/policy/compile body=${body} headers=${headers}
2020-04-01 12:42:05 +08:00
Object response body
log DeletePolicy
Output response body
${rescode} Integer $.code
${rescodeReturn} Get From List ${rescode} 0
[Return] ${rescodeReturn}
DeletePolicy
[Arguments] ${body}
#删除策略
log toDeletePolicy_DeletePolicyDeletePolicy
${response} BaseDeleteRequest /${version}/policy/compile ${body}
2020-04-01 12:42:05 +08:00
#{"policyType":"tsg_security","policyIds":[${policyids}]}
${response_code} Get From Dictionary ${response} code
Should Be Equal As Strings ${response_code} 200
${response} Convert to String ${response}
log ${response}
#Should Be Equal As Strings ${response} {'code': 200, 'msg': 'Success', 'success': True}
2020-04-01 12:42:05 +08:00
DeleteObject
[Arguments] ${objectids}
#删除对象
log todeleteobj
${response} BaseDeleteRequest /${version}/policy/object {"objectIds":[${objectids}]}
2020-04-01 12:42:05 +08:00
${response_code} Get From Dictionary ${response} code
#log aaaaaaaaaa:${response_code}
Should Be Equal As Strings ${response_code} 200
#Integer ${response_code} 200
${response} Convert to String ${response}
log ${response}
#Should Be Equal As Strings ${response} {'code': 200, 'msg': 'Success', 'success': True}
DeleteProfile
[Arguments] ${typeUrl} ${profileIds}
#删除对象
log DeleteProfile
${response} BaseDeleteRequest /${version}/policy/profile/${typeUrl} {"profileIds":[${profileIds}]}
${response_code} Get From Dictionary ${response} code
#log aaaaaaaaaa:${response_code}
Should Be Equal As Strings ${response_code} 200
#Integer ${response_code} 200
${response} Convert to String ${response}
log ${response}
#Should Be Equal As Strings ${response} {'code': 200, 'msg': 'Success', 'success': True}
# DeleteProfile_defeated
# [Arguments] ${typeUrl} ${profileIds}
# #删除对象
# log DeleteProfile
# ${response} BaseDeleteRequest /${version}/policy/profile/${typeUrl} {"profileIds":[${profileIds}]}
# ${response_code} Get From Dictionary ${response} code
# #log aaaaaaaaaa:${response_code}
# Should Be Equal As Strings ${response_code} 40090030
# #Integer ${response_code} 200
# ${response} Convert to String ${response}
# log ${response}
# #Should Be Equal As Strings ${response} {'code': 200, 'msg': 'Success', 'success': True}
DeleteProfiles
[Arguments] ${profiles}
FOR ${profile} IN @{profiles}
Run Keyword If "${profile}"!="" and ${profile}!="${EMPTY}" DeleteProfile ${profile}[typeUrl] ${profile}[profileIds]
END
2020-04-01 12:42:05 +08:00
DeletePolicyAndObject
2020-07-30 19:10:03 +08:00
[Arguments] ${policyids} ${objectids} ${group}
2020-04-01 12:42:05 +08:00
#删除和对象
#删除策略
log toDeletePolicy_DeletePolicyAndObject
${listlenth}= Get Length ${policyids}
FOR ${var} IN RANGE ${listlenth}
#log dxytest111111
log ${var}
2020-07-30 19:10:03 +08:00
DeletePolicy ${policyids}[${var}]
2020-04-01 12:42:05 +08:00
#Should Contain ${commandreturn} ${ca}
END
#删除对象
log todeleteobj_DeletePolicyAndObject
2020-07-30 19:10:03 +08:00
Run Keyword If "${group}"=="${EMPTY}" log no obj to del
... ELSE DeleteObject ${group}
Run Keyword If "${objectids}"=="${EMPTY}" log no obj to del
... ELSE DeleteObject ${objectids}
DeletePolicyAndObjectAndProfile
[Arguments] ${policyids} ${objectids} ${profiles}
DeletePolicyAndObject ${policyids} ${objectids}
DeleteProfiles ${profiles}
DeleteAfterCase
[Arguments] ${policyids} ${objectids}
Run Keyword If '${testPart}'=='all' or '${testPart}'=='3' DeletePolicyAndObject ${policyids} ${objectids}
2020-06-16 11:48:13 +08:00
DeletePolicyAndObject1
[Arguments] ${policyids} ${objectids} ${url} ${profiledId}
#删除策略
log toDeletePolicy_DeletePolicyAndObject
${listlenth}= Get Length ${policyids}
FOR ${var} IN RANGE ${listlenth}
log ${var}
DeletePolicy ${policyids}[${var}]
END
#删除对象
log todeleteobj_DeletePolicyAndObject
Run Keyword If "${objectids}"=="${EMPTY}" log no obj to del
... ELSE DeleteObject ${objectids}
#删除文件
log todeleteobj_DeletePolicyAndObject
Run Keyword If "${profiledId}"=="${EMPTY}" log no file to del
... ELSE DeletePolicyFile1 ${url} ${profiledId}