提交安全策略和代理策略全流程用例
This commit is contained in:
@@ -1,248 +1,249 @@
|
||||
*** Settings ***
|
||||
Library String
|
||||
Library OperatingSystem
|
||||
Library RequestsLibrary
|
||||
Library Selenium2Library
|
||||
Library Collections
|
||||
Resource ../../../02-Keyword/tsg_bfapi/Common.robot
|
||||
Resource ../../../02-Keyword/tsg_bfapi/ApiRequest.robot
|
||||
Resource ../../../03-Variable/BifangApiVariable.txt
|
||||
|
||||
*** Keywords ***
|
||||
QueryPolicyFile
|
||||
[Arguments] ${url} ${suffix}
|
||||
${content_quary} Get-Request ${url}?isValid=1&${suffix}
|
||||
${msg_quary} Set Variable ${content_quary['msg']}
|
||||
${length} Get Length ${content_quary['data']['list']}
|
||||
Should Be True ${length}>0
|
||||
Log quary operation:${msg_quary}
|
||||
Log data:${content_quary['data']['list']}
|
||||
|
||||
QueryPolicyFile2
|
||||
[Arguments] ${url} ${suffix}
|
||||
${content_quary} Get-Request ${url}?${suffix}
|
||||
${msg_quary} Set Variable ${content_quary['msg']}
|
||||
${length} Get Length ${content_quary['data']['list']}
|
||||
Should Be True ${length}>0
|
||||
Log quary operation:${msg_quary}
|
||||
Log data:${content_quary['data']['list']}
|
||||
${certId} Set Variable ${content_quary['data']['list'][0]['certId']}
|
||||
[Return] ${certId}
|
||||
|
||||
CreatePolicyFile
|
||||
[Documentation]
|
||||
... 必传参数:url、filePath(文件路径)、fileName(文件名称)
|
||||
... 可选参数:header(不传时使用默认值)
|
||||
[Arguments] ${url} ${filePath} ${fileName} @{header}
|
||||
${suffix} Generate Random String
|
||||
${certName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${header} Run Keyword If ${header}==[] Set Variable {"isValid":1,"opAction":"add","certName":"${certName}","certId":null,"returnData":1}
|
||||
... ELSE Get From List ${header} 0
|
||||
|
||||
${binFile} Evaluate open(r"${path}/${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${fileDesc} Create Dictionary File-Desc=${header}
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${cerId} Set Variable ${list[0]['certId']}
|
||||
${certName} Set Variable ${list[0]['certName']}
|
||||
${response} Create Dictionary msg=${msg} certId=${cerId} certName=${certName}
|
||||
Log add operation:${msg}
|
||||
Log cerId:${cerId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyFile2
|
||||
[Documentation]
|
||||
... 必传参数:url、filePath(文件路径)、fileName(文件名称)、flag(模块标识)
|
||||
... 可选参数:header(不传时使用默认值)
|
||||
[Arguments] ${url} ${filePath} ${fileName} ${flag} @{header}
|
||||
${suffix} Generate Random String
|
||||
${randomName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${value} Run Keyword If '${flag}'=='resPages' Set Variable {"isValid":1,"format":"html","opAction":"add","profileName":"${randomName}","profileId":null,"returnData":1}
|
||||
... ELSE IF '${flag}'=='hijack' Set Variable {"isValid":1,"contentType":"text/html","opAction":"add","profileName":"${randomName}","contentName":"${fileName}","profileId":null,"returnData":1}
|
||||
... ELSE IF '${flag}'=='insert' Set Variable {"isValid":1,"format":"js","insertOn":"after_page_load","opAction":"add","profileName":"${randomName}","profileId":null,"returnData":1}
|
||||
|
||||
${header} Run Keyword If ${header}==[] Set Variable ${value}
|
||||
... ELSE Get From List ${header} 0
|
||||
|
||||
${binFile} Evaluate open(r"${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${suffix} Generate Random String
|
||||
${profileName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${fileDesc} Create Dictionary File-Desc=${header}
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyFile3
|
||||
[Documentation]
|
||||
... 必传参数:url
|
||||
... 可选参数:data(不传时使用默认值)
|
||||
[Arguments] ${url} @{data}
|
||||
${suffix} Generate Random String
|
||||
${profileName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${data} Run Keyword If ${data}==[] Set Variable {"opAction":"add","returnData":1,"trafficMirrorList":[{"profileName":"${profileName}","addrType":"mac","isValid":1,"addrArray":["00:A1:B2:06:C3:29"]}]}
|
||||
... ELSE Get From List ${data} 0
|
||||
|
||||
${content} Post-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyFileNoFile
|
||||
[Documentation]
|
||||
... 必传参数:url
|
||||
... 可选参数:data(不传时使用默认值)
|
||||
[Arguments] ${url} ${requestbody}
|
||||
${content} Post-Request ${url} ${requestbody}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyMutipartFile
|
||||
[Arguments] ${url} ${filePath} ${pubFileName} ${priFileName} ${keyringType} @{header}
|
||||
[Documentation] 必传参数:url、filePath(文件路径)、pubFileName(证书文件名)、priFileName(私钥文件名),keyringType(证书类型)
|
||||
... 可选参数:header(不传时使用默认值)
|
||||
${suffix} Generate Random String
|
||||
${certName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${header} Run Keyword If ${header}==[] Set Variable {"isValid":1,"opAction":"add","returnData":1,"keyringName":"${certName}","keyringType":"${keyringType}","reissueExpiryHour":0,"crl":"null","publicKeyAlgo":"rsa1024","keyringId":null,"includeRoot":0}
|
||||
... ELSE Get From List ${header} 0
|
||||
${pubFile} Evaluate open(r"${path}/${filePath}${pubFileName}",'rb')
|
||||
${priFile} Evaluate open(r"${path}/${filePath}${priFileName}",'rb')
|
||||
${fileDict} Create Dictionary publicFile ${pubFile}
|
||||
Set To Dictionary ${fileDict} privateFile ${priFile}
|
||||
${requestData} Create Dictionary name="publicFile" filename="${pubFileName}" Content-Type=application/octet-stream
|
||||
Set To Dictionary ${requestData} name privateFile
|
||||
Set To Dictionary ${requestData} filename ${priFileName}
|
||||
Set To Dictionary ${requestData} Content-Type application/octet-stream
|
||||
${fileDesc} Create Dictionary File-Desc=${header}
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${keyringId} Set Variable ${list[0]['keyringId']}
|
||||
${keyringName} Set Variable ${list[0]['keyringName']}
|
||||
${response} Create Dictionary msg=${msg} keyringId=${keyringId} keyringName=${keyringName}
|
||||
Log add operation:${msg}
|
||||
Log keyringId:${keyringId}
|
||||
[Return] ${response}
|
||||
|
||||
UpdatePolicyMutipartFile
|
||||
[Arguments] ${url} ${filePath} ${pubFileName} ${priFileName} ${reqHeader}
|
||||
${pubFile} Evaluate open(r"${path}/${filePath}${pubFileName}",'rb')
|
||||
${priFile} Evaluate open(r"${path}/${filePath}${priFileName}",'rb')
|
||||
${fileDict} Create Dictionary publicFile ${pubFile}
|
||||
Set To Dictionary ${fileDict} privateFile ${priFile}
|
||||
|
||||
${requestData} Create Dictionary name="publicFile" filename="${pubFileName}" Content-Type=application/octet-stream
|
||||
Set To Dictionary ${requestData} name privateFile
|
||||
Set To Dictionary ${requestData} filename ${priFileName}
|
||||
Set To Dictionary ${requestData} Content-Type application/octet-stream
|
||||
|
||||
${fileDesc} Create Dictionary File-Desc ${reqHeader}
|
||||
${content} UpFilePutRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log update operation:${msg}
|
||||
Log update condition:${reqHeader}
|
||||
|
||||
UpdatePolicyFile
|
||||
[Arguments] ${url} ${filePath} ${fileName} ${reqHeader}
|
||||
${binFile} Evaluate open(r"${path}/${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${fileDesc} Create Dictionary File-Desc=${reqHeader}
|
||||
${content} UpFilePutRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log update operation:${msg}
|
||||
Log update condition:${reqHeader}
|
||||
|
||||
UpdatePolicyFile2
|
||||
[Arguments] ${url} ${data}
|
||||
${header} Create Dictionary Content-Type=application/json Authorization=${token}
|
||||
Create Session api http://${host}:${port} headers=${header}
|
||||
${remoteResponse} Put Request api ${url} data=${data} headers=${header}
|
||||
${response} to json ${remoteResponse.content}
|
||||
Should Be Equal As Strings ${remoteResponse.status_code} 200
|
||||
${msg} Set Variable ${response['msg']}
|
||||
Log update operation:${msg}
|
||||
Log update condition:${data}
|
||||
|
||||
DeletePolicyFile
|
||||
[Arguments] ${url} ${data}
|
||||
${content} Delete-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log delete operation:${msg}
|
||||
Log delete condition:${data}
|
||||
|
||||
TeardownDelete
|
||||
[Arguments] ${url} ${key} ${value}
|
||||
${ids} Create List ${value}
|
||||
${data} Create Dictionary ${key}=${ids}
|
||||
${content} Delete-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log teardown operation:${msg}
|
||||
Log teardown condition:${data}
|
||||
|
||||
|
||||
CreatePolicyFile4
|
||||
[Arguments] ${url} ${filePath} ${fileName} ${objectDict}
|
||||
[Timeout]
|
||||
${binFile} Evaluate open(r"${path}/${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${suffix} Generate Random String
|
||||
${profileName} Catenate SEPARATOR=_ test ${suffix}
|
||||
log ${objectDict}
|
||||
${string} Convert To String ${objectDict}
|
||||
${fileDesc} Create Dictionary File-Desc=${string}
|
||||
log ${fileDesc}[File-Desc]
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreateRequest
|
||||
[Arguments] ${url} ${data}
|
||||
[Documentation] 必传参数:url
|
||||
... 可选参数:data(不传时使用默认值)
|
||||
${content} Post-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
DeletePolicyFile1
|
||||
[Arguments] ${url} ${profileId}
|
||||
#删除文件
|
||||
log todeleteobj
|
||||
${response} BaseDeleteRequest ${url} {"profileIds":[${profileId}]}
|
||||
${response_code} Get From Dictionary ${response} code
|
||||
Should Be Equal As Strings ${response_code} 200
|
||||
${response} Convert to String ${response}
|
||||
log ${response}
|
||||
*** Settings ***
|
||||
Library String
|
||||
Library OperatingSystem
|
||||
Library RequestsLibrary
|
||||
Library Selenium2Library
|
||||
Library Collections
|
||||
Resource ../../../02-Keyword/tsg_bfapi/Common.robot
|
||||
Resource ../../../02-Keyword/tsg_bfapi/ApiRequest.robot
|
||||
Resource ../../../03-Variable/BifangApiVariable.txt
|
||||
|
||||
*** Keywords ***
|
||||
QueryPolicyFile
|
||||
[Arguments] ${url} ${suffix}
|
||||
${content_quary} Get-Request ${url}?isValid=1&${suffix}
|
||||
${msg_quary} Set Variable ${content_quary['msg']}
|
||||
${length} Get Length ${content_quary['data']['list']}
|
||||
Should Be True ${length}>0
|
||||
Log quary operation:${msg_quary}
|
||||
Log data:${content_quary['data']['list']}
|
||||
|
||||
QueryPolicyFile2
|
||||
[Arguments] ${url} ${suffix}
|
||||
${content_quary} Get-Request ${url}?${suffix}
|
||||
${msg_quary} Set Variable ${content_quary['msg']}
|
||||
${length} Get Length ${content_quary['data']['list']}
|
||||
Should Be True ${length}>0
|
||||
Log quary operation:${msg_quary}
|
||||
Log data:${content_quary['data']['list']}
|
||||
${certId} Set Variable ${content_quary['data']['list'][0]['certId']}
|
||||
[Return] ${certId}
|
||||
|
||||
CreatePolicyFile
|
||||
[Documentation]
|
||||
... 必传参数:url、filePath(文件路径)、fileName(文件名称)
|
||||
... 可选参数:header(不传时使用默认值)
|
||||
[Arguments] ${url} ${filePath} ${fileName} @{header}
|
||||
${suffix} Generate Random String
|
||||
${certName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${header} Run Keyword If ${header}==[] Set Variable {"isValid":1,"opAction":"add","certName":"${certName}","certId":null,"returnData":1}
|
||||
... ELSE Get From List ${header} 0
|
||||
|
||||
${binFile} Evaluate open(r"${path}/${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${fileDesc} Create Dictionary File-Desc=${header}
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${cerId} Set Variable ${list[0]['certId']}
|
||||
${certName} Set Variable ${list[0]['certName']}
|
||||
${response} Create Dictionary msg=${msg} certId=${cerId} certName=${certName}
|
||||
Log add operation:${msg}
|
||||
Log cerId:${cerId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyFile2
|
||||
[Documentation]
|
||||
... 必传参数:url、filePath(文件路径)、fileName(文件名称)、flag(模块标识)
|
||||
... 可选参数:header(不传时使用默认值)
|
||||
[Arguments] ${url} ${filePath} ${fileName} ${flag} @{header}
|
||||
${suffix} Generate Random String
|
||||
${randomName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${value} Run Keyword If '${flag}'=='resPages' Set Variable {"isValid":1,"format":"html","opAction":"add","profileName":"${randomName}","profileId":null,"returnData":1}
|
||||
... ELSE IF '${flag}'=='hijack' Set Variable {"isValid":1,"contentType":"text/html","opAction":"add","profileName":"${randomName}","contentName":"${fileName}","profileId":null,"returnData":1}
|
||||
... ELSE IF '${flag}'=='insert' Set Variable {"isValid":1,"format":"js","insertOn":"after_page_load","opAction":"add","profileName":"${randomName}","profileId":null,"returnData":1}
|
||||
... ELSE IF '${flag}'=='insertcss' Set Variable {"isValid":1,"format":"css","insertOn":"after_page_load","opAction":"add","profileName":"${randomName}","profileId":null,"returnData":1}
|
||||
|
||||
${header} Run Keyword If ${header}==[] Set Variable ${value}
|
||||
... ELSE Get From List ${header} 0
|
||||
|
||||
${binFile} Evaluate open(r"${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${suffix} Generate Random String
|
||||
${profileName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${fileDesc} Create Dictionary File-Desc=${header}
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyFile3
|
||||
[Documentation]
|
||||
... 必传参数:url
|
||||
... 可选参数:data(不传时使用默认值)
|
||||
[Arguments] ${url} @{data}
|
||||
${suffix} Generate Random String
|
||||
${profileName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${data} Run Keyword If ${data}==[] Set Variable {"opAction":"add","returnData":1,"trafficMirrorList":[{"profileName":"${profileName}","addrType":"mac","isValid":1,"addrArray":["00:A1:B2:06:C3:29"]}]}
|
||||
... ELSE Get From List ${data} 0
|
||||
|
||||
${content} Post-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyFileNoFile
|
||||
[Documentation]
|
||||
... 必传参数:url
|
||||
... 可选参数:data(不传时使用默认值)
|
||||
[Arguments] ${url} ${requestbody}
|
||||
${content} Post-Request ${url} ${requestbody}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreatePolicyMutipartFile
|
||||
[Arguments] ${url} ${filePath} ${pubFileName} ${priFileName} ${keyringType} @{header}
|
||||
[Documentation] 必传参数:url、filePath(文件路径)、pubFileName(证书文件名)、priFileName(私钥文件名),keyringType(证书类型)
|
||||
... 可选参数:header(不传时使用默认值)
|
||||
${suffix} Generate Random String
|
||||
${certName} Catenate SEPARATOR=_ test ${suffix}
|
||||
${header} Run Keyword If ${header}==[] Set Variable {"isValid":1,"opAction":"add","returnData":1,"keyringName":"${certName}","keyringType":"${keyringType}","reissueExpiryHour":0,"crl":"null","publicKeyAlgo":"rsa1024","keyringId":null,"includeRoot":0}
|
||||
... ELSE Get From List ${header} 0
|
||||
${pubFile} Evaluate open(r"${path}/${filePath}${pubFileName}",'rb')
|
||||
${priFile} Evaluate open(r"${path}/${filePath}${priFileName}",'rb')
|
||||
${fileDict} Create Dictionary publicFile ${pubFile}
|
||||
Set To Dictionary ${fileDict} privateFile ${priFile}
|
||||
${requestData} Create Dictionary name="publicFile" filename="${pubFileName}" Content-Type=application/octet-stream
|
||||
Set To Dictionary ${requestData} name privateFile
|
||||
Set To Dictionary ${requestData} filename ${priFileName}
|
||||
Set To Dictionary ${requestData} Content-Type application/octet-stream
|
||||
${fileDesc} Create Dictionary File-Desc=${header}
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${keyringId} Set Variable ${list[0]['keyringId']}
|
||||
${keyringName} Set Variable ${list[0]['keyringName']}
|
||||
${response} Create Dictionary msg=${msg} keyringId=${keyringId} keyringName=${keyringName}
|
||||
Log add operation:${msg}
|
||||
Log keyringId:${keyringId}
|
||||
[Return] ${response}
|
||||
|
||||
UpdatePolicyMutipartFile
|
||||
[Arguments] ${url} ${filePath} ${pubFileName} ${priFileName} ${reqHeader}
|
||||
${pubFile} Evaluate open(r"${path}/${filePath}${pubFileName}",'rb')
|
||||
${priFile} Evaluate open(r"${path}/${filePath}${priFileName}",'rb')
|
||||
${fileDict} Create Dictionary publicFile ${pubFile}
|
||||
Set To Dictionary ${fileDict} privateFile ${priFile}
|
||||
|
||||
${requestData} Create Dictionary name="publicFile" filename="${pubFileName}" Content-Type=application/octet-stream
|
||||
Set To Dictionary ${requestData} name privateFile
|
||||
Set To Dictionary ${requestData} filename ${priFileName}
|
||||
Set To Dictionary ${requestData} Content-Type application/octet-stream
|
||||
|
||||
${fileDesc} Create Dictionary File-Desc ${reqHeader}
|
||||
${content} UpFilePutRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log update operation:${msg}
|
||||
Log update condition:${reqHeader}
|
||||
|
||||
UpdatePolicyFile
|
||||
[Arguments] ${url} ${filePath} ${fileName} ${reqHeader}
|
||||
${binFile} Evaluate open(r"${path}/${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${fileDesc} Create Dictionary File-Desc=${reqHeader}
|
||||
${content} UpFilePutRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log update operation:${msg}
|
||||
Log update condition:${reqHeader}
|
||||
|
||||
UpdatePolicyFile2
|
||||
[Arguments] ${url} ${data}
|
||||
${header} Create Dictionary Content-Type=application/json Authorization=${token}
|
||||
Create Session api http://${host}:${port} headers=${header}
|
||||
${remoteResponse} Put Request api ${url} data=${data} headers=${header}
|
||||
${response} to json ${remoteResponse.content}
|
||||
Should Be Equal As Strings ${remoteResponse.status_code} 200
|
||||
${msg} Set Variable ${response['msg']}
|
||||
Log update operation:${msg}
|
||||
Log update condition:${data}
|
||||
|
||||
DeletePolicyFile
|
||||
[Arguments] ${url} ${data}
|
||||
${content} Delete-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log delete operation:${msg}
|
||||
Log delete condition:${data}
|
||||
|
||||
TeardownDelete
|
||||
[Arguments] ${url} ${key} ${value}
|
||||
${ids} Create List ${value}
|
||||
${data} Create Dictionary ${key}=${ids}
|
||||
${content} Delete-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
Log teardown operation:${msg}
|
||||
Log teardown condition:${data}
|
||||
|
||||
|
||||
CreatePolicyFile4
|
||||
[Arguments] ${url} ${filePath} ${fileName} ${objectDict}
|
||||
[Timeout]
|
||||
${binFile} Evaluate open(r"${path}/${filePath}${fileName}",'rb')
|
||||
${fileDict} Create Dictionary file=${binFile}
|
||||
${requestData} Create Dictionary name="file" filename="${fileName}" Content-Type=application/octet-stream
|
||||
${suffix} Generate Random String
|
||||
${profileName} Catenate SEPARATOR=_ test ${suffix}
|
||||
log ${objectDict}
|
||||
${string} Convert To String ${objectDict}
|
||||
${fileDesc} Create Dictionary File-Desc=${string}
|
||||
log ${fileDesc}[File-Desc]
|
||||
${content} UpFilePostRequest ${url} ${requestData} ${fileDict} ${fileDesc}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
|
||||
CreateRequest
|
||||
[Arguments] ${url} ${data}
|
||||
[Documentation] 必传参数:url
|
||||
... 可选参数:data(不传时使用默认值)
|
||||
${content} Post-Request ${url} ${data}
|
||||
${msg} Set Variable ${content['msg']}
|
||||
${list} Set Variable ${content['data']['list']}
|
||||
${profileId} Set Variable ${list[0]['profileId']}
|
||||
${profileName} Set Variable ${list[0]['profileName']}
|
||||
${response} Create Dictionary msg=${msg} profileId=${profileId} profileName=${profileName}
|
||||
Log add operation:${msg}
|
||||
Log profileId:${profileId}
|
||||
[Return] ${response}
|
||||
DeletePolicyFile1
|
||||
[Arguments] ${url} ${profileId}
|
||||
#删除文件
|
||||
log todeleteobj
|
||||
${response} BaseDeleteRequest ${url} {"profileIds":[${profileId}]}
|
||||
${response_code} Get From Dictionary ${response} code
|
||||
Should Be Equal As Strings ${response_code} 200
|
||||
${response} Convert to String ${response}
|
||||
log ${response}
|
||||
|
||||
@@ -39,11 +39,14 @@ GetAppIdObjects
|
||||
[Return] ${appidobject}
|
||||
|
||||
DeletePolicyAndObjectAndApplicationAndSignature
|
||||
[Arguments] ${policyids} ${objectids} ${appids}=${EMPTY} ${signatureId}=${EMPTY}
|
||||
[Arguments] ${policyids} ${objectids} ${appids}=${EMPTY} ${signatureId}=${EMPTY} ${policyids1}=${EMPTY} ${url}=${EMPTY} ${profiledId}=${EMPTY}
|
||||
#删除和对象
|
||||
#2020-09-01修改,引用DeletePolicyAndGroupObject,避免分别维护并兼容之前用例
|
||||
Run Keyword If "${policyids}"=="${EMPTY}" log no policyids to del
|
||||
... ELSE DeletePolicyNew ${policyids}
|
||||
|
||||
Run Keyword If "${policyids1}"=="${EMPTY}" log no policyids to del
|
||||
... ELSE DeletePolicyNew1 ${policyids1}
|
||||
|
||||
Run Keyword If "${appids}"=="${EMPTY}" log no appids to del
|
||||
... ELSE DeleteApplicationNew ${appids}
|
||||
@@ -54,6 +57,11 @@ DeletePolicyAndObjectAndApplicationAndSignature
|
||||
Run Keyword If "${objectids}"=="${EMPTY}" log no Objects to del
|
||||
... ELSE DeleteObjectNew ${objectids}
|
||||
|
||||
#删除文件
|
||||
|
||||
Run Keyword If "${profiledId}"=="${EMPTY}" log no file to del
|
||||
... ELSE DeletePolicyFile2 ${url} ${profiledId}
|
||||
|
||||
DeleteApplicationNew
|
||||
[Arguments] ${appids}
|
||||
#删除Application
|
||||
@@ -90,4 +98,25 @@ DeletePolicyNew
|
||||
${response_code} Get From Dictionary ${response} code
|
||||
Should Be Equal As Strings ${response_code} 200
|
||||
${response} Convert to String ${response}
|
||||
log ${response}
|
||||
|
||||
DeletePolicyNew1
|
||||
[Arguments] ${policyids}
|
||||
#删除策略
|
||||
log toDeletePolicy_DeletePolicyDeletePolicy
|
||||
${response} BaseDeleteRequest /${version}/policy/compile {"policyType":"pxy_manipulation","policyIds":[${policyids}]}
|
||||
${response_code} Get From Dictionary ${response} code
|
||||
Should Be Equal As Strings ${response_code} 200
|
||||
${response} Convert to String ${response}
|
||||
log ${response}
|
||||
|
||||
DeletePolicyFile2
|
||||
[Arguments] ${url} ${profileId}
|
||||
#删除文件
|
||||
log todeleteobj_DeletePolicyAndObject
|
||||
log todeleteobj
|
||||
${response} BaseDeleteRequest ${url} {"profileIds":[${profileId}]}
|
||||
${response_code} Get From Dictionary ${response} code
|
||||
Should Be Equal As Strings ${response_code} 200
|
||||
${response} Convert to String ${response}
|
||||
log ${response}
|
||||
@@ -1,43 +1,43 @@
|
||||
*** Settings ***
|
||||
Library Smtp3Library
|
||||
|
||||
*** Keywords ***
|
||||
EmailLogin
|
||||
[Arguments] ${SURL} ${SPORT} ${SUSER} ${SPWD}
|
||||
[Documentation] [${SURL}:邮箱发送服务器,比如:腾讯企业邮箱:smtp.exmail.qq.com;qq邮箱:smtp.qq.com;163邮箱:smtp.163.com等]
|
||||
... [${SPORT}:邮箱发送服务器的端口,无论是哪种邮箱的,一般是25,该值可灵活填充]
|
||||
... [${SUSER}:邮箱登入用户名,无需转码]
|
||||
... [${SPWD}:登入密码。对于腾讯企业邮箱,密码无变化;qq邮箱需要第三方授权码登入;163邮箱需要第三方授权码登入]
|
||||
... [关键字返回值:这是163邮箱的返回结果:不同邮箱可能不太一样(235, b'Authentication successful')]
|
||||
[Tags] function email send
|
||||
Prepare Connection ${SURL} ${SPORT} ${SUSER} ${SPWD}
|
||||
Connect
|
||||
Ehlo
|
||||
${result} logins
|
||||
run keyword if "${result}"=="fail" log ${result}
|
||||
... ELSE run keywords Quit AND Close Connection
|
||||
#Quit
|
||||
#Close Connection
|
||||
[Return] ${result} # 返回登入结果
|
||||
|
||||
EmailSendFull
|
||||
[Arguments] ${SURL} ${SPORT} ${SUSER} ${PWD} ${SUBJ} ${FROM} ${to} ${cc} ${bcc} ${Sbody} ${attach}
|
||||
[Documentation] [注意:所有参数都是必填参数]
|
||||
... [${SURL}:邮箱发送服务器,比如:smtp.qq.com]
|
||||
... [${SPORT}:邮箱服务器,写法如:25]
|
||||
... [${SUSER}:登入名,如:zhangsan@qq.com]
|
||||
... [${PWD}:登入密码,不同类型的邮箱登入密码需求不一样,具体看EmailLogin关键字对于密码的要求]
|
||||
... [${SUBJ}:主题,如:111111]
|
||||
... [${FROM} :发送者,例如:zhangsan@qq.com]
|
||||
... [ ${to} :接收者,可以写多个,写法例如:["lisi@qq.com","wangwu@163.com"] ,若写单个接收者["lisi@qq.com"] ]
|
||||
... [${cc}:抄送者。可以写多个,写法同${to}]
|
||||
... [${bcc}:密送者。可以写多个,写法同${to}]
|
||||
... [${Sbody}:邮件正文,写法如:1234teacher]
|
||||
... [${attach}:附件文本,可以写多个,注意本地是否有这些文件。写法如:["1.txt","E://abc.txt"]]
|
||||
... [关键字返回值:发送成功会返回{},空的内容]
|
||||
[Tags] function email send
|
||||
Prepare Connection ${SURL} ${SPORT} ${SUSER} ${PWD}
|
||||
${send_result} Send Message With All Parameters ${SURL} ${SUSER} ${PWD} ${SUBJ} ${FROM} ${to} ${cc} ${bcc} ${Sbody} ${attach}
|
||||
Comment Send Message
|
||||
Close Connection
|
||||
[Return] ${send_result} # 返回发送邮件结果
|
||||
*** Settings ***
|
||||
Library Smtp3Library
|
||||
|
||||
*** Keywords ***
|
||||
EmailLogin
|
||||
[Arguments] ${SURL} ${SPORT} ${SUSER} ${SPWD}
|
||||
[Documentation] [${SURL}:邮箱发送服务器,比如:腾讯企业邮箱:smtp.exmail.qq.com;qq邮箱:smtp.qq.com;163邮箱:smtp.163.com等]
|
||||
... [${SPORT}:邮箱发送服务器的端口,无论是哪种邮箱的,一般是25,该值可灵活填充]
|
||||
... [${SUSER}:邮箱登入用户名,无需转码]
|
||||
... [${SPWD}:登入密码。对于腾讯企业邮箱,密码无变化;qq邮箱需要第三方授权码登入;163邮箱需要第三方授权码登入]
|
||||
... [关键字返回值:这是163邮箱的返回结果:不同邮箱可能不太一样(235, b'Authentication successful')]
|
||||
[Tags] function email send
|
||||
Prepare Connection ${SURL} ${SPORT} ${SUSER} ${SPWD}
|
||||
Connect
|
||||
Ehlo
|
||||
${result} logins
|
||||
run keyword if "${result}"=="fail" log ${result}
|
||||
... ELSE run keywords Quit AND Close Connection
|
||||
#Quit
|
||||
#Close Connection
|
||||
[Return] ${result} # 返回登入结果
|
||||
|
||||
EmailSendFull
|
||||
[Arguments] ${SURL} ${SPORT} ${SUSER} ${PWD} ${SUBJ} ${FROM} ${to} ${cc} ${bcc} ${Sbody} ${attach}
|
||||
[Documentation] [注意:所有参数都是必填参数]
|
||||
... [${SURL}:邮箱发送服务器,比如:smtp.qq.com]
|
||||
... [${SPORT}:邮箱服务器,写法如:25]
|
||||
... [${SUSER}:登入名,如:zhangsan@qq.com]
|
||||
... [${PWD}:登入密码,不同类型的邮箱登入密码需求不一样,具体看EmailLogin关键字对于密码的要求]
|
||||
... [${SUBJ}:主题,如:111111]
|
||||
... [${FROM} :发送者,例如:zhangsan@qq.com]
|
||||
... [ ${to} :接收者,可以写多个,写法例如:["lisi@qq.com","wangwu@163.com"] ,若写单个接收者["lisi@qq.com"] ]
|
||||
... [${cc}:抄送者。可以写多个,写法同${to}]
|
||||
... [${bcc}:密送者。可以写多个,写法同${to}]
|
||||
... [${Sbody}:邮件正文,写法如:1234teacher]
|
||||
... [${attach}:附件文本,可以写多个,注意本地是否有这些文件。写法如:["1.txt","E://abc.txt"]]
|
||||
... [关键字返回值:发送成功会返回{},空的内容]
|
||||
[Tags] function email send
|
||||
Prepare Connection ${SURL} ${SPORT} ${SUSER} ${PWD}
|
||||
${send_result} Send Message With All Parameters ${SURL} ${SUSER} ${PWD} ${SUBJ} ${FROM} ${to} ${cc} ${bcc} ${Sbody} ${attach}
|
||||
Comment Send Message
|
||||
Close Connection
|
||||
[Return] ${send_result} # 返回发送邮件结果
|
||||
|
||||
Reference in New Issue
Block a user