2020-04-01 12:42:05 +08:00
*** Settings ***
Resource ../../03-Variable/BifangApiVariable.txt
2020-04-07 14:11:59 +08:00
Resource ../tsg_common/ManagePolicyBody.robot
2020-04-08 19:16:24 +08:00
Resource ../tsg_common/ManageObjectBody.robot
2020-04-14 18:20:47 +08:00
Resource ../../02-Keyword/tsg_bfapi/policy_file_interface/FunctionalKeywords.robot
2020-04-28 17:03:28 +08:00
Library REST http://${host}:${port}/${version}
2020-04-01 12:42:05 +08:00
Library Collections
Library RequestsLibrary
Resource Common.robot
*** Keywords ***
AddLocalIPObject
#创建对象IP
log to_AddLocalIPObject
2020-04-14 18:20:47 +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
Create Dictionary
${objectDict} Create Dictionary
... objectType=ip
2020-04-16 14:27:54 +08:00
... objectSubType=${Default_ObjectSubType}
... isInitialize=${Default_IsInitialize}
... isExclusion=${Default_IsExclusion}
2020-04-14 18:20:47 +08:00
... objectName=autotest_localIP_${testClentIP}
2020-04-16 14:27:54 +08:00
... objectDesc=${Default_ObjectDesc}
... subObjectIds=${Default_SubObjectIds}
2020-04-14 18:20:47 +08:00
... isValid=${1}
2020-04-16 14:27:54 +08:00
... 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}
2020-04-14 18:20:47 +08:00
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
2020-04-09 19:38:26 +08:00
#log ${rescodeip}
2020-04-14 18:20:47 +08:00
log LocalIP: ${objectId}
SET GLOBAL VARIABLE ${testClentID} ${objectId}
2020-04-09 19:38:26 +08:00
log to_AddLocalSubidObject
2020-04-14 18:20:47 +08:00
${objectDict} Create Dictionary
... objectType=subscriberid
2020-04-16 14:27:54 +08:00
... objectSubType=${Default_ObjectSubType}
... isInitialize=${Default_IsInitialize}
... isExclusion=${Default_IsExclusion}
2020-04-14 18:20:47 +08:00
... objectName=autotest_localSubId_${testSubscriberID}
2020-04-16 14:27:54 +08:00
... objectDesc=${Default_ObjectDesc}
... subObjectIds=${Default_SubObjectIds}
2020-04-14 18:20:47 +08:00
... isValid=${1}
2020-04-16 14:27:54 +08:00
... addItemList=${testSubscriberID}|${Default_AddItem_IsHexbin}|${Default_AddItem_IsInitialize}|${Default_AddItem_ItemName}|${Default_AddItem_ItemDesc}
${rescode} ${subiid} AddObject2 ${1} ${objectDict}
2020-04-09 19:38:26 +08:00
#log ${subiid}
log LocalSubIP: ${subiid}
SET GLOBAL VARIABLE ${testClentSubID} ${subiid}
2020-04-01 12:42:05 +08:00
DelLocalIPObject
log to_DelLocalIPObject
2020-04-28 17:03:28 +08:00
${response} BaseDeleteRequest /policy/object {"objectIds":[${testClentID}]}
2020-04-01 12:42:05 +08:00
#${response_code} Get From Dictionary ${response} code
2020-04-02 19:50:46 +08:00
#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}
2020-04-28 17:03:28 +08:00
${response} BaseDeleteRequest /policy/object {"objectIds":[${testClentSubID}]}
2020-04-09 19:38:26 +08:00
SET GLOBAL VARIABLE ${testClentSubID} ${EMPTY}
2020-04-01 12:42:05 +08:00
AddObject
[Arguments] ${body}
#addIPobject#################################################################################
2020-04-28 17:03:28 +08:00
${response} BasePostRequest /policy/object body=${body}
2020-04-01 12:42:05 +08:00
#log ${response}
${objectId} Set Variable ${response['data']['objectList'][0]['objectId']}
${rescodeReturn} Set Variable ${response['code']}
[Return] ${rescodeReturn} ${objectId}
2020-04-08 19:16:24 +08:00
AddObject2
[Arguments] ${returnData} ${policyList}
${body} ObjectParamsOpertion ${returnData} ${policyList}
2020-04-28 17:03:28 +08:00
${response} BasePostRequest /policy/object body=${body}
2020-04-08 19:16:24 +08:00
${objectId} Set Variable ${response['data']['objectList'][0]['objectId']}
${rescodeReturn} Set Variable ${response['code']}
[Return] ${rescodeReturn} ${objectId}
2020-04-01 12:42:05 +08:00
EditObject
[Arguments] @{body}
[Return] ${rescode} ${objectId}
DeleteObjectbak
[Arguments] ${objectids}
${body} String {"objectIds":[${objectids}]}
2020-04-28 17:03:28 +08:00
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}
2020-04-28 17:03:28 +08:00
${response} BasePostRequest /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}
2020-05-07 17:23:25 +08:00
QueryPolicy
[Arguments] ${body}
${response} BaseGetRequest /policy/compile body=${body}
#log ${response}
${rescode} Set Variable ${response['code']}
[Return] ${rescode} ${response}
2020-04-07 14:11:59 +08:00
AddPolicy2
[Arguments] ${returnData} ${policyList}
2020-04-28 17:03:28 +08:00
${body} PolicyParamsOpertion ${returnData} ${policyList} add
2020-04-08 19:16:24 +08:00
2020-04-28 17:03:28 +08:00
${response} BasePostRequest /policy/compile body=${body}
2020-04-07 14:11:59 +08:00
${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
2020-05-07 19:50:49 +08:00
[Arguments] ${returnData} ${policyList} ${opAction}
2020-05-07 17:23:25 +08:00
#add:表示新增
#update:表示修改策略内容,包括策略名称,策略动作,策略动作参数,引用的策略文件,引用的策略对象等有修改时
#disable:表示停用, 只修改isValid属性为0
#enable: 表示启用, 只修改isValid属性为1
2020-04-28 17:03:28 +08:00
${body} PolicyParamsOpertion ${1} ${policyList} ${opAction}
${response} BaseEditRequest /policy/compile ${body}
2020-05-07 17:23:25 +08:00
${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}]}
2020-04-28 17:03:28 +08:00
DELETE /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
2020-04-28 17:03:28 +08:00
${response} BaseDeleteRequest /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}
2020-04-02 19:50:46 +08:00
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
2020-04-28 17:03:28 +08:00
${response} BaseDeleteRequest /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}
2020-04-02 19:50:46 +08:00
log ${response}
#Should Be Equal As Strings ${response} {'code': 200, 'msg': 'Success', 'success': True}
2020-04-01 12:42:05 +08:00
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
2020-04-24 18:44:07 +08:00
Run Keyword If "${objectids}"=="${EMPTY}" log no obj to del
... ELSE DeleteObject ${objectids}
2020-04-14 18:20:47 +08:00
2020-04-21 13:30:41 +08:00
DeleteAfterCase
[Arguments] ${policyids} ${objectids}
Run Keyword If '${testPart}'=='all' or '${testPart}'=='3' DeletePolicyAndObject ${policyids} ${objectids}