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
2020-07-22 18:38:44 +08:00

267 lines
13 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

*** 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
Resource ../../02-Keyword/tsg_bfapi/policy_object/Object.robot
Library REST http://${host}:${port}
Library Collections
Library RequestsLibrary
Resource Common.robot
*** Keywords ***
AddLocalIPObject
#创建对象IP
log to_AddLocalIPObject
#${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
# Create Dictionary
# ${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}
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}
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}
DelLocalIPObject
log to_DelLocalIPObject
${response} BaseDeleteRequest /${version}/policy/object {"objectIds":[${testClentID}]}
#${response_code} Get From Dictionary ${response} code
#Should Be Equal As Strings ${response} {'code': 200, 'msg': 'Success', 'success': True}
SET GLOBAL VARIABLE ${testClentID} ${EMPTY}
${response} BaseDeleteRequest /${version}/policy/object {"objectIds":[${testClentSubID}]}
SET GLOBAL VARIABLE ${testClentSubID} ${EMPTY}
AddObject
[Arguments] ${body}
#addIPobject#################################################################################
${response} BasePostRequest /${version}/policy/object body=${body}
#log ${response}
${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}
EditObject
[Arguments] ${objectList} ${opAction}
${body} ObjectParamsOpertion ${0} ${objectList} ${opAction}
${response} BaseEditRequest /${version}/policy/object ${body}
${rescodeReturn} Set Variable ${response['code']}
[Return] ${rescodeReturn}
DeleteObjectbak
[Arguments] ${objectids}
${body} String {"objectIds":[${objectids}]}
DELETE /policy/object body=${body} headers=${headers}
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}
#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}
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']}
[Return] ${rescode} ${response}
DeletePolicybak
[Arguments] ${policyids}
${body} String {"policyType":"tsg_security","policyIds":[${policyids}]}
DELETE /${version}/policy/compile body=${body} headers=${headers}
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}
#{"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}
DeleteObject
[Arguments] ${objectids}
#删除对象
log todeleteobj
${response} BaseDeleteRequest /${version}/policy/object {"objectIds":[${objectids}]}
${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
DeletePolicyAndObject
[Arguments] ${policyids} ${objectids}
#删除和对象
#删除策略
log toDeletePolicy_DeletePolicyAndObject
${listlenth}= Get Length ${policyids}
FOR ${var} IN RANGE ${listlenth}
#log dxytest111111
log ${var}
DeletePolicy ${policyids}[${var}]
#Should Contain ${commandreturn} ${ca}
END
#删除对象
log todeleteobj_DeletePolicyAndObject
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}
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}