diff --git a/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot b/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot index 5dcb213..4a90bdd 100644 --- a/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot +++ b/01-TestCase/tsg_bfapi/policy_object/PolicyObjectTests.robot @@ -556,4 +556,29 @@ Policy-log-v1-00028 ... conditions=common_server_port|int|in|${80}^${8080} ... orderBy=common_server_ip|true ... common_log_ids=162273027957354498 - ${resData} QueryLogs ${params} batch \ No newline at end of file + ${resData} QueryLogs ${params} batch +Policy-Delete-v1-00029 + Comment 创建urls + ${objectDict1} Create Dictionary objectType=url isValid=${1} addItemList=*baidu.com, + ${objectDict2} Create Dictionary objectType=url isValid=${1} addItemList=*google.com + ${objectDict} Create List ${objectDict1} ${objectDict2} + ${rescode} ${objectIds} AddObjects ${1} ${objectDict} + ${objectIds} Evaluate list(map(int, re.split('[,]', '${objectIds}'))) re + ${rescode} DeleteObjects ${objectIds} + ${objectIds} Set Variable ${EMPTY} +Policy-Import-v1-00030 + Comment 导入txt + ${objectIds} Set Variable ${EMPTY} + ${rescode} ImportObject uploadFiles url.txt url ${EMPTY} ${EMPTY} +Policy-Import-v1-00031 + Comment 导入csv + ${objectIds} Set Variable ${EMPTY} + ${rescode} ImportObject uploadFiles url.csv url ${EMPTY} ${EMPTY} +Policy-Import-v1-00032 + Comment 导入csv + ${objectIds} Set Variable ${EMPTY} + ${rescode} ImportObject uploadFiles IP.csv ip endpoint ${EMPTY} +Policy-Export-v1-00032 + Comment 导 出json + ${objectIds} Set Variable ${EMPTY} + ${response} ExportObject ip endpoint ${EMPTY} ${EMPTY} \ No newline at end of file diff --git a/02-Keyword/tsg_bfapi/Common.robot b/02-Keyword/tsg_bfapi/Common.robot index 66c589c..14f483c 100644 --- a/02-Keyword/tsg_bfapi/Common.robot +++ b/02-Keyword/tsg_bfapi/Common.robot @@ -181,4 +181,18 @@ BasePostRequestReturnBinary ${response} Post Request api ${requestUri} data=${data} log return data =${response} Should Be Equal As Strings ${response.status_code} 200 + [Return] ${response.content} +BaseGetRequestReturnBinary + [Documentation] + ... 下载文件专用 + ... 返回二进制数据 + [Arguments] ${requestUri} ${data} ${apiVersion} + Log Call BasePostRequestReturnBinary + ${headers} set variable {"Authorization":"${token}","Content-Type":"application/json"} + ${dataString} Dictionary-To-QueryParams ${data} + create session api http://${host}:${port}/${apiVersion} ${headers} + Log ${data} + ${response} Get Request api ${requestUri}?${dataString} + log return data =${response} + Should Be Equal As Strings ${response.status_code} 200 [Return] ${response.content} \ No newline at end of file diff --git a/02-Keyword/tsg_bfapi/policy_object/Object.robot b/02-Keyword/tsg_bfapi/policy_object/Object.robot index 2139430..7df0af3 100644 --- a/02-Keyword/tsg_bfapi/policy_object/Object.robot +++ b/02-Keyword/tsg_bfapi/policy_object/Object.robot @@ -69,4 +69,61 @@ GetObjectItems FOR ${item} IN @{data['list']} Append To List ${itemIds} ${item['itemId']} END - [Return] ${rescode} ${itemIds} ${data['list']} \ No newline at end of file + [Return] ${rescode} ${itemIds} ${data['list']} +DeleteObjects + [Documentation] + ... 删除策略对象 + ... params,传入的删除字典 + ... 结构为[1,2,3] + [Arguments] ${objectIds} + ${type} Evaluate isinstance(${objectIds},list) + Should Be True ${type} + ${dict} Create Dictionary objectIds=${objectIds} + ${json} json.Dumps ${dict} ensure_ascii=False + ${response} BaseDeleteRequest /${version}${objectUrl} ${json} + ${rescode} Set Variable ${response['code']} + Should Be Equal As Strings ${rescode} 200 + [Return] ${rescode} +ImportObject + [Documentation] + ... 策略对象导入 + ... filePath文件路径 + ... fileName文件名称 + ... objectType对象类型 + ... objectSubType对象子类型 + ... objectName对象名称 + [Arguments] ${filePath} ${fileName} ${objectType} ${objectSubType} ${objectName} + 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} + Should Not Be Empty ${objectType} + ${objectSubType} Run Keyword If "${objectType}"=="ip" and "${objectSubType}"=="${EMPTY}" Set Variable endpoint + ... ELSE Set Variable ${objectSubType} + ${subfix} Fetch From Right ${fileName} . + ${binFile} Run Keyword If "${subfix}"=="txt" Evaluate (r'${fileName}',open(r"${path}/${filePath}/${fileName}",'rb'),'text/plain') + ... ELSE IF "${subfix}"=="csv" Evaluate (r'${fileName}',open(r"${path}/${filePath}/${fileName}",'rb'),'application/vnd.ms-excel') + ... ELSE ${EMPTY} + ${data} Create Dictionary objectType=${objectType} + Run Keyword If "${objectSubType}"!="${EMPTY}" Set To Dictionary ${data} objectSubType=${objectSubType} + Run Keyword If "${objectName}"!="${EMPTY}" Set To Dictionary ${data} objectName=${objectName} + ${file} Create Dictionary file=${binFile} + ${response} BaseMultipartPostRequest ${objectUrl}/batch ${data} ${file} ${version} + ${rescode} Set Variable ${response['code']} + Should Be Equal As Strings ${rescode} 200 + [Return] ${rescode} +ExportObject + [Documentation] + ... 策略对象导出 + ... objectType ip,url等 + ... objectSubType 子类型 + ... objectIds 1,2,3 + ... objectName 字符串 + [Arguments] ${objectType} ${objectSubType} ${objectIds} ${objectName} + Should Not Be Empty ${objectType} + ${params} Create Dictionary objectType=${objectType} + Run Keyword If "${objectSubType}"!="${EMPTY}" Set To Dictionary ${params} objectSubType=${objectSubType} + Run Keyword If "${objectIds}"!="${EMPTY}" Set To Dictionary ${params} objectIds=${objectIds} + Run Keyword If "${objectName}"!="${EMPTY}" Set To Dictionary ${params} objectName=${objectName} + ${response} BaseGetRequestReturnBinary ${objectUrl}/batch ${params} ${version} + [Return] ${response} \ No newline at end of file diff --git a/05-Other/uploadFiles/IP.csv b/05-Other/uploadFiles/IP.csv new file mode 100644 index 0000000..ea95b95 --- /dev/null +++ b/05-Other/uploadFiles/IP.csv @@ -0,0 +1 @@ +192.168.41.67/32#8080 diff --git a/05-Other/uploadFiles/url.csv b/05-Other/uploadFiles/url.csv new file mode 100644 index 0000000..7980f99 --- /dev/null +++ b/05-Other/uploadFiles/url.csv @@ -0,0 +1 @@ +*.kuaishou.com diff --git a/05-Other/uploadFiles/url.txt b/05-Other/uploadFiles/url.txt new file mode 100644 index 0000000..dfd273e --- /dev/null +++ b/05-Other/uploadFiles/url.txt @@ -0,0 +1 @@ +*.google.com \ No newline at end of file