1、提交application接口关键字,2、提交Signatures接口关键字,3、提交删除application和Signatures关键字
4、提交新建monitor策略的application用例以及删除策略和对象的用例
This commit is contained in:
@@ -142,5 +142,4 @@ LogApiVerifyCase-007
|
||||
|
||||
${responsebody} timedistribution ${logurl} ${token} ${StartTime} ${EndTime} ${logType} ${granularity} ${filter}
|
||||
|
||||
log ${responsebody}
|
||||
|
||||
log ${responsebody}
|
||||
@@ -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}
|
||||
94
02-Keyword/tsg_bfapi/policy_object/Application.robot
Normal file
94
02-Keyword/tsg_bfapi/policy_object/Application.robot
Normal 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}
|
||||
Reference in New Issue
Block a user