*** Settings *** Library Collections Library RequestsLibrary Resource ../../../03-Variable/BifangApiVariable.txt Resource ../../../02-Keyword/tsg_bfapi/policy_file_interface/FunctionalKeywords.robot Resource ProcessObjectBody.robot Library Collections Resource ../Common.robot *** Variables *** ${objectUrl} /policy/object *** Keywords *** AddObjects [Documentation] ... 新增策略对象 ... objectList,策略对象,可为list类型与dict类型 ... returnData,是否返回数据,固定为1 [Arguments] ${returnData} ${objectList} ${returnData}= Run Keyword If '${returnData}' == '${EMPTY}' Set Variable 1 ... ELSE Set Variable ${returnData} #必选参数判定 Should Not Be Empty ${objectList} ${dictType} = Evaluate type(${objectList}) ${body} Run Keyword If "${dictType}" == "" ObjectListOperation ${returnData} ${objectList} add ... ELSE IF "${dictType}" == "" ObjectOperation ${returnData} ${objectList} add ... ELSE Set Variable ${EMPTY} ${response} BasePostRequestForV2 ${objectUrl} ${body} ${version} ${objectIds} Run Keyword If "${returnData}" == "1" Get-ObjectIds ${response} ... ELSE Create List ${rescode} Set Variable ${response['code']} Should Be Equal As Strings ${rescode} 200 [Return] ${rescode} ${objectIds} UpdateObjects [Documentation] ... 更新策略对象 ... objectList,策略对象,可为list类型与dict类型 ... returnData,是否返回数据,固定为1 ... opAction,可为update,enable,disable [Arguments] ${returnData} ${objectList} ${opAction} ${returnData}= Run Keyword If '${returnData}' == '${EMPTY}' Set Variable 1 ... ELSE Set Variable ${returnData} #必选参数判定 Should Not Be Empty ${objectList} ${dictType} = Evaluate type(${objectList}) ${body} Run Keyword If "${dictType}" == "" ObjectListOperation ${returnData} ${objectList} ${opAction} ... ELSE IF "${dictType}" == "" ObjectOperation ${returnData} ${objectList} ${opAction} ... ELSE Set Variable ${EMPTY} ${response} BaseEditRequestForV2 ${objectUrl} ${body} ${version} ${rescode} Set Variable ${response['code']} Should Be Equal As Strings ${rescode} 200 [Return] ${rescode} GetObjectItems [Documentation] ... 获取策略对象中的item,策略对象单元 ... 当updateItemList中有需要传入数据时 ... 调用此关键字 [Arguments] ${params} #必选参数判定 Should Not Be Empty ${params} ${paramsStr} Dictionary-To-QueryParams ${params} ${response} BaseFormRequest /policy/items ${paramsStr} ${version} ${rescode} Set Variable ${response['code']} Should Be Equal As Strings ${rescode} 200 ${data} Set Variable ${response['data']} ${itemIds} Create List FOR ${item} IN @{data['list']} Append To List ${itemIds} ${item['itemId']} END [Return] ${rescode} ${itemIds} ${data['list']}