1、提交application接口关键字,2、提交Signatures接口关键字,3、提交删除application和Signatures关键字

4、提交新建monitor策略的application用例以及删除策略和对象的用例
This commit is contained in:
lyf
2021-04-26 09:38:04 +08:00
parent a06823c228
commit 47ca680bba
3 changed files with 158 additions and 2 deletions

View File

@@ -143,4 +143,3 @@ LogApiVerifyCase-007
${responsebody} timedistribution ${logurl} ${token} ${StartTime} ${EndTime} ${logType} ${granularity} ${filter}
log ${responsebody}

View File

@@ -0,0 +1,63 @@
*** Settings ***
#Test Teardown DeletePolicyAndObjectAndApplicationAndSignature ${policyIds} ${objectIds} ${appId} ${signaturesId}
Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot
Resource ../../../02-Keyword/tsg_bfapi/policy_object/Policy.robot
Resource ../../../02-Keyword/tsg_bfapi/policy_object/Object.robot
Resource ../../../02-Keyword/tsg_bfapi/policy_object/Log.robot
Resource ../../../02-Keyword/tsg_bfapi/policy_object/Application.robot
Resource ../../../02-Keyword/tsg_bfapi/Common.robot
Resource ../../../03-Variable/ApplicationID.txt
Library json
Library DateTime
*** Variables ***
@{policyIds}
@{profiles}
${objectIds} ${EMPTY}
*** Test Cases ***
Monitor-test-001
Comment 创建IP
${addItemList1} Create Dictionary isSession=endpoint ip=192.168.50.59 port=0-65535 direction=0 protocol=0 isInitialize=0
${addItemLists} Create list ${addItemList1}
${objectDict} Create Dictionary objectType=ip objectSubType=endpoint isValid=${1} addItemList=${addItemLists}
${rescode} ${objectId} AddObjects ${1} ${objectDict}
Comment 创建Signatures
${signaturesBody} Set Variable {"returnData":1,"opAction":"add","signatures":[{"signatureName":"${TEST NAME}","profileModifiedTime":"","iconColor":"","signatureDesc":"","andConditions":[{"sigObjectName":"Condition 1","orConditions":[{"sigObjectName":"null","attributeName":"udp.payload.c2s_first_data","layer":"session_layer","stage":1,"attributeType":"string","attributeId":67,"objectId":[],"lowBoundary":"","upBoundary":"","exprType":0,"enableOffset":false,"keywordObj":[{"keywords":"www.google.com ","offset":"","depth":""}],"attributeFlag":1,"matchMethod":0,"isHexbin":0,"protocol":"udp","luaProfileId":0}]}]}]}
${signaturesId} AddSignature ${signaturesBody}
Comment 创建Application
${applicationBody} Set Variable {"opAction":"add","returnData":1,"appObj":{"appId":"","appName":"${TEST NAME}","standardPorts":"","isValid":1,"appProperties":{"parentAppId":0,"category":"networking","subcategory":"proxy","technology":"peer-to-peer","risk":"3","characteristics":"","denyAction":0,"continueScanning":0,"tcpTimeout":0,"udpTimeout":0,"tcpHalfClose":null,"tcpTimeWait":null},"appSurrogates":[{"appSuid":null,"group_by":"session","time_window":0,"ordered_match":"no","show":false,"signature_sequence":[{"signature_id":${signaturesId},"exclude":0,"iconColor":""}]}]}}
${appId} AddApplication ${applicationBody}
Comment 查询Application获取AppIDObject
${appidobject} GetAppIdObjects ${appId}
Comment 创建策略
${policyDict} Create Dictionary policyName=${TEST NAME} policyType=tsg_security action=monitor source=${objectId}|TSG_SECURITY_SOURCE_ADDR userRegion={"protocol":"${TEST NAME}"} isValid=${1} appIdObjects=${appidobject}
${rescode} ${policyIds} AddPolicies 1 ${policyDict} v2
log ${policyIds}[0][policyIds][0]
# insert_policyId_to_file1 monitor_policyId ${policyIds}[0][policyIds][0]
# insert_policyId_to_file1 monitor_applicationId ${appId}
# insert_policyId_to_file1 monitor_signaturesId ${signaturesId}
# insert_policyId_to_file1 monitor_objectId ${objectId}
Delete-test
#删除对象
${objectids} set Variable ${monitor_objectId}
# ${objectids} Catenate SEPARATOR=, ${objectids} ${monitor_policyId1}
# ${objectids} Catenate SEPARATOR=, ${objectids} ${monitor_policyId2}
#删除策略
${policyIds} set Variable ${monitor_policyId}
# ${policyIds} Catenate SEPARATOR=, ${policyIds} ${monitor_policyId1}
# ${policyIds} Catenate SEPARATOR=, ${policyIds} ${monitor_policyId2}
#删除Application
${appId} set Variable ${monitor_applicationId}
# ${appId} Catenate SEPARATOR=, ${appId} ${monitor_applicationId1}
# ${appId} Catenate SEPARATOR=, ${appId} ${monitor_applicationId2}
#删除Signatures
${signaturesId} set Variable ${monitor_signaturesId}
# ${signaturesId} Catenate SEPARATOR=, ${signaturesId} ${monitor_signaturesId}
# ${signaturesId} Catenate SEPARATOR=, ${signaturesId} ${monitor_signaturesId}

View File

@@ -0,0 +1,94 @@
*** 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
Library ../../../04-CustomLibrary/Library/fileOperations.py
Library DatabaseLibrary
*** Variables ***
${applicationUrl} /application
${signatureUrl} /application/signatures
*** Keywords ***
AddSignature
[Arguments] ${signaturereqbody}
[Documentation] 新增Signature返回Signature ID
${response} BasePostRequestForV2 ${signatureUrl} ${signaturereqbody} ${version}
${rescode} Set Variable ${response['code']}
${signatureId} Set Variable ${response['data']['signatures'][0]['signatureId']}
Should Be Equal As Strings ${rescode} 200
[Return] ${signatureId}
AddApplication
[Arguments] ${appreqbody}
[Documentation] 新增Application返回APPIDObject
${response} BasePostRequestForV2 ${applicationUrl} ${appreqbody} ${version}
${rescode} Set Variable ${response['code']}
${appids} Set Variable ${response['data']['appObj']['appId']}
Should Be Equal As Strings ${rescode} 200
[Return] ${appids}
GetAppIdObjects
[Arguments] ${appids}
[Documentation] 通过APPID查询Application返回APPIDObject
${response} BaseFormRequest ${applicationUrl} appIds=${appids} ${version}
${rescode} Set Variable ${response['code']}
${appidobject} Set Variable ${response['data']['list'][0]['objectId']}
Should Be Equal As Strings ${rescode} 200
[Return] ${appidobject}
DeletePolicyAndObjectAndApplicationAndSignature
[Arguments] ${policyids} ${objectids} ${appids} ${signatureId}
#删除和对象
#2020-09-01修改引用DeletePolicyAndGroupObject避免分别维护并兼容之前用例
Run Keyword If "${policyids}"=="${EMPTY}" log no policyids to del
... ELSE DeletePolicyNew ${policyids}
Run Keyword If "${objectids}"=="${EMPTY}" log no Objects to del
... ELSE DeleteObjectNew ${objectids}
Run Keyword If "${appids}"=="${EMPTY}" log no appids to del
... ELSE DeleteApplicationNew ${appids}
Run Keyword If "${signatureId}"=="${EMPTY}" log no appids to del
... ELSE DeleteSignatureNew ${signatureId}
DeleteApplicationNew
[Arguments] ${appids}
#删除Application
${response} BaseDeleteRequest /${version}/application {"appIds":[${appids}]}
${response_code} Get From Dictionary ${response} code
Should Be Equal As Strings ${response_code} 200
${response} Convert to String ${response}
log ${response}
DeleteSignatureNew
[Arguments] ${signatureId}
#删除Signature
${response} BaseDeleteRequest /${version}/application/signatures {"signatureIds":[${signatureId}]}
${response_code} Get From Dictionary ${response} code
Should Be Equal As Strings ${response_code} 200
${response} Convert to String ${response}
log ${response}
DeleteObjectNew
[Arguments] ${objectids}
#删除对象
log todeleteobj
${response} BaseDeleteRequest /${version}/policy/object {"objectIds":[${objectids}]}
${response_code} Get From Dictionary ${response} code
Should Be Equal As Strings ${response_code} 200
${response} Convert to String ${response}
log ${response}
DeletePolicyNew
[Arguments] ${policyids}
#删除策略
log toDeletePolicy_DeletePolicyDeletePolicy
${response} BaseDeleteRequest /${version}/policy/compile {"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}
log ${response}