feat:(策略导入导出)上传文件下载文件以及样例
This commit is contained in:
@@ -3,6 +3,7 @@ Resource ../../03-Variable/BifangApiVariable.txt
|
||||
Library REST http://${host}:${port}
|
||||
Library Collections
|
||||
Library RequestsLibrary
|
||||
Library json
|
||||
|
||||
*** Keywords ***
|
||||
ManageApistr
|
||||
@@ -142,4 +143,29 @@ BaseFormRequest
|
||||
log return data =${response}
|
||||
Should Be Equal As Strings ${response.status_code} 200
|
||||
${response} to json ${response.content}
|
||||
[Return] ${response}
|
||||
BaseFormRequest1
|
||||
[Documentation]
|
||||
... 下载文件专用
|
||||
... 由于下载的json存在特殊字符
|
||||
... 隐藏需要设置response.encoding='utf-8-sig'
|
||||
[Arguments] ${requestUri} ${data} ${apiVersion}
|
||||
${headers} set variable {"Authorization":"${token}","Content-Type":"application/x-www-form-urlencoded"}
|
||||
create session api http://${host}:${port}/${apiVersion} ${headers}
|
||||
${response} Run Keyword If "${data}"=="${EMPTY}" Get Request api ${requestUri}
|
||||
... ELSE Get Request api ${requestUri}?${data}
|
||||
log return data =${response}
|
||||
${response.encoding} set variable utf-8-sig
|
||||
Should Be Equal As Strings ${response.status_code} 200
|
||||
${response} json.Loads ${response.content}
|
||||
[Return] ${response}
|
||||
BaseMultipartPostRequest
|
||||
[Arguments] ${requestUri} ${data} ${files} ${apiVersion}
|
||||
${headers} set variable {"Authorization":"${token}"}
|
||||
${dataString} Dictionary-To-QueryParams ${data}
|
||||
create session api http://${host}:${port}/${apiVersion} ${headers}
|
||||
${response}= Post Request api ${requestUri}?${dataString} files=${files}
|
||||
log return data =${response}
|
||||
Should Be Equal As Strings ${response.status_code} 200
|
||||
${response} to json ${response.content}
|
||||
[Return] ${response}
|
||||
@@ -107,4 +107,38 @@ WxDeletePolicy1
|
||||
${response} BaseDeleteRequest /${version}${policyUrl} ${params}
|
||||
${rescode} Set Variable ${response['code']}
|
||||
Should Be Equal As Strings ${rescode} 200
|
||||
[Return] ${rescode}
|
||||
[Return] ${rescode}
|
||||
ImportPolicy
|
||||
[Documentation]
|
||||
... 策略导入
|
||||
[Arguments] ${filePath} ${fileName} ${policyType}
|
||||
Directory Should Exist ${path}
|
||||
File Should Exist ${path}/${filePath}/${fileName}
|
||||
File Should Not Be Empty ${path}/${filePath}/${fileName}
|
||||
${size} Get File Size ${path}/${filePath}/${fileName}
|
||||
${binFile} Evaluate (r'import_policy.json',open(r"${path}/${filePath}/${fileName}",'rb'),'application/json')
|
||||
Log ${binFile}
|
||||
${data} Create Dictionary policyType=${policyType}
|
||||
${file} Create Dictionary file=${binFile}
|
||||
${response} BaseMultipartPostRequest ${policyUrl}/batch ${data} ${file} ${version}
|
||||
${rescode} Set Variable ${response['code']}
|
||||
Should Be Equal As Strings ${rescode} 200
|
||||
[Return] ${rescode}
|
||||
ExportPolicy
|
||||
[Documentation]
|
||||
... 策略导出
|
||||
[Arguments] ${policyType} ${policyIds} ${policyName}
|
||||
Should Not Be Empty ${policyType}
|
||||
${params} Create Dictionary policyType=${policyType}
|
||||
Run Keyword If "${policyIds}"!="${EMPTY}" Set To Dictionary ${params} policyIds=${policyIds}
|
||||
Run Keyword If "${policyName}"!="${EMPTY}" Set To Dictionary ${params} policyName=${policyName}
|
||||
${paramsStr} Dictionary-To-QueryParams ${params}
|
||||
${response} BaseFormRequest1 ${policyUrl}/batch ${paramsStr} ${version}
|
||||
[Return] ${response}
|
||||
WriteFile
|
||||
[Arguments] ${filePath} ${fileName} ${content}
|
||||
Create File ${path}/${filePath}/${fileName}
|
||||
${type} Evaluate type(${content})
|
||||
${content} Run Keyword If "${type}" == "<class 'dict'>" json.Dumps ${content}
|
||||
... ELSE Set Variable ${content}
|
||||
Append To File ${path}/${filePath}/${fileName} ${content}
|
||||
Reference in New Issue
Block a user