修改PolicyOrganize关键字,适用wannat策略,修改管控策略allow动作、redirect动作、replace动作用例curl请求地址

This commit is contained in:
jwc
2020-08-05 18:51:02 +08:00
parent 5e16452209
commit 4abeb11d4f
27 changed files with 355 additions and 517 deletions

View File

@@ -1,196 +0,0 @@
*** Settings ***
Test Teardown DeleteAfterCase ${policyIds} ${objectids}
Force Tags tsg_adc tsg_security selfserver
Library OperatingSystem
Resource ../../../02-Keyword/tsg_adc/SystemCommand.robot
Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot
Resource ../../../02-Keyword/tsg_bfapi/LogVariable.robot
Resource ../../../03-Variable/PolicyObjectDefault.txt
Resource ../../../02-Keyword/tsg_common/StmpHandle.robot
Resource ../../../03-Variable/AllFlowCaseVariable.txt
Resource ../../../02-Keyword/tsg_adc/FileOperation.robot
Resource ../../../03-Variable/BifangApiVariable.txt
Library Custometest
Library json
*** Variables ***
${policyIds} ${EMPTY}
${objectids} ${EMPTY}
${url} /policy/profile/responsepages
${profiledId} ${EMPTY}
${dict} ${None}
${caseName} SecurityPolicy-Deny-AllProtol-00001
*** Keywords ***
create-object-policy
[Arguments] @{flag}
Comment 创建目标IP
${objectDict} Create Dictionary
... objectType=IP
... isValid=1
... objectSubType=${Default_ObjectSubType}
... isInitialize=${Default_IsInitialize}
... isExclusion=${Default_IsExclusion}
... objectName=${caseName}_IPobject
... objectDesc=${Default_ObjectDesc}
... subObjectIds=${Default_SubObjectIds}
... addItemList=CIDR|192.168.100.5|32|0/0&${Default_AddItem_ServerIpFormat}|${Default_AddItem_ServerIp1}|${Default_AddItem_ServerIp2}|${Default_AddItem_ServerPort}|${Default_AddItem_IsInitialize}|${Default_AddItem_ItemName}|${Default_AddItem_ItemDesc}
${rescode} ${objectId} AddObject2 ${1} ${objectDict}
${objectids} Run Keyword If '${testPart}'=='all' set Variable ${objectId}
Comment 创建安全策略针对所有协议相当于BlackIP
${policyDict} Create Dictionary
... policyName=${caseName}
... policyType=tsg_security
... policyDesc=${Default_PolicyDesc}
... action=deny
... effectiveRange=${Default_EffectiveRange}
... userRegion=${Default_UserRegion}
... referenceObject=${objectId}|TSG_SECURITY_DESTINATION_ADDR
... isValid=${Default_IsValid}
... appObjectIdArray=2,3,4,5,6
... userTags=${Default_UserTags}
... doLog=2
... scheduleId=${Default_ScheduleId}
${rescode} ${policyId} AddPolicy2 ${1} ${policyDict}
${policyIds} Run Keyword If '${testPart}'=='all' Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
# 区分执行方式
${value} Run Keyword If ${flag}==[] insert_policyId_to_file ${caseName} ${policyId} ${objectids}
... ELSE Create Dictionary policyId=${policyId} objectId=${objectids}
Set Test Variable ${dict} ${value}
function-test
Run Keyword If '${testPart}'=='all' Sleep ${policyVerificationSleepSeconds}s
${starttime} Get Time
Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/selfserver/${caseName}_HTTP.bat
... ELSE set variable curl -kv http://open.node.com/
${stringlist} run keyword if '${systemType}'=='Windows' Create List Connection was reset
... ELSE Create List Connection reset by peer
${starttime_http} Get Time
${rescode} SystemCommands ${commandstr} ${stringlist}
Run Keyword If '${testPart}'=='all' Sleep ${policyLogVerificationSleepSeconds}s
${endtime_http} Get Time
#日志验证
#GetLogList security_event_log ${starttime} ${endtime} ${testClentIP} ${s} http_host open.node.com
Comment 功能端验证SSL验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/selfserver/${caseName}_SSL.bat
... ELSE set variable curl -kv https://open.node.com/
${stringlist} run keyword if '${systemType}'=='Windows' Create List Connection was reset
#OpenSSL SSL_connect: Connection was reset in connection to
#Send failure: Connection was reset
... ELSE Create List OpenSSL SSL_connect: Connection reset by peer in connection to
${starttime_ssl} Get Time
${rescode} SystemCommands ${commandstr} ${stringlist}
Run Keyword If '${testPart}'=='all' Sleep ${policyLogVerificationSleepSeconds}s
${endtime_ssl} Get Time
#日志验证
#GetLogList security_event_log ${starttime} ${endtime} ${testClentIP} ${s} ssl_sni open.node.com
Comment 功能端验证DNS验证
Comment 功能端验证MAIL验证
#${mail} EmailLogin mail.tsgmail.com 25 dongxiaoyan@mail.tsgmail.com dxy123
${starttime_mail} Get Time
${Smtp服务器} Set Variable 192.168.100.5
${Smtp服务器端口} Set Variable 25
${邮箱账号} Set Variable dongxiaoyan@mail.tsgmail.com
${邮箱密码} Set Variable dxy123
${邮件主题} Set Variable что- иностранныеsuject
${发送者} Set Variable dongxiaoyan@mail.tsgmail.com
${附件} Set Variable ["${mailpath}/朱明明测试文件.txt"]
${接收者} Set Variable ["jwctest@mail.tsgmail.com"]
${抄送者} Set Variable ["zmmtest@mail.tsgmail.com"]
${密送者} Set Variable ["lyftest@mail.tsgmail.com"]
${邮件正文} Set Variable 朱明明contentчто-иностранныеsuject
${mail} EmailSendFull ${Smtp服务器} ${Smtp服务器端口} ${邮箱账号} ${邮箱密码} ${邮件主题} ${发送者} ${接收者} ${抄送者} ${密送者} ${邮件正文} ${附件}
should contain ${mail} mail_fail
Run Keyword If '${testPart}'=='all' Sleep ${policyLogVerificationSleepSeconds}s
${endtime_mail} Get Time
#日志验证
#GetLogList security_event_log ${starttime} ${endtime} ${testClentIP} ${s} mail_protocol_type SMTP
Comment 功能端验证FTP验证
${starttime_ftp} Get Time
${ftpLogin} FTP_login ftp://192.168.100.5:21 -u"ftp_user:qazXSW@edc" test.txt
should contain ${ftpLogin} ftp_fail
#日志验证
#GetLogList security_event_log ${starttime} ${endtime} ${testClentIP} ${s} ftp_account ''
Run Keyword If '${testPart}'=='all' Sleep ${policyLogVerificationSleepSeconds}s
${endtime_ftp} Get Time
${endtime} Get Time
# 区分执行方式
Run Keyword If ${dict}==${None} insert_time_to_file ${caseName} ${starttime} ${endtime}
... ELSE Run Keyword Set To Dictionary ${dict} ${starttime} ${endtime}
log-test
# 日志验证
${obj} Run Keyword If ${dict}==${None} json.Loads ${caseName}
... ELSE Set Variable ${dict}
${policyId} Set Variable ${obj}[policyId]
${s} Convert to String ${policyId}
${objectids} Run Keyword If '${testPart}'!='all' set Variable ${obj}[objectids]
${policyIds} Run Keyword If '${testPart}'!='all' Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
Comment 功能端验证HTTP验证
#日志验证
GetLogList security_event_log ${starttime_http} ${endtime_http} ${testClentIP} ${s} http_host open.node.com
${obj}[starttime] ${obj}[endtime]
Comment 功能端验证SSL验证
#日志验证
GetLogList security_event_log ${starttime_ssl} ${endtime_ssl} ${testClentIP} ${s} ssl_sni open.node.com
Comment 功能端验证DNS验证
Comment 功能端验证MAIL验证
#日志验证
GetLogList security_event_log ${starttime_mail} ${endtime_mail} ${testClentIP} ${s} mail_protocol_type SMTP
Comment 功能端验证FTP验证
#日志验证
GetLogList security_event_log ${starttime_ftp} ${endtime_ftp} ${testClentIP} ${s} ftp_account ''
log-test_bak
# 日志验证
${obj} Run Keyword If ${dict}==${None} json.Loads ${caseName}
... ELSE Set Variable ${dict}
${policyId} Set Variable ${obj}[policyId]
${s} Convert to String ${policyId}
${objectids} Run Keyword If '${testPart}'!='all' set Variable ${obj}[objectids]
${policyIds} Run Keyword If '${testPart}'!='all' Create List {"policyType":"tsg_security","policyIds":[${policyId}]}
Comment 功能端验证HTTP验证
#日志验证
#GetLogList security_event_log ${starttime_http} ${endtime_http} ${testClentIP} ${s} http_host open.node.com
GetLogList security_event_log ${obj}[starttime_http] ${obj}[endtime_http] ${testClentIP} ${s} http_host open.node.com
${obj}[starttime] ${obj}[endtime]
Comment 功能端验证SSL验证
#日志验证
#GetLogList security_event_log ${starttime_ssl} ${endtime_ssl} ${testClentIP} ${s} ssl_sni open.node.com
GetLogList security_event_log ${obj}[starttime_ssl} ${obj}[endtime_ssl} ${testClentIP} ${s} ssl_sni open.node.com
Comment 功能端验证DNS验证
Comment 功能端验证MAIL验证
#日志验证
#GetLogList security_event_log ${starttime_mail} ${endtime_mail} ${testClentIP} ${s} mail_protocol_type SMTP
GetLogList security_event_log ${obj}[starttime_mail} ${obj}[endtime_mail} ${testClentIP} ${s} mail_protocol_type SMTP
Comment 功能端验证FTP验证
#日志验证
#GetLogList security_event_log ${starttime_ftp} ${endtime_ftp} ${testClentIP} ${s} ftp_account ''
GetLogList security_event_log ${obj}[starttime_ftp} ${obj}[endtime_ftp} ${testClentIP} ${s} ftp_account ''
*** Test Cases ***
MultiSecurityPolicy-Deny-AllProtol-00001
[Tags] securitypolciy deny allprotol multistep
#${caseName} set variable SecurityPolicy-Deny-AllProtol-00001
Run Keyword If '${testPart}'=='all' Run Keywords create-object-policy True
... AND function-test
... AND log-test
... ELSE IF ${testPart}==1 Run Keyword create-object-policy
... ELSE IF ${testPart}==2 Run Keyword function-test
... ELSE IF ${testPart}==3 Run Keyword log-test
#{"opAction":"add","policyList":{"policyId":"","policyName":"dxytest","policyType":"tsg_security","action":"deny","userTags":"","doBlacklist":0,"doLog":1,"policyDesc":"","effectiveRange":{"tag_sets":[[]]},"userRegion":{"method":"rst"},"referenceObject":[{"objectId":6926,"protocolFields":["TSG_SECURITY_SOURCE_ADDR"]},{"objectId":6943,"protocolFields":["TSG_SECURITY_DESTINATION_ADDR"]}],"isValid":0,"scheduleId":[],"appObjectIdArray":[2,3,4,5,6]}}

View File

@@ -91,13 +91,13 @@ Proxy-Policy-allow-00004
Proxy-Policy-allow-00005 Proxy-Policy-allow-00005
[Tags] 请求头 [Tags] 请求头
Comment 创建fqdn Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$www.motel6.com ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$boutiquehotel.me
${rescode} ${objectId} AddObject2 ${1} ${objectDict} ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=motel6.com/#/home ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=paris/
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头 Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=$Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36|User-Agent ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=Mozilla/5.0*|User-Agent
${rescode} ${objectId2} AddObject2 ${1} ${objectDict} ${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
@@ -172,7 +172,7 @@ Proxy-Policy-allow-00008
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=market/overview/ ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=market/overview/
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头 Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=*utf-8|Content-Type ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=*html|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict} ${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment Comment 创建拦截策略 Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
@@ -294,7 +294,7 @@ Proxy-Policy-allow-00013
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$russia.payu.com,*925mm.com,*qunar.com,$www.vitalsource.com ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$russia.payu.com,*925mm.com,*qunar.com,$www.vitalsource.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict} ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建set-cookie Comment 创建set-cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=pll_language=ru*|Set-Cookie,*Domain=qunar.com;Path=/|Set-Cookie,frontLang=zh-cn|Set-Cookie,_stargate_session*|Set-Cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=pll_language=ru*|Set-Cookie,*Domain=qunar.com; Path=/|Set-Cookie,frontLang=zh-cn|Set-Cookie,_stargate_session*|Set-Cookie
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
@@ -312,10 +312,10 @@ Proxy-Policy-allow-00013
Proxy-Policy-allow-00014 Proxy-Policy-allow-00014
[Tags] 最大组合1 [Tags] 最大组合1
Comment 创建fqdn Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*sutori.com ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$www.orbitz.com
${rescode} ${object_fqdn_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_fqdn_Id} AddObject2 ${1} ${objectDict}
Comment 创建url Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*teachers ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=*Flights
${rescode} ${object_url_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_url_Id} AddObject2 ${1} ${objectDict}
Comment 创建请求头 Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=Mozilla/5.0*|User-Agent ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=Mozilla/5.0*|User-Agent
@@ -324,10 +324,10 @@ Proxy-Policy-allow-00014
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=charset|Content-Type ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=charset|Content-Type
${rescode} ${object_yd_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_yd_Id} AddObject2 ${1} ${objectDict}
Comment 创建cookie Comment 创建cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=__stripe_sid|cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=__stripe_sid|Cookie
${rescode} ${object_ck_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_ck_Id} AddObject2 ${1} ${objectDict}
Comment 创建set-cookie Comment 创建set-cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=domain=.sutori.com|set-cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=Domain=.orbitz.com|Set-Cookie
${rescode} ${object_sk_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_sk_Id} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${object_fqdn_Id}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-allow policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${object_fqdn_Id}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3

View File

@@ -429,3 +429,29 @@ Proxy-Policy-deny-00017
insert_policyId_to_file1 deny_objectId45 ${object_body_Id} insert_policyId_to_file1 deny_objectId45 ${object_body_Id}
insert_policyId_to_file1 intercept_deny_policyId14 ${policyId1} insert_policyId_to_file1 intercept_deny_policyId14 ${policyId1}
insert_policyId_to_file1 deny_policyId16 ${policyId2} insert_policyId_to_file1 deny_policyId16 ${policyId2}
Proxy-Policy-deny-00018
[Tags] Sub Objects
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=$newsela.com
${rescode} ${objectId} AddObjects ${1} ${objectDict1}
${addItemList} Create List ${objectId}
${objectDict1} Create Dictionary objectType=url isValid=${1} subObjectIds=${addItemList}
${rescode} ${objectIds} AddObjects ${1} ${objectDict1}
${params} Create Dictionary objectId=${objectIds} itemType=url
${rescode} ${itemIds} ${itemList} GetObjectItems ${params}
Comment #创建引用文件
${response} CreatePolicyFile2 ${url} ${responsePageFiles} 404china.html resPages
${profiledId} Get From Dictionary ${response} profileId
Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-deny policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建deny策略
${policyDict} Create Dictionary policyName=Proxy-Policy-deny-00003 policyType=pxy_manipulation policyDesc=autotest action=deny userRegion={"method":"block","html_profile":${profiledId},"code":404,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 deny_profileId1 ${profiledId}
insert_policyId_to_file1 deny_objectId2 ${objectId}
insert_policyId_to_file1 intercept_deny_policyId2 ${policyId1}
insert_policyId_to_file1 deny_policyId2 ${policyId2}

View File

@@ -353,7 +353,7 @@ Proxy-Policy-hijack-00013
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$nsscreencast.com,*edreams.net,*boutiquehotel.me,$www.everymantravel.com ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$nsscreencast.com,*edreams.net,*boutiquehotel.me,$www.everymantravel.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict} ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建set-cookie Comment 创建set-cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=_nsscreencast_session_*|Set-Cookie,*Domain=.everymantravel.com;Path=/|Set-Cookie,Domain=.boutiquehotel.me|Set-Cookie,ADRUM_BTa*|Set-Cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=_nsscreencast_session_*|Set-Cookie,*Domain=.everymantravel.com;Path=/|Set-Cookie,Domain=.boutiquehotel.me|Set-Cookie,HOME1JSESSIONID*|Set-Cookie
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建url Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=nsscreencast,edreams,boutiquehotel,everymantravel ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=nsscreencast,edreams,boutiquehotel,everymantravel

View File

@@ -358,17 +358,21 @@ Proxy-Policy-insert-00013
Comment 创建insert文件 Comment 创建insert文件
${response} CreatePolicyFile2 ${url} ${path}/insert_files/ Create-Insert Scripts-test-1.js insert ${response} CreatePolicyFile2 ${url} ${path}/insert_files/ Create-Insert Scripts-test-1.js insert
${profiledId} Get From Dictionary ${response} profileId ${profiledId} Get From Dictionary ${response} profileId
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=www.shermanstravel.com,wyndhamhotels.com,travelnow.com,www.smithsonianjourneys.org
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-insert policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-insert policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建insert策略 Comment 创建insert策略
${policyDict} Create Dictionary policyName=Proxy-Policy-insert-00013 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"insert","insert_profile":${profiledId},"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-insert-00013 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"insert","insert_profile":${profiledId},"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_RES_HDR,${objectId2}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 insert_profileId12 ${profiledId} insert_policyId_to_file1 insert_profileId12 ${profiledId}
insert_policyId_to_file1 insert_objectId31 ${objectId} insert_policyId_to_file1 insert_objectId31 ${objectId}
insert_policyId_to_file1 insert_objectId32 ${objectId1} insert_policyId_to_file1 insert_objectId32 ${objectId1}
insert_policyId_to_file1 insert_objectId41 ${objectId2}
insert_policyId_to_file1 intercept_insert_policyId12 ${policyId1} insert_policyId_to_file1 intercept_insert_policyId12 ${policyId1}
insert_policyId_to_file1 insert_policyId12 ${policyId2} insert_policyId_to_file1 insert_policyId12 ${policyId2}
@@ -387,14 +391,18 @@ Proxy-Policy-insert-00014
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=charset|Content-Type ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=charset|Content-Type
${rescode} ${object_yd_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_yd_Id} AddObject2 ${1} ${objectDict}
Comment 创建cookie Comment 创建cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=__stripe_sid|cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=__stripe_sid|Cookie
${rescode} ${object_ck_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_ck_Id} AddObject2 ${1} ${objectDict}
Comment 创建set-cookie Comment 创建set-cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=Domain=.intervalworld.com|set-cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=Domain=.intervalworld.com|Set-Cookie
${rescode} ${object_sk_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_sk_Id} AddObject2 ${1} ${objectDict}
Comment 创建insert文件 Comment 创建insert文件
${response} CreatePolicyFile2 ${url} ${path}/insert_files/ Create-Insert Scripts-test-1.js insert ${response} CreatePolicyFile2 ${url} ${path}/insert_files/ Create-Insert Scripts-test-1.js insert
${profiledId} Get From Dictionary ${response} profileId ${profiledId} Get From Dictionary ${response} profileId
Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-insert policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${object_fqdn_Id}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建insert策略 Comment 创建insert策略
${policyDict} Create Dictionary policyName=Proxy-Policy-insert-00014 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"insert","insert_profile":${profiledId},"protocol":"HTTP"} filterList=${object_fqdn_Id}|TSG_FIELD_HTTP_HOST,${object_url_Id}|TSG_FIELD_HTTP_URL,${object_qq_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_yd_Id}|TSG_FIELD_HTTP_RES_HDR,${object_ck_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_sk_Id}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-insert-00014 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"insert","insert_profile":${profiledId},"protocol":"HTTP"} filterList=${object_fqdn_Id}|TSG_FIELD_HTTP_HOST,${object_url_Id}|TSG_FIELD_HTTP_URL,${object_qq_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_yd_Id}|TSG_FIELD_HTTP_RES_HDR,${object_ck_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_sk_Id}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
@@ -406,4 +414,5 @@ Proxy-Policy-insert-00014
insert_policyId_to_file1 insert_objectId36 ${object_yd_Id} insert_policyId_to_file1 insert_objectId36 ${object_yd_Id}
insert_policyId_to_file1 insert_objectId37 ${object_ck_Id} insert_policyId_to_file1 insert_objectId37 ${object_ck_Id}
insert_policyId_to_file1 insert_objectId38 ${object_sk_Id} insert_policyId_to_file1 insert_objectId38 ${object_sk_Id}
insert_policyId_to_file1 intercept_insert_policyId13 ${policyId1}
insert_policyId_to_file1 insert_policyId13 ${policyId2} insert_policyId_to_file1 insert_policyId13 ${policyId2}

View File

@@ -42,7 +42,7 @@ Proxy-Policy-redirect-00002
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00002 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST,${objectId1}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00002 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST,${objectId1}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId1 ${objectId} insert_policyId_to_file1 redirect_objectId1 ${objectId}
@@ -137,7 +137,7 @@ Proxy-Policy-redirect-00006
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00006 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00006 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://yhd.com","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId10 ${objectId} insert_policyId_to_file1 redirect_objectId10 ${objectId}
@@ -162,7 +162,7 @@ Proxy-Policy-redirect-00007
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00007 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00007 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://yhd.com","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId13 ${objectId} insert_policyId_to_file1 redirect_objectId13 ${objectId}
@@ -187,7 +187,7 @@ Proxy-Policy-redirect-00008
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00008 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00008 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://yhd.com","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId16 ${objectId} insert_policyId_to_file1 redirect_objectId16 ${objectId}
@@ -212,7 +212,7 @@ Proxy-Policy-redirect-00009
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00009 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00009 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://yhd.com","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId19 ${objectId} insert_policyId_to_file1 redirect_objectId19 ${objectId}
@@ -274,7 +274,7 @@ Proxy-Policy-redirect-00011
Proxy-Policy-redirect-00012 Proxy-Policy-redirect-00012
[Tags] cookie [Tags] cookie
Comment 创建fqdn Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$polb.com ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=$www.polb.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict} ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=environment/shore-power#shore-power-program-details ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=environment/shore-power#shore-power-program-details
@@ -304,16 +304,20 @@ Proxy-Policy-redirect-00013
Comment 创建set-cookie Comment 创建set-cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=mobile=2*|Set-Cookie,*domain=.egencia.com; HttpOnly|Set-Cookie,domain=.expediapartnersolutions.com|Set-Cookie,AKA_A2=A*|Set-Cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=mobile=2*|Set-Cookie,*domain=.egencia.com; HttpOnly|Set-Cookie,domain=.expediapartnersolutions.com|Set-Cookie,AKA_A2=A*|Set-Cookie
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=www.travelmath.com,egencia.com,expediapartnersolutions.com,www.concur.com
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-redirect policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-redirect policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00013 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00013 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_RES_HDR,${objectId2}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId31 ${objectId} insert_policyId_to_file1 redirect_objectId31 ${objectId}
insert_policyId_to_file1 redirect_objectId32 ${objectId1} insert_policyId_to_file1 redirect_objectId32 ${objectId1}
insert_policyId_to_file1 redirect_objectId46 ${objectId2}
insert_policyId_to_file1 intercept_redirect_policyId12 ${policyId1} insert_policyId_to_file1 intercept_redirect_policyId12 ${policyId1}
insert_policyId_to_file1 redirect_policyId12 ${policyId2} insert_policyId_to_file1 redirect_policyId12 ${policyId2}
@@ -325,16 +329,20 @@ Proxy-Policy-redirect-00014
Comment 创建fqdn Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*open.node.com ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*open.node.com
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=action
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-redirect policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId1}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-redirect policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId1}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00014 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_REQ_CONTENT isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00014 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_REQ_CONTENT,${objectId2}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId33 ${objectId} insert_policyId_to_file1 redirect_objectId33 ${objectId}
insert_policyId_to_file1 redirect_objectId34 ${objectId1} insert_policyId_to_file1 redirect_objectId34 ${objectId1}
insert_policyId_to_file1 redirect_objectId47 ${objectId2}
insert_policyId_to_file1 intercept_redirect_policyId13 ${policyId1} insert_policyId_to_file1 intercept_redirect_policyId13 ${policyId1}
insert_policyId_to_file1 redirect_policyId13 ${policyId2} insert_policyId_to_file1 redirect_policyId13 ${policyId2}
@@ -385,7 +393,7 @@ Proxy-Policy-redirect-00016
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建redirect策略 Comment 创建redirect策略
${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00016 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${object_fqdn_Id}|TSG_FIELD_HTTP_HOST,${object_url_Id}|TSG_FIELD_HTTP_URL,${object_qq_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_yd_Id}|TSG_FIELD_HTTP_RES_HDR,${object_body_Id}|TSG_FIELD_HTTP_RES_CONTENT isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-redirect-00016 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"redirect","to":"https://deseretbook.com/t/ebooks/biography-autobiography","code":302,"protocol":"HTTP"} filterList=${object_fqdn_Id}|TSG_FIELD_HTTP_HOST,${object_url_Id}|TSG_FIELD_HTTP_URL,${object_qq_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_yd_Id}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 redirect_objectId40 ${object_fqdn_Id} insert_policyId_to_file1 redirect_objectId40 ${object_fqdn_Id}

View File

@@ -180,7 +180,7 @@ Proxy-Policy-replace-00008
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=ghzq/index.html ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=ghzq/index.html
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头 Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=*utf-8|Content-Type ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=*html|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict} ${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment Comment 创建拦截策略 Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
@@ -205,7 +205,7 @@ Proxy-Policy-replace-00009
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=consult/consult.aspx ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=consult/consult.aspx
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头 Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=$text/html|Content-Type ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=$text/html; charset=utf-8|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict} ${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment Comment 创建拦截策略 Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
@@ -222,27 +222,23 @@ Proxy-Policy-replace-00009
insert_policyId_to_file1 replace_policyId8 ${policyId2} insert_policyId_to_file1 replace_policyId8 ${policyId2}
Proxy-Policy-replace-00010 Proxy-Policy-replace-00010
[Tags] 应答头 [Tags] 替换请求体
Comment 创建fqdn Comment 创建fqdn
${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*open.node.com ${objectDict} Create Dictionary objectType=fqdn isValid=${1} addItemList=*open.node.com
${rescode} ${objectId} AddObject2 ${1} ${objectDict} ${rescode} ${objectId} AddObject2 ${1} ${objectDict}
Comment 创建url Comment 创建url
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=action ${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=action
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建请求头
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=text/html|Content-Type
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment Comment 创建拦截策略 Comment Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"HTTP"} filterList=${objectId}|TSG_FIELD_HTTP_HOST isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建replace策略 Comment 创建replace策略
${policyDict} Create Dictionary policyName=Proxy-Policy-replace-00010 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"hello","replace_with":"111111"}],"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL,${objectId2}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-replace-00010 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"replace","rules":[{"search_in":"http_req_body","find":"hello","replace_with":"111111"}],"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 replace_objectId22 ${objectId} insert_policyId_to_file1 replace_objectId22 ${objectId}
insert_policyId_to_file1 replace_objectId23 ${objectId1} insert_policyId_to_file1 replace_objectId23 ${objectId1}
insert_policyId_to_file1 replace_objectId24 ${objectId2}
insert_policyId_to_file1 intercept_replace_policyId9 ${policyId1} insert_policyId_to_file1 intercept_replace_policyId9 ${policyId1}
insert_policyId_to_file1 replace_policyId9 ${policyId2} insert_policyId_to_file1 replace_policyId9 ${policyId2}
@@ -304,16 +300,20 @@ Proxy-Policy-replace-00013
Comment 创建set-cookie Comment 创建set-cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=AWSALB*|Set-Cookie,*Domain=.expedia.co.uk; Secure; SameSite=None|Set-Cookie,AWSALBCORS=|Set-Cookie,CurentCulture=en-US*|Set-Cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=AWSALB*|Set-Cookie,*Domain=.expedia.co.uk; Secure; SameSite=None|Set-Cookie,AWSALBCORS=|Set-Cookie,CurentCulture=en-US*|Set-Cookie
${rescode} ${objectId1} AddObject2 ${1} ${objectDict} ${rescode} ${objectId1} AddObject2 ${1} ${objectDict}
Comment 创建URL
${objectDict} Create Dictionary objectType=url isValid=${1} addItemList=www.classicvacations.com,expediacruises.com,expediagroup.com,www.expedia.co.uk
${rescode} ${objectId2} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${objectId}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建replace策略 Comment 创建replace策略
${policyDict} Create Dictionary policyName=Proxy-Policy-replace-00013 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"replace","rules":[{"search_in":"http_resp_header","find":"html","replace_with":"json"}],"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-replace-00013 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"replace","rules":[{"search_in":"http_resp_header","find":"html","replace_with":"json"}],"protocol":"HTTP"} filterList=${objectId1}|TSG_FIELD_HTTP_RES_HDR,${objectId2}|TSG_FIELD_HTTP_URL isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 replace_objectId31 ${objectId} insert_policyId_to_file1 replace_objectId31 ${objectId}
insert_policyId_to_file1 replace_objectId32 ${objectId1} insert_policyId_to_file1 replace_objectId32 ${objectId1}
insert_policyId_to_file1 replace_objectId41 ${objectId2}
insert_policyId_to_file1 intercept_replace_policyId12 ${policyId1} insert_policyId_to_file1 intercept_replace_policyId12 ${policyId1}
insert_policyId_to_file1 replace_policyId12 ${policyId2} insert_policyId_to_file1 replace_policyId12 ${policyId2}
@@ -332,17 +332,17 @@ Proxy-Policy-replace-00014
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=charset|Content-Type ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=charset|Content-Type
${rescode} ${object_yd_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_yd_Id} AddObject2 ${1} ${objectDict}
Comment 创建cookie Comment 创建cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=__stripe_sid|cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=__stripe_sid|Cookie
${rescode} ${object_ck_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_ck_Id} AddObject2 ${1} ${objectDict}
Comment 创建set-cookie Comment 创建set-cookie
${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=CURRENCY=USD|set-cookie ${objectDict} Create Dictionary objectType=http_signature isValid=${1} addItemList=CURRENCY=USD|Set-Cookie
${rescode} ${object_sk_Id} AddObject2 ${1} ${objectDict} ${rescode} ${object_sk_Id} AddObject2 ${1} ${objectDict}
Comment 创建拦截策略 Comment 创建拦截策略
${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${object_fqdn_Id}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3 ${policyDict} Create Dictionary policyName=SecurityPolicy-Intercept-replace policyType=tsg_security policyDesc=autotest action=intercept userRegion={"protocol":"SSL","keyring":1,"decryption":1,"decrypt_mirror":{"enable":0,"mirror_profile":null}} filterList=${object_fqdn_Id}|TSG_FIELD_SSL_SNI isValid=${1} appIdObjects=3
log ${policyDict} log ${policyDict}
${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId1} AddPolicies 1 ${policyDict} v2
Comment 创建replace策略 Comment 创建replace策略
${policyDict} Create Dictionary policyName=Proxy-Policy-replace-00014 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"replace","rules":[{"search_in":"http_resp_header","find":"html","replace_with":"json"}],"protocol":"HTTP"} filterList=${object_fqdn_Id}|TSG_FIELD_HTTP_HOST,${object_url_Id}|TSG_FIELD_HTTP_URL,${object_qq_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_yd_Id}|TSG_FIELD_HTTP_RES_HDR,${object_ck_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_sk_Id}|TSG_FIELD_HTTP_RES_HDR isValid=${1} appIdObjects=2 ${policyDict} Create Dictionary policyName=Proxy-Policy-replace-00014 policyType=pxy_manipulation policyDesc=autotest action=manipulation userRegion={"method":"replace","rules":[{"search_in":"http_resp_header","find":"html","replace_with":"json"}],"protocol":"HTTP"} filterList=${object_fqdn_Id}|TSG_FIELD_HTTP_HOST,${object_url_Id}|TSG_FIELD_HTTP_URL,${object_qq_Id}|TSG_FIELD_HTTP_REQ_HDR,${object_yd_Id}|TSG_FIELD_HTTP_RES_HDR,${object_sk_Id}|TSG_FIELD_HTTP_RES_HDR,${object_ck_Id}|TSG_FIELD_HTTP_REQ_HDR isValid=${1} appIdObjects=2
log ${policyDict} log ${policyDict}
${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2 ${rescode} ${policyId2} AddPolicies 1 ${policyDict} v2
insert_policyId_to_file1 replace_objectId33 ${object_fqdn_Id} insert_policyId_to_file1 replace_objectId33 ${object_fqdn_Id}

View File

@@ -100,9 +100,9 @@ Proxy-Policy-allow-00005
[Tags] 请求头 [Tags] 请求头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_allow_00005.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_allow_00005.bat
... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.motel6.com/#/home ... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" --referer 'https://www.baidu.com/' https://boutiquehotel.me/paris/
${stringlist} run keyword if '${systemType}'=='Windows' Create List This site might not work properly in this browser Tango Secure Gateway CA ${stringlist} run keyword if '${systemType}'=='Windows' Create List helps you find the best boutique hotels around the Tango Secure Gateway CA
... ELSE Create List This site might not work properly in this browser Tango Secure Gateway CA ... ELSE Create List helps you find the best boutique hotels around the Tango Secure Gateway CA
${starttime} Get Time ${starttime} Get Time
Sleep ${policyVerificationSleepSeconds}s Sleep ${policyVerificationSleepSeconds}s
${rescode} SystemCommands ${commandstr} ${stringlist} ${rescode} SystemCommands ${commandstr} ${stringlist}
@@ -258,10 +258,10 @@ Proxy-Policy-allow-00013
Proxy-Policy-allow-00014 Proxy-Policy-allow-00014
[Tags] 最大组合 [Tags] 最大组合
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_allow_00017.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_allow_00014.bat
... ELSE set variable curl -kv \ --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" \ --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.sutori.com/teachers ... ELSE set variable curl -kv \ --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" \ --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.orbitz.com/Flights
${stringlist} run keyword if '${systemType}'=='Windows' Create List The best instructional and presentation tool Tango Secure Gateway CA ${stringlist} run keyword if '${systemType}'=='Windows' Create List plenty of cheap airfare and flights to choose from Tango Secure Gateway CA
... ELSE Create List The best instructional and presentation tool Tango Secure Gateway CA ... ELSE Create List plenty of cheap airfare and flights to choose from Tango Secure Gateway CA
${starttime} Get Time ${starttime} Get Time
Sleep ${policyVerificationSleepSeconds}s Sleep ${policyVerificationSleepSeconds}s
${rescode} SystemCommands ${commandstr} ${stringlist} ${rescode} SystemCommands ${commandstr} ${stringlist}

View File

@@ -258,7 +258,7 @@ Proxy-Policy-hijack-00013
Proxy-Policy-hijack-00014 Proxy-Policy-hijack-00014
[Tags] 最大组合 [Tags] 最大组合
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_hijack_00017.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_hijack_00014.bat
... ELSE set variable curl -kv \ --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" \ --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.visitphilly.com/covid-19-resources-for-greater-philadelphia/ ... ELSE set variable curl -kv \ --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" \ --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.visitphilly.com/covid-19-resources-for-greater-philadelphia/
${stringlist} run keyword if '${systemType}'=='Windows' Create List test-2.gif Tango Secure Gateway CA ${stringlist} run keyword if '${systemType}'=='Windows' Create List test-2.gif Tango Secure Gateway CA
... ELSE Create List test-2.gif Tango Secure Gateway CA ... ELSE Create List test-2.gif Tango Secure Gateway CA

View File

@@ -115,8 +115,8 @@ Proxy-Policy-redirect-00006
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00006.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00006.bat
... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" --referer 'https://www.baidu.com/' https://www.marriottvacationclub.com/timeshare-ownership/about/ ... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" --referer 'https://www.baidu.com/' https://www.marriottvacationclub.com/timeshare-ownership/about/
${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA ${stringlist} run keyword if '${systemType}'=='Windows' Create List https://yhd.com Tango Secure Gateway CA
... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA ... ELSE Create List https://yhd.com Tango Secure Gateway CA
${starttime} Get Time ${starttime} Get Time
Sleep ${policyVerificationSleepSeconds}s Sleep ${policyVerificationSleepSeconds}s
${rescode} SystemCommands ${commandstr} ${stringlist} ${rescode} SystemCommands ${commandstr} ${stringlist}
@@ -129,8 +129,8 @@ Proxy-Policy-redirect-00007
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00007.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00007.bat
... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" --referer 'https://www.baidu.com/' https://www.bulgarihotels.com/zh_CN/ ... ELSE set variable curl -kv --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" --referer 'https://www.baidu.com/' https://www.bulgarihotels.com/zh_CN/
${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA ${stringlist} run keyword if '${systemType}'=='Windows' Create List https://yhd.com Tango Secure Gateway CA
... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA ... ELSE Create List https://yhd.com Tango Secure Gateway CA
${starttime} Get Time ${starttime} Get Time
Sleep ${policyVerificationSleepSeconds}s Sleep ${policyVerificationSleepSeconds}s
${rescode} SystemCommands ${commandstr} ${stringlist} ${rescode} SystemCommands ${commandstr} ${stringlist}
@@ -142,9 +142,9 @@ Proxy-Policy-redirect-00008
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00008.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00008.bat
... ELSE set variable curl http://www.essence.com.cn/business/fixed ... ELSE set variable curl -kv http://www.essence.com.cn/business/fixed
${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography ${stringlist} run keyword if '${systemType}'=='Windows' Create List https://yhd.com
... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography ... ELSE Create List https://yhd.com
${starttime} Get Time ${starttime} Get Time
Sleep ${policyVerificationSleepSeconds}s Sleep ${policyVerificationSleepSeconds}s
${rescode} SystemCommands ${commandstr} ${stringlist} ${rescode} SystemCommands ${commandstr} ${stringlist}
@@ -156,9 +156,9 @@ Proxy-Policy-redirect-00009
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00009.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00009.bat
... ELSE set variable curl http://www.west95582.com/jdw/index.html ... ELSE set variable curl -kv http://www.west95582.com/jdw/index.html
${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography ${stringlist} run keyword if '${systemType}'=='Windows' Create List https://yhd.com
... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography ... ELSE Create List https://yhd.com
${starttime} Get Time ${starttime} Get Time
Sleep ${policyVerificationSleepSeconds}s Sleep ${policyVerificationSleepSeconds}s
${rescode} SystemCommands ${commandstr} ${stringlist} ${rescode} SystemCommands ${commandstr} ${stringlist}
@@ -170,7 +170,7 @@ Proxy-Policy-redirect-00010
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00010.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00010.bat
... ELSE set variable curl http://www.hazq.com/main/aboutus/index.shtml ... ELSE set variable curl -kv http://www.hazq.com/main/aboutus/index.shtml
${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography ${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography
... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography ... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography
${starttime} Get Time ${starttime} Get Time
@@ -184,7 +184,7 @@ Proxy-Policy-redirect-00011
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00011.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00011.bat
... ELSE set variable curl http://www.cs.ecitic.com/newsite/business/bank/tzyh_ywjs/ ... ELSE set variable curl -kv http://www.cs.ecitic.com/newsite/business/bank/tzyh_ywjs/
${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography ${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography
... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography ... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography
${starttime} Get Time ${starttime} Get Time
@@ -259,7 +259,7 @@ Proxy-Policy-redirect-00014
[Tags] 请求体 [Tags] 请求体
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00017.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_redirect_00017.bat
... ELSE set variable curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=lksdf&setCookie=kjhsxbn&contentType=content-type&resBody=opijn" http://open.node.com/action ... ELSE set variable curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=lksdf&setCookie=kjhsxbn&contentType=content-type&resBody=opijn" -kv \ http://open.node.com/action
${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA ${stringlist} run keyword if '${systemType}'=='Windows' Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA
... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA ... ELSE Create List https://deseretbook.com/t/ebooks/biography-autobiography Tango Secure Gateway CA
${starttime} Get Time ${starttime} Get Time

View File

@@ -142,7 +142,7 @@ Proxy-Policy-replace-00008
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00008.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00008.bat
... ELSE set variable curl http://www.ghzq.com.cn/ghzq/index.html ... ELSE set variable curl -kv http://www.ghzq.com.cn/ghzq/index.html
${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json ${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json
... ELSE Create List text/json ... ELSE Create List text/json
${starttime} Get Time ${starttime} Get Time
@@ -156,7 +156,7 @@ Proxy-Policy-replace-00009
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00009.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00009.bat
... ELSE set variable curl http://www.zts.com.cn/consult/consult.aspx ... ELSE set variable curl -kv http://www.zts.com.cn/consult/consult.aspx
${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json ${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json
... ELSE Create List text/json ... ELSE Create List text/json
${starttime} Get Time ${starttime} Get Time
@@ -170,7 +170,7 @@ Proxy-Policy-replace-00010
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00010.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00010.bat
... ELSE set variable curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=hello&setCookie=hjbnm&contentType=content-type&resBody=05691" -kv \ http://open.node.com/action ... ELSE set variable curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=hello&setCookie=hjbnm&contentType=text/html&resBody=05691" -kv \ http://open.node.com/action
${stringlist} run keyword if '${systemType}'=='Windows' Create List 111111 ${stringlist} run keyword if '${systemType}'=='Windows' Create List 111111
... ELSE Create List 111111 ... ELSE Create List 111111
${starttime} Get Time ${starttime} Get Time
@@ -184,7 +184,7 @@ Proxy-Policy-replace-00011
[Tags] 应答头 [Tags] 应答头
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00011.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00011.bat
... ELSE set variable curl http://www.shfe.com.cn/products/au/ ... ELSE set variable curl -kv http://www.shfe.com.cn/products/au/
${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json ${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json
... ELSE Create List text/json ... ELSE Create List text/json
${starttime} Get Time ${starttime} Get Time
@@ -258,7 +258,7 @@ Proxy-Policy-replace-00013
Proxy-Policy-replace-00014 Proxy-Policy-replace-00014
[Tags] 最大组合2 [Tags] 最大组合2
Comment 功能端验证HTTP验证 Comment 功能端验证HTTP验证
${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00017.bat ${commandstr} run keyword if '${systemType}'=='Windows' set variable ${curlbatpath}/command/ProxyPolicy_replace_00014.bat
... ELSE set variable curl -kv \ --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" \ --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.hotelplanner.com/Group-Rate/ ... ELSE set variable curl -kv \ --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" \ --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.hotelplanner.com/Group-Rate/
${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json Tango Secure Gateway CA ${stringlist} run keyword if '${systemType}'=='Windows' Create List text/json Tango Secure Gateway CA
... ELSE Create List text/json Tango Secure Gateway CA ... ELSE Create List text/json Tango Secure Gateway CA

View File

@@ -75,7 +75,7 @@ Proxy-Policy-allow-00005
${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${allow_policyId4}]} ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${allow_policyId4}]}
${policyIds} Create List ${policyId1} ${policyId2} ${policyIds} Create List ${policyId1} ${policyId2}
${s} Convert to String ${allow_policyId4} ${s} Convert to String ${allow_policyId4}
GetLogList proxy_event_log ${allow_starttime7} ${allow_endtime7} ${testClentIP} ${s} http_host www.motel6.com GetLogList proxy_event_log ${allow_starttime7} ${allow_endtime7} ${testClentIP} ${s} http_host boutiquehotel.me
Proxy-Policy-allow-00006 Proxy-Policy-allow-00006
[Tags] 请求头 [Tags] 请求头
@@ -197,4 +197,4 @@ Proxy-Policy-allow-00014
${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${allow_policyId13}]} ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${allow_policyId13}]}
${policyIds} Create List ${policyId1} ${policyId2} ${policyIds} Create List ${policyId1} ${policyId2}
${s} Convert to String ${allow_policyId13} ${s} Convert to String ${allow_policyId13}
GetLogList proxy_event_log ${allow_starttime19} ${allow_endtime19} ${testClentIP} ${s} http_host www.sutori.com GetLogList proxy_event_log ${allow_starttime19} ${allow_endtime19} ${testClentIP} ${s} http_host www.orbitz.com

View File

@@ -203,6 +203,7 @@ Proxy-Policy-insert-00013
#删除对象 #删除对象
${objectids} set Variable ${insert_objectId31} ${objectids} set Variable ${insert_objectId31}
${objectids} Catenate SEPARATOR=, ${objectids} ${insert_objectId32} ${objectids} Catenate SEPARATOR=, ${objectids} ${insert_objectId32}
${objectids} Catenate SEPARATOR=, ${objectids} ${insert_objectId41}
#删除策略 #删除策略
${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_insert_policyId12}]} ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_insert_policyId12}]}
${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${insert_policyId12}]} ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${insert_policyId12}]}

View File

@@ -175,6 +175,7 @@ Proxy-Policy-redirect-00013
#删除对象 #删除对象
${objectids} set Variable ${redirect_objectId31} ${objectids} set Variable ${redirect_objectId31}
${objectids} Catenate SEPARATOR=, ${objectids} ${redirect_objectId32} ${objectids} Catenate SEPARATOR=, ${objectids} ${redirect_objectId32}
${objectids} Catenate SEPARATOR=, ${objectids} ${redirect_objectId46}
#删除策略 #删除策略
${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_redirect_policyId12}]} ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_redirect_policyId12}]}
${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${redirect_policyId12}]} ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${redirect_policyId12}]}
@@ -190,6 +191,7 @@ Proxy-Policy-redirect-00014
#删除对象 #删除对象
${objectids} set Variable ${redirect_objectId33} ${objectids} set Variable ${redirect_objectId33}
${objectids} Catenate SEPARATOR=, ${objectids} ${redirect_objectId34} ${objectids} Catenate SEPARATOR=, ${objectids} ${redirect_objectId34}
${objectids} Catenate SEPARATOR=, ${objectids} ${redirect_objectId47}
#删除策略 #删除策略
${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_redirect_policyId13}]} ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_redirect_policyId13}]}
${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${redirect_policyId13}]} ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${redirect_policyId13}]}

View File

@@ -136,13 +136,12 @@ Proxy-Policy-replace-00010
#删除对象 #删除对象
${objectids} set Variable ${replace_objectId22} ${objectids} set Variable ${replace_objectId22}
${objectids} Catenate SEPARATOR=, ${objectids} ${replace_objectId23} ${objectids} Catenate SEPARATOR=, ${objectids} ${replace_objectId23}
${objectids} Catenate SEPARATOR=, ${objectids} ${replace_objectId24}
#删除策略 #删除策略
${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_replace_policyId9}]} ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_replace_policyId9}]}
${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${replace_policyId9}]} ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${replace_policyId9}]}
${policyIds} Create List ${policyId1} ${policyId2} ${policyIds} Create List ${policyId1} ${policyId2}
${s} Convert to String ${replace_policyId9} ${s} Convert to String ${replace_policyId9}
GetLogList proxy_event_log ${replace_starttime12} ${replace_endtime12} ${testClentIP} ${s} http_host www.csrc.gov.cn GetLogList proxy_event_log ${replace_starttime12} ${replace_endtime12} ${testClentIP} ${s} http_host open.node.com
Proxy-Policy-replace-00011 Proxy-Policy-replace-00011
[Tags] 应答头 [Tags] 应答头
@@ -175,6 +174,7 @@ Proxy-Policy-replace-00013
#删除对象 #删除对象
${objectids} set Variable ${replace_objectId31} ${objectids} set Variable ${replace_objectId31}
${objectids} Catenate SEPARATOR=, ${objectids} ${replace_objectId32} ${objectids} Catenate SEPARATOR=, ${objectids} ${replace_objectId32}
${objectids} Catenate SEPARATOR=, ${objectids} ${replace_objectId41}
#删除策略 #删除策略
${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_replace_policyId12}]} ${policyId1} set Variable {"policyType":"tsg_security","policyIds":[${intercept_replace_policyId12}]}
${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${replace_policyId12}]} ${policyId2} set Variable {"policyType":"pxy_manipulation","policyIds":[${replace_policyId12}]}

View File

@@ -4,6 +4,7 @@ Library Collections
Resource ../../../03-Variable/BifangApiVariable.txt Resource ../../../03-Variable/BifangApiVariable.txt
Resource ../../../03-Variable/PolicyObjectDefault.txt Resource ../../../03-Variable/PolicyObjectDefault.txt
Resource ../../tsg_common/ManagePolicyBody.robot Resource ../../tsg_common/ManagePolicyBody.robot
*** Variables *** *** Variables ***
#arraySplitor:数组元素之间的分隔符 #arraySplitor:数组元素之间的分隔符
${arraySplitor} , ${arraySplitor} ,
@@ -13,43 +14,42 @@ ${protocolFiledSplitor} &
${objectIdSplitor} : ${objectIdSplitor} :
#idFiledSplitor: objectId和protocolFiled之间的分隔符 #idFiledSplitor: objectId和protocolFiled之间的分隔符
${idFiledSplitor} | ${idFiledSplitor} |
*** Keywords *** *** Keywords ***
# ... 特殊参数说明:
# ... effectiveRange=Nursurtan|Transtelecom&Astel,Almaty&Nursurtan,|Astel&Transtelecom
# ... 为字符串类型,每条生效区域信息以','分隔
# ... ①以'|'字符开头表示仅为isp信息effectiveRange=|Astel&Transtelecom
# ... ②非'|'字符开头表示仅为location信息或location和isp信息
# ... effectiveRange=Nursurtan仅为location信息
# ... effectiveRange=Nursurtan|Transtelecom&Astellocation和isp信息
# ... userRegion=protocol:HTTP,keyring:${1}
# ... 为字符串类型,每条动作参数以','分隔
# ... [key]:[value],...
# ... 在v1版本中referenceObject=${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
# ... 为字符串类型,每条引用的策略对象信息以','分隔
# ... [objectId]|[protocolFileds],... 多个protocolFileds用'&'连接
# ... scheduleId=${3},${1}
# ... 为字符串类型,以','分隔
# ... 在v1版本接口中appObjectIdArray==${2},${3}
# ... 在v2版本接口中appIdObjects==${2},${3}
# ... 为字符串类型,以','分隔
# ...
# ... 注:数字类型变量为${0}、${1}、${...}
# ... 在v2版本中 无referenceObject取而代之的是sourcedestinationfilterList
# ... source= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
# ... destination= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
# ... filterList= ${265}:${257}|TSG_FIELD_HTTP_HOST,${266}:${299}|TSG_FIELD_SSL_SNI
# ... filterList由多个数字用:’分隔,加上|对上对应的protocolFiled,
# ... 一个filter中的protocolFiled是确定的一个protocolFiled对应多个objectId
PolicyListDataOperation PolicyListDataOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... policyList: 必传,字典类型。字典内可选参数信息:
... policyObjectVersion: 必传v1,v2,涉及策略版本
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 多个策略处理
[Arguments] ${returnData} ${policyList} ${opAction} ${policyObjectVersion} [Arguments] ${returnData} ${policyList} ${opAction} ${policyObjectVersion}
[Documentation] 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... policyList: 必传,字典类型。字典内可选参数信息:
... policyObjectVersion: 必传v1,v2,涉及策略版本
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 多个策略处理
# ... 特殊参数说明:
# ... effectiveRange=Nursurtan|Transtelecom&Astel,Almaty&Nursurtan,|Astel&Transtelecom
# ... 为字符串类型,每条生效区域信息以','分隔
# ... ①以'|'字符开头表示仅为isp信息effectiveRange=|Astel&Transtelecom
# ... ②非'|'字符开头表示仅为location信息或location和isp信息
# ... effectiveRange=Nursurtan仅为location信息
# ... effectiveRange=Nursurtan|Transtelecom&Astellocation和isp信息
# ... userRegion=protocol:HTTP,keyring:${1}
# ... 为字符串类型,每条动作参数以','分隔
# ... [key]:[value],...
# ... 在v1版本中referenceObject=${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI&TSG_FIELD_SSL_SAN
# ... 为字符串类型,每条引用的策略对象信息以','分隔
# ... [objectId]|[protocolFileds],... 多个protocolFileds用'&'连接
# ... scheduleId=${3},${1}
# ... 为字符串类型,以','分隔
# ... 在v1版本接口中appObjectIdArray==${2},${3}
# ... 在v2版本接口中appIdObjects==${2},${3}
# ... 为字符串类型,以','分隔
# ...
# ... 注:数字类型变量为${0}、${1}、${...}
# ... 在v2版本中 无referenceObject取而代之的是sourcedestinationfilterList
# ... source= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
# ... destination= ${265}|TSG_FIELD_HTTP_HOST,${266}|TSG_FIELD_SSL_SNI
# ... filterList= ${265}:${257}|TSG_FIELD_HTTP_HOST,${266}:${299}|TSG_FIELD_SSL_SNI
# ... filterList由多个数字用:’分隔,加上|对上对应的protocolFiled,
# ... 一个filter中的protocolFiled是确定的一个protocolFiled对应多个objectId
Log To Console Call PolicyListDataOperation Log To Console Call PolicyListDataOperation
${policyListJson} Set Variable [ ${policyListJson} Set Variable [
FOR ${policy} IN @{policyList} FOR ${policy} IN @{policyList}
@@ -58,208 +58,197 @@ PolicyListDataOperation
END END
${policyListJson}= Replace String Using Regexp ${policyListJson} ,$ ] ${policyListJson}= Replace String Using Regexp ${policyListJson} ,$ ]
# 转为json结构并返回 # 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} policyList=replace:policyList ${dict} Create Dictionary opAction=${opAction} returnData=${returnData} policyList=replace:policyList
${bodyJson} json.Dumps ${dict} ensure_ascii=False ${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:policyList" ${policyListJson} ${json} Replace String ${bodyJson} "replace:policyList" ${policyListJson}
Log Policy_Request_Body-${json} Log Policy_Request_Body-${json}
[Return] ${json} [Return] ${json}
PolicyDataOperation PolicyDataOperation
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... policy: 必传,字典类型。字典内可选参数信息:
... policyObjectVersion: 必传v1,v2,涉及策略版本
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略处理
[Arguments] ${returnData} ${policy} ${opAction} ${policyObjectVersion} [Arguments] ${returnData} ${policy} ${opAction} ${policyObjectVersion}
[Documentation] 描述入口opAction参数可为'add','update','disable','enable'
... 参数returnData: 必传,是否返回请求数据。可选${0}(不返回)/${1}(返回)。
... policy: 必传,字典类型。字典内可选参数信息:
... policyObjectVersion: 必传v1,v2,涉及策略版本
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... 单个策略处理
Log To Console Call PolicyDataOperation Log To Console Call PolicyDataOperation
${json} PolicyOrganize ${policy} ${opAction} ${policyObjectVersion} ${json} PolicyOrganize ${policy} ${opAction} ${policyObjectVersion}
# 转为json结构并返回 # 转为json结构并返回
${dict} Create Dictionary opAction=${opAction} returnData=${returnData} policyList=replace:policyList ${dict} Create Dictionary opAction=${opAction} returnData=${returnData} policyList=replace:policyList
${bodyJson} json.Dumps ${dict} ensure_ascii=False ${bodyJson} json.Dumps ${dict} ensure_ascii=False
${json} Replace String ${bodyJson} "replace:policyList" ${json} ${json} Replace String ${bodyJson} "replace:policyList" ${json}
Log Policy_Request_Body-${json} Log Policy_Request_Body-${json}
[Return] ${json} [Return] ${json}
PolicyOrganize PolicyOrganize
[Documentation]
... 描述入口opAction参数可为'add','update','disable','enable'
... policy: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... policyObjectVersion: 必传v1,v2,涉及策略版本
... 单个策略转换为json
[Arguments] ${policy} ${opAction} ${policyObjectVersion} [Arguments] ${policy} ${opAction} ${policyObjectVersion}
[Documentation] 描述入口opAction参数可为'add','update','disable','enable'
... policy: 必传,字典类型。字典内可选参数信息:
... 其它参数默认值见../../03-Variable/PolicyObjectDefault.txt
... policyObjectVersion: 必传v1,v2,涉及策略版本
... 单个策略转换为json
Log To Console Call PolicyOrganize Log To Console Call PolicyOrganize
${returnDict} Create Dictionary ${returnDict} Create Dictionary
${emptyList} Create List ${emptyList} Create List
#v1版本接口与v2版本接口不同的字段 #v1版本接口与v2版本接口不同的字段
Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} source Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} source
Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} destination Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} destination
Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} filterList Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} filterList
Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} appIdObjects Run Keyword If "${policyObjectVersion}"=="v1" Dictionary Should Not Contain Key ${policy} appIdObjects
Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} referenceObject
Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} referenceObject Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} appObjectIdArray
Run Keyword If "${policyObjectVersion}"=="v2" Dictionary Should Not Contain Key ${policy} appObjectIdArray
#更新时 policyId不允许为空 #更新时 policyId不允许为空
${return} ${policyId} Run Keyword And Ignore Error Get From Dictionary ${policy} policyId ${return} ${policyId} Run Keyword And Ignore Error Get From Dictionary ${policy} policyId
Run Keyword If "${opAction}"=="update" and "${return}"=="FAIL" Fail policyId is required when opAction is update Run Keyword If "${opAction}"=="update" and "${return}"=="FAIL" Fail policyId is required when opAction is update
Run Keyword If "${opAction}"=="update" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is update Run Keyword If "${opAction}"=="update" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is update
Run Keyword If "${opAction}"=="disable" and "${return}"=="FAIL" Fail policyId is required when opAction is disable Run Keyword If "${opAction}"=="disable" and "${return}"=="FAIL" Fail policyId is required when opAction is disable
Run Keyword If "${opAction}"=="disable" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is disable Run Keyword If "${opAction}"=="disable" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is disable
Run Keyword If "${opAction}"=="enable" and "${return}"=="FAIL" Fail policyId is required when opAction is enable Run Keyword If "${opAction}"=="enable" and "${return}"=="FAIL" Fail policyId is required when opAction is enable
Run Keyword If "${opAction}"=="enable" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is enable Run Keyword If "${opAction}"=="enable" and "${policyId}"=="${EMPTY}" Fail policyId is required when opAction is enable
${policyId} Run Keyword If "${opAction}"=="add" Set Variable ${EMPTY} ${policyId} Run Keyword If "${opAction}"=="add" Set Variable ${EMPTY}
... ELSE Get From Dictionary ${policy} policyId ... ELSE Get From Dictionary ${policy} policyId
Set To Dictionary ${returnDict} policyId=${policyId} Set To Dictionary ${returnDict} policyId=${policyId}
${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${policy} policyType ${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${policy} policyType
Run Keyword If "${return}"=="FAIL" or "${policyType}"=="${EMPTY}" Set To Dictionary ${returnDict} policyType=${Default_PolicyType} Run Keyword If "${return}"=="FAIL" or "${policyType}"=="${EMPTY}" Set To Dictionary ${returnDict} policyType=${Default_PolicyType}
... ELSE Set To Dictionary ${returnDict} policyType=${policyType} ... ELSE Set To Dictionary ${returnDict} policyType=${policyType}
#enable disable直接返回json
#enable disable直接返回json
Run Keyword And Return If "${opAction}"=="enable" or "${opAction}"=="disable" ManagePolicyEnableAndDisable ${returnDict} ${opAction} Run Keyword And Return If "${opAction}"=="enable" or "${opAction}"=="disable" ManagePolicyEnableAndDisable ${returnDict} ${opAction}
# 取可选参数,为传入设置默认值 # 取可选参数,为传入设置默认值
${return} ${policyName} Run Keyword And Ignore Error Get From Dictionary ${policy} policyName ${return} ${policyName} Run Keyword And Ignore Error Get From Dictionary ${policy} policyName
Run Keyword If "${return}"=="FAIL" or "${policyName}"=="${EMPTY}" Set To Dictionary ${returnDict} policyName=${Default_PolicyName} Run Keyword If "${return}"=="FAIL" or "${policyName}"=="${EMPTY}" Set To Dictionary ${returnDict} policyName=${Default_PolicyName}
... ELSE Set To Dictionary ${returnDict} policyName=${policyName} ... ELSE Set To Dictionary ${returnDict} policyName=${policyName}
#policyDesc 不是必填的选项
#policyDesc 不是必填的选项
${return} ${policyDesc} Run Keyword And Ignore Error Get From Dictionary ${policy} policyDesc ${return} ${policyDesc} Run Keyword And Ignore Error Get From Dictionary ${policy} policyDesc
Run Keyword If "${return}"=="FAIL" or "${policyDesc}"=="${EMPTY}" Set To Dictionary ${returnDict} policyDesc=${Default_PolicyDesc} Run Keyword If "${return}"=="FAIL" or "${policyDesc}"=="${EMPTY}" Set To Dictionary ${returnDict} policyDesc=${Default_PolicyDesc}
... ELSE Set To Dictionary ${returnDict} policyDesc=${policyDesc} ... ELSE Set To Dictionary ${returnDict} policyDesc=${policyDesc}
${return} ${action} Run Keyword And Ignore Error Get From Dictionary ${policy} action ${return} ${action} Run Keyword And Ignore Error Get From Dictionary ${policy} action
Run Keyword If "${return}"=="FAIL" or "${action}"=="${EMPTY}" Set To Dictionary ${returnDict} action=${Default_Action} Run Keyword If "${return}"=="FAIL" or "${action}"=="${EMPTY}" Set To Dictionary ${returnDict} action=${Default_Action}
... ELSE Set To Dictionary ${returnDict} action=${action} ... ELSE Set To Dictionary ${returnDict} action=${action}
#userTags 不是必填的选项 #userTags 不是必填的选项
${return} ${userTags} Run Keyword And Ignore Error Get From Dictionary ${policy} userTags ${return} ${userTags} Run Keyword And Ignore Error Get From Dictionary ${policy} userTags
Run Keyword If "${return}"=="FAIL" or "${userTags}"=="${EMPTY}" Set To Dictionary ${returnDict} userTags=${Default_UserTags} Run Keyword If "${return}"=="FAIL" or "${userTags}"=="${EMPTY}" Set To Dictionary ${returnDict} userTags=${Default_UserTags}
... ELSE Set To Dictionary ${returnDict} userTags=${userTags} ... ELSE Set To Dictionary ${returnDict} userTags=${userTags}
${return} ${doLog} Run Keyword And Ignore Error Get From Dictionary ${policy} doLog ${return} ${doLog} Run Keyword And Ignore Error Get From Dictionary ${policy} doLog
Run Keyword If "${return}"=="FAIL" or "${doLog}"=="${EMPTY}" Set To Dictionary ${returnDict} doLog=${Default_DoLog} Run Keyword If "${return}"=="FAIL" or "${doLog}"=="${EMPTY}" Set To Dictionary ${returnDict} doLog=${Default_DoLog}
... ELSE Set To Dictionary ${returnDict} doLog=${doLog} ... ELSE Set To Dictionary ${returnDict} doLog=${doLog}
${return} ${isValid} Run Keyword And Ignore Error Get From Dictionary ${policy} isValid ${return} ${isValid} Run Keyword And Ignore Error Get From Dictionary ${policy} isValid
Run Keyword If "${return}"=="FAIL" or "${isValid}"=="${EMPTY}" Set To Dictionary ${returnDict} isValid=${Default_IsValid} Run Keyword If "${return}"=="FAIL" or "${isValid}"=="${EMPTY}" Set To Dictionary ${returnDict} isValid=${Default_IsValid}
... ELSE Set To Dictionary ${returnDict} isValid=${isValid} ... ELSE Set To Dictionary ${returnDict} isValid=${isValid}
${return} ${scheduleId} Run Keyword And Ignore Error Get From Dictionary ${policy} scheduleId
${return} ${scheduleId} Run Keyword And Ignore Error Get From Dictionary ${policy} scheduleId
${scheduleIdV} Run Keyword If "${return}"!="FAIL" and "${scheduleId}"!="${EMPTY}" and "${scheduleId}"!="${None}" Evaluate list(map(int, re.split('[,]', '${scheduleId}'))) re ${scheduleIdV} Run Keyword If "${return}"!="FAIL" and "${scheduleId}"!="${EMPTY}" and "${scheduleId}"!="${None}" Evaluate list(map(int, re.split('[,]', '${scheduleId}'))) re
... ELSE Set Variable ${emptyList} ... ELSE Set Variable ${emptyList}
Set To Dictionary ${returnDict} scheduleId=${scheduleIdV} Set To Dictionary ${returnDict} scheduleId=${scheduleIdV}
${return} ${appObjectIdArray} Run Keyword If "${policyObjectVersion}"=="v1" Run Keyword And Ignore Error Get From Dictionary ${policy} appObjectIdArray ${return} ${appObjectIdArray} Run Keyword If "${policyObjectVersion}"=="v1" Run Keyword And Ignore Error Get From Dictionary ${policy} appObjectIdArray
... ELSE Run Keyword And Ignore Error Get From Dictionary ${policy} appIdObjects ... ELSE Run Keyword And Ignore Error Get From Dictionary ${policy} appIdObjects
${appObjectIdArrayV} Run Keyword If "${return}"=="FAIL" or "${appObjectIdArray}"=="${EMPTY}" Evaluate list(map(int, re.split('[,]', '${Default_AppObjectIdArray}'))) re ${appObjectIdArrayV} Run Keyword If "${return}"=="FAIL" or "${appObjectIdArray}"=="${EMPTY}" Evaluate list(map(int, re.split('[,]', '${Default_AppObjectIdArray}'))) re
... ELSE Evaluate list(map(int, re.split('[,]', '${appObjectIdArray}'))) re ... ELSE Evaluate list(map(int, re.split('[,]', '${appObjectIdArray}'))) re
Run Keyword If "${policyObjectVersion}"=="v1" Set To Dictionary ${returnDict} appObjectIdArray=${appObjectIdArrayV} Run Keyword If "${policyObjectVersion}"=="v1" Set To Dictionary ${returnDict} appObjectIdArray=${appObjectIdArrayV}
... ELSE IF "${policyObjectVersion}"=="v2" Set To Dictionary ${returnDict} appIdObjects=${appObjectIdArrayV} ... ELSE IF "${policyObjectVersion}"=="v2" Set To Dictionary ${returnDict} appIdObjects=${appObjectIdArrayV}
# 固定值 # 固定值
Set To Dictionary ${returnDict} doBlacklist=${0} Set To Dictionary ${returnDict} doBlacklist=${0}
# 分别处理EffectiveRange、UserRegion和ReferenceObject参数 # 分别处理EffectiveRange、UserRegion和ReferenceObject参数
ProcessEffectiveRange ${policy} ${returnDict} ProcessEffectiveRange ${policy} ${returnDict}
#WxManageUserRegion ${policy} #WxManageUserRegion ${policy}
Run Keyword If "${policyObjectVersion}"=="v1" ProcessReferenceObject ${policy} ${returnDict} ELSE IF "${policyObjectVersion}"=="v2" ManageObjectV2 ${policy} ${returnDict} Run Keyword If "${policyObjectVersion}"=="v1" ProcessReferenceObject ${policy} ${returnDict}
... ELSE IF "${policyObjectVersion}"=="v2" ManageObjectV2 ${policy} ${returnDict}
#先取出useragion 再放回json #先取出useragion 再放回json
${return} ${userRegion} Run Keyword And Ignore Error Get From Dictionary ${policy} userRegion ${return} ${userRegion} Run Keyword And Ignore Error Get From Dictionary ${policy} userRegion
Set To Dictionary ${returnDict} userRegion=${Default_UserRegion} Set To Dictionary ${returnDict} userRegion=${Default_UserRegion}
${userRegion} Run Keyword If "${return}"=="FAIL" or '${userRegion}'=="${EMPTY}" Set Variable "" ${userRegion} Run Keyword If "${return}"=="FAIL" or '${userRegion}'=="${EMPTY}" Set Variable ""
... ELSE Set Variable ${userRegion} ... ELSE Set Variable ${userRegion}
#针对主动防御特殊处理,主动防御不应用对象 #针对主动防御特殊处理,主动防御不应用对象
${active_defence_emptyList} Create List ${active_defence_emptyList} Create List
${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${policy} policyType ${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${policy} policyType
Run Keyword If "${policyObjectVersion}"=="v1" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} referenceObject=${active_defence_emptyList} Run Keyword If "${policyObjectVersion}"=="v1" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} referenceObject=${active_defence_emptyList}
Run Keyword If "${policyObjectVersion}"=="v1" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} appObjectIdArray=${active_defence_emptyList} Run Keyword If "${policyObjectVersion}"=="v1" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} appObjectIdArray=${active_defence_emptyList}
#v版本主动防御 #v版本主动防御
Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} source=${active_defence_emptyList} Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} source=${active_defence_emptyList}
Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} destination=${active_defence_emptyList} Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} destination=${active_defence_emptyList}
Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} filterList=${active_defence_emptyList} Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} filterList=${active_defence_emptyList}
Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} appIdObjects=${active_defence_emptyList} Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="active_defence" Set To Dictionary ${returnDict} appIdObjects=${active_defence_emptyList}
# 转为json结构并返回 #针对WAN NAT特殊处理主动防御不应用对象
${json} json.Dumps ${returnDict} ensure_ascii=False ${wannat_emptyList} Create List
${json} Replace String ${json} "method:rst" ${userRegion} ${return} ${policyType} Run Keyword And Ignore Error Get From Dictionary ${policy} policyType
#${json} Replace String ${json} "effectiveRange:Empty" {} Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="wannat" Set To Dictionary ${returnDict} appIdObjects=${wannat_emptyList}
Run Keyword If "${policyObjectVersion}"=="v2" and "${policyType}"=="wannat" Set To Dictionary ${returnDict} filterList=${wannat_emptyList}
# 转为json结构并返回
${json} json.Dumps ${returnDict} ensure_ascii=False
${json} Replace String ${json} "method:rst" ${userRegion}
#${json} Replace String ${json} "effectiveRange:Empty" {}
Log Policy-${json} Log Policy-${json}
[Return] ${json} [Return] ${json}
ManagePolicyEnableAndDisable ManagePolicyEnableAndDisable
[Documentation]
... 启用与禁用时调用
[Arguments] ${returnDict} ${opAction} [Arguments] ${returnDict} ${opAction}
Run Keyword If "${opAction}"=="enable" Set To Dictionary ${returnDict} isValid=1 [Documentation] 启用与禁用时调用
Run Keyword If "${opAction}"=="enable" Set To Dictionary ${returnDict} isValid=1
Run Keyword If "${opAction}"=="disable" Set To Dictionary ${returnDict} isValid=0 Run Keyword If "${opAction}"=="disable" Set To Dictionary ${returnDict} isValid=0
${json} json.Dumps ${returnDict} ensure_ascii=False ${json} json.Dumps ${returnDict} ensure_ascii=False
Log Policy-${json} Log Policy-${json}
[Return] ${json} [Return] ${json}
ProcessEffectiveRange ProcessEffectiveRange
[Documentation]
... 处理EffectiveRange
... 加入effectiveRange={}的处理支持
[Arguments] ${policyList} ${returnDict} [Arguments] ${policyList} ${returnDict}
[Documentation] 处理EffectiveRange
... 加入effectiveRange={}的处理支持
Log To Console Call ProcessEffectiveRange Log To Console Call ProcessEffectiveRange
${emptyList} Create List ${emptyList} Create List
${emptyListDouble} Create List ${emptyList} ${emptyListDouble} Create List ${emptyList}
${return} ${effectiveRange} Run Keyword And Ignore Error Get From Dictionary ${policyList} effectiveRange
${return} ${effectiveRange} Run Keyword And Ignore Error Get From Dictionary ${policyList} effectiveRange
${effectiveRange} Run Keyword If "${return}"=="FAIL" or "${effectiveRange}"=="${EMPTY}" Set Variable ${Default_EffectiveRange} ${effectiveRange} Run Keyword If "${return}"=="FAIL" or "${effectiveRange}"=="${EMPTY}" Set Variable ${Default_EffectiveRange}
... ELSE Set Variable ${effectiveRange} ... ELSE Set Variable ${effectiveRange}
${value} Run Keyword If "${effectiveRange}"=="${EMPTY}" Create Dictionary tag_sets=${emptyListDouble} ${value} Run Keyword If "${effectiveRange}"=="${EMPTY}" Create Dictionary tag_sets=${emptyListDouble}
... ELSE IF "${effectiveRange}"=="{}" Create Dictionary ELSE AnalysisEffectiveRange ${effectiveRange} ... ELSE IF "${effectiveRange}"=="{}" Create Dictionary
... ELSE AnalysisEffectiveRange ${effectiveRange}
Set To Dictionary ${returnDict} effectiveRange=${value} Set To Dictionary ${returnDict} effectiveRange=${value}
ProcessReferenceObject ProcessReferenceObject
[Documentation]
... 处理引用对象字符串
... v1版本接口使用
[Arguments] ${policy} ${returnDict} [Arguments] ${policy} ${returnDict}
[Documentation] 处理引用对象字符串
... v1版本接口使用
Log To Console Call ProcessReferenceObject Log To Console Call ProcessReferenceObject
${emptyList} Create List ${emptyList} Create List
#默认客户端条件类型clientip or clientsubid #默认客户端条件类型clientip or clientsubid
${return} ${defaultClient} Run Keyword And Ignore Error Get From Dictionary ${policy} defalutClient ${return} ${defaultClient} Run Keyword And Ignore Error Get From Dictionary ${policy} defalutClient
${defaultClient} Run Keyword If "${return}"=="FAIL" or "${defaultClient}"=="${EMPTY}" Set Variable ${Default_Client_Type} ${defaultClient} Run Keyword If "${return}"=="FAIL" or "${defaultClient}"=="${EMPTY}" Set Variable ${Default_Client_Type}
... ELSE Set Variable ${defaultClient} ... ELSE Set Variable ${defaultClient}
Run Keyword If '${addTestClentIPFlag}'=='1' and '${defaultClient}'=='clientip' ManageClientIPObject ${emptyList} Run Keyword If '${addTestClentIPFlag}'=='1' and '${defaultClient}'=='clientip' ManageClientIPObject ${emptyList}
Run Keyword If '${addTestClentIPFlag}'=='1' and '${defaultClient}'=='clientsubid' ManageClientSubIDObject ${emptyList} Run Keyword If '${addTestClentIPFlag}'=='1' and '${defaultClient}'=='clientsubid' ManageClientSubIDObject ${emptyList}
#Run Keyword If '${addTestClentIPFlag}'=='1' ManageClientObject ${emptyList} #Run Keyword If '${addTestClentIPFlag}'=='1' ManageClientObject ${emptyList}
# Run Keyword If "${clientHostObj}"!="${None}" Append To List ${emptyList} ${clientHostObj} # Run Keyword If "${clientHostObj}"!="${None}" Append To List ${emptyList} ${clientHostObj}
${defaultObj} Create Dictionary ${defaultObj} Create Dictionary
${return} ${referenceObject} Run Keyword And Ignore Error Get From Dictionary ${policy} referenceObject ${return} ${referenceObject} Run Keyword And Ignore Error Get From Dictionary ${policy} referenceObject
${referenceObject} Run Keyword If "${return}"=="FAIL" or "${referenceObject}"=="${EMPTY}" Set Variable ${Default_ReferenceObject} ${referenceObject} Run Keyword If "${return}"=="FAIL" or "${referenceObject}"=="${EMPTY}" Set Variable ${Default_ReferenceObject}
... ELSE Set Variable ${referenceObject} ... ELSE Set Variable ${referenceObject}
${value} Run Keyword If "${referenceObject}"=="${EMPTY}" Create List ${defaultObj} ${value} Run Keyword If "${referenceObject}"=="${EMPTY}" Create List ${defaultObj}
... ELSE AnalysisReferenceObject ${referenceObject} ... ELSE AnalysisReferenceObject ${referenceObject}
# 若参数为空,设置默认结构 # 若参数为空,设置默认结构
# FOR ${var} IN @{value} # FOR ${var} IN @{value}
# Run Keyword If ${var}!={} Append To List ${referenceObject} ${var} # Run Keyword If ${var}!={} Append To List ${referenceObject} ${var}
# END # END
ObjectLoop ${value} ${emptyList} ObjectLoop ${value} ${emptyList}
Set To Dictionary ${returnDict} referenceObject=${emptyList} Set To Dictionary ${returnDict} referenceObject=${emptyList}
ObjectLoop ObjectLoop
[Arguments] ${value} ${valueList} [Arguments] ${value} ${valueList}
# 若参数为空,设置默认结构 # 若参数为空,设置默认结构
FOR ${var} IN @{value} FOR ${var} IN @{value}
Run Keyword If ${var}!={} Append To List ${valueList} ${var} Run Keyword If ${var}!={} Append To List ${valueList} ${var}
END END
[Return] ${valueList} [Return] ${valueList}
ManageObjectV2 ManageObjectV2
[Documentation] [Arguments] ${policy} ${returnDict}
... 处理引用对象字符串 [Documentation] 处理引用对象字符串
... v2版本接口使用 ... v2版本接口使用
... source,destination,filterList ... source,destination,filterList
# 处理引用对象字符串 # 处理引用对象字符串
[Arguments] ${policy} ${returnDict} Log To Console Call ManageObjectV2
Log To Console Call ManageObjectV2
#默认客户端条件类型clientip or clientsubid #默认客户端条件类型clientip or clientsubid
${return} ${defaultClient} Run Keyword And Ignore Error Get From Dictionary ${policy} defalutClient ${return} ${defaultClient} Run Keyword And Ignore Error Get From Dictionary ${policy} defalutClient
${defaultClient} Run Keyword If "${return}"=="FAIL" or "${defaultClient}"=="${EMPTY}" Set Variable ${Default_Client_Type} ${defaultClient} Run Keyword If "${return}"=="FAIL" or "${defaultClient}"=="${EMPTY}" Set Variable ${Default_Client_Type}
... ELSE Set Variable ${defaultClient} ... ELSE Set Variable ${defaultClient}
${sourceList} Create List ${sourceList} Create List
${destinationList} Create List ${destinationList} Create List
${filterList} Create List ${filterList} Create List
@@ -268,112 +257,109 @@ ManageObjectV2
AnalysisObjectV2 ${policy} source ${sourceList} AnalysisObjectV2 ${policy} source ${sourceList}
AnalysisObjectV2 ${policy} destination ${destinationList} AnalysisObjectV2 ${policy} destination ${destinationList}
AnalysisObjectV2 ${policy} filterList ${filterList} AnalysisObjectV2 ${policy} filterList ${filterList}
Set To Dictionary ${returnDict} source=${sourceList} destination=${destinationList} filterList=${filterList} Set To Dictionary ${returnDict} source=${sourceList} destination=${destinationList} filterList=${filterList}
Log ${policy}
Log ${policy}
ManageClientIPObjectV2 ManageClientIPObjectV2
[Arguments] ${emptyList} [Arguments] ${emptyList}
# 增加引用测试终端IP策略对象 # 增加引用测试终端IP策略对象
${obj1} Create Dictionary objectId=${testClentID} protocolField=TSG_SECURITY_SOURCE_ADDR ${obj1} Create Dictionary objectId=${testClentID} protocolField=TSG_SECURITY_SOURCE_ADDR
Append To List ${emptyList} ${obj1} Append To List ${emptyList} ${obj1}
ManageClientSubIDObjectV2 ManageClientSubIDObjectV2
[Arguments] ${emptyList} [Arguments] ${emptyList}
# 增加引用测试终端IP策略对象 # 增加引用测试终端IP策略对象
${protocolField} Set Variable ${protocolField} Set Variable
${obj1} Create Dictionary objectId=${testClentSubID} protocolField=${protocolField} ${obj1} Create Dictionary objectId=${testClentSubID} protocolField=${protocolField}
Append To List ${emptyList} ${obj1} Append To List ${emptyList} ${obj1}
AnalysisObjectV2 AnalysisObjectV2
[Arguments] ${policy} ${objectType} ${objList} [Arguments] ${policy} ${objectType} ${objList}
Log To Console Call AnalysisObjectV2 Log To Console Call AnalysisObjectV2
${policyObjectDefault} Run Keyword If "${objectType}"=="source" Set Variable ${EMPTY} ${policyObjectDefault} Run Keyword If "${objectType}"=="source" Set Variable ${EMPTY}
... ELSE IF "${objectType}"=="destination" Set Variable ${EMPTY} ... ELSE IF "${objectType}"=="destination" Set Variable ${EMPTY}
... ELSE IF "${objectType}"=="filterList" Set Variable ${EMPTY} ... ELSE IF "${objectType}"=="filterList" Set Variable ${EMPTY}
${return} ${objectList} Run Keyword And Ignore Error Get From Dictionary ${policy} ${objectType} ${return} ${objectList} Run Keyword And Ignore Error Get From Dictionary ${policy} ${objectType}
# source,destination,filterList # source,destination,filterList
${objectList} Run Keyword If "${return}"=="FAIL" or "${objectList}"=="${EMPTY}" Set Variable ${policyObjectDefault} ${objectList} Run Keyword If "${return}"=="FAIL" or "${objectList}"=="${EMPTY}" Set Variable ${policyObjectDefault}
... ELSE Set Variable ${objectList} ... ELSE Set Variable ${objectList}
${list} Evaluate re.split('[${arraySplitor}]', '${objectList}') re
${list} Evaluate re.split('[${arraySplitor}]', '${objectList}') re
FOR ${var} IN @{list} FOR ${var} IN @{list}
${tempObj} Run Keyword If "${objectType}"=="filterList" and "${var}" != "" ManageFilter ${var} ${tempObj} Run Keyword If "${objectType}"=="filterList" and "${var}" != "" ManageFilter ${var}
... ELSE IF "${var}" != "" ManageObject ${var} ELSE Set Variable ${EMPTY} ... ELSE IF "${var}" != "" ManageObject ${var}
Run Keyword If "${tempObj}" != "${EMPTY}" Append To List ${objList} ${tempObj} ... ELSE Set Variable ${EMPTY}
Run Keyword If "${tempObj}" != "${EMPTY}" Append To List ${objList} ${tempObj}
END END
Log ${objList} Log ${objList}
ManageObject ManageObject
[Documentation] [Arguments] ${object}
... source,destination处理 [Documentation] source,destination处理
[Arguments] ${object} Log To Console Call ManageObject
Log To Console Call ManageObject ${objectList} Create List
${objectList} Create List
#截取objectId #截取objectId
${objectId} Evaluate '${object}'[0:'${object}'.find('${idFiledSplitor}')] ${objectId} Evaluate '${object}'[0:'${object}'.find('${idFiledSplitor}')]
#截取protocolField #截取protocolField
${protocolField} Evaluate '${object}'['${object}'.find('${idFiledSplitor}')+1:] ${protocolField} Evaluate '${object}'['${object}'.find('${idFiledSplitor}')+1:]
${tempObj} Create Dictionary ${tempObj} Create Dictionary
${objectId} Run Keyword If '${objectId}'.isdigit() Evaluate int('${objectId}') ${objectId} Run Keyword If '${objectId}'.isdigit() Evaluate int('${objectId}')
... ELSE Set Variable ${objectId} ... ELSE Set Variable ${objectId}
Set To Dictionary ${tempObj} objectId=${objectId} Set To Dictionary ${tempObj} objectId=${objectId}
Set To Dictionary ${tempObj} protocolField=${protocolField} Set To Dictionary ${tempObj} protocolField=${protocolField}
[Return] ${tempObj} [Return] ${tempObj}
ManageFilter ManageFilter
[Documentation] [Arguments] ${filter}
... filterList处理 [Documentation] filterList处理
[Arguments] ${filter} Log Call ManageFilter
Log Call ManageFilter ${filterObjectList} Create List
${filterObjectList} Create List
#截取objectId #截取objectId
${objectIds} Evaluate '${filter}'[0:'${filter}'.find('${idFiledSplitor}')] ${objectIds} Evaluate '${filter}'[0:'${filter}'.find('${idFiledSplitor}')]
#截取protocolField #截取protocolField
${protocolField} Evaluate '${filter}'['${filter}'.find('${idFiledSplitor}')+1:] ${protocolField} Evaluate '${filter}'['${filter}'.find('${idFiledSplitor}')+1:]
#遍历 objectId #遍历 objectId
${list} Evaluate re.split('[${objectIdSplitor}]', '${objectIds}') re ${list} Evaluate re.split('[${objectIdSplitor}]', '${objectIds}') re
Log list ${list} Log list ${list}
FOR ${var} IN @{list} FOR ${var} IN @{list}
${tempObj} Create Dictionary ${tempObj} Create Dictionary
${var} Run Keyword If '${var}'.isdigit() Evaluate int('${var}') ${var} Run Keyword If '${var}'.isdigit() Evaluate int('${var}')
... ELSE Set Variable ${var} ... ELSE Set Variable ${var}
Set To Dictionary ${tempObj} objectId=${var} Set To Dictionary ${tempObj} objectId=${var}
Set To Dictionary ${tempObj} protocolField=${protocolField} Set To Dictionary ${tempObj} protocolField=${protocolField}
Append To List ${filterObjectList} ${tempObj} Append To List ${filterObjectList} ${tempObj}
END END
${filterObject} Create Dictionary filter=${filterObjectList} ${filterObject} Create Dictionary filter=${filterObjectList}
[Return] ${filterObject} [Return] ${filterObject}
Get-PolicyIds Get-PolicyIds
[Documentation]
... 获取结果中的策略ID
[Arguments] ${value} [Arguments] ${value}
[Documentation] 获取结果中的策略ID
${policyIds} Create List ${policyIds} Create List
FOR ${policy} IN @{value['data']['policyList']} FOR ${policy} IN @{value['data']['policyList']}
#${policyIdList} Create List ${policy['policyId']} #${policyIdList} Create List ${policy['policyId']}
#${policyObj} Create Dictionary policyType=${policy['policyType']} policyIds=${policyIdList} #${policyObj} Create Dictionary policyType=${policy['policyType']} policyIds=${policyIdList}
#Append To List ${policyIds} ${policyObj} #Append To List ${policyIds} ${policyObj}
Append To List ${policyIds} ${policy['policyId']} Append To List ${policyIds} ${policy['policyId']}
END END
${len} Get Length ${policyIds} ${len} Get Length ${policyIds}
${policyIds} Run Keyword If ${len}==1 Set Variable ${policyIds[0]} ${policyIds} Run Keyword If ${len}==1 Set Variable ${policyIds[0]}
... ELSE Set Variable ${policyIds} ... ELSE Set Variable ${policyIds}
[Return] ${policyIds} [Return] ${policyIds}
DeletePolicyWithParamDict DeletePolicyWithParamDict
[Documentation]
... 删除策略
... params传入的删除字典
... 结构为policyIds=${policyIds} (List) policyType=${policyType} (variable)
[Arguments] ${params} [Arguments] ${params}
[Documentation] 删除策略
... params传入的删除字典
... 结构为policyIds=${policyIds} (List) policyType=${policyType} (variable)
${response} BaseDeleteRequest /${version}${policyUrl} ${params} ${response} BaseDeleteRequest /${version}${policyUrl} ${params}
${rescode} Set Variable ${response['code']} ${rescode} Set Variable ${response['code']}
Should Be Equal As Strings ${rescode} 200 Should Be Equal As Strings ${rescode} 200
[Return] ${rescode} [Return] ${rescode}
VerifyPolicyList VerifyPolicyList
[Documentation]
... 策略验证
... 多个策略验证
[Arguments] ${verifyList} [Arguments] ${verifyList}
[Documentation] 策略验证
... 多个策略验证
Log To Console Call VerifyPolicyList Log To Console Call VerifyPolicyList
${verifyListJson} Set Variable [ ${verifyListJson} Set Variable [
FOR ${verifyObj} IN @{verifyList} FOR ${verifyObj} IN @{verifyList}
@@ -383,11 +369,11 @@ VerifyPolicyList
${verifyListJson}= Replace String Using Regexp ${verifyListJson} ,$ ] ${verifyListJson}= Replace String Using Regexp ${verifyListJson} ,$ ]
Log Policy_Request_Body-${verifyListJson} Log Policy_Request_Body-${verifyListJson}
[Return] ${verifyListJson} [Return] ${verifyListJson}
VerifyPolicyObj VerifyPolicyObj
[Documentation]
... 策略验证
... 单个策略验证
[Arguments] ${verifyObj} [Arguments] ${verifyObj}
[Documentation] 策略验证
... 单个策略验证
Log To Console Call VerifyPolicyObj Log To Console Call VerifyPolicyObj
${emptyList} Create List ${emptyList} Create List
${return} ${policyType} Run Keyword And Ignore Error Set Variable ${verifyObj['policyType']} ${return} ${policyType} Run Keyword And Ignore Error Set Variable ${verifyObj['policyType']}
@@ -395,39 +381,40 @@ VerifyPolicyObj
${verifySession} Get From Dictionary ${verifyObj} verifySession ${verifySession} Get From Dictionary ${verifyObj} verifySession
Should Not Be Empty ${verifySession} Should Not Be Empty ${verifySession}
${attributes} Get From Dictionary ${verifySession} attributes ${attributes} Get From Dictionary ${verifySession} attributes
Should Not Be Empty ${attributes} Should Not Be Empty ${attributes}
FOR ${attribute} IN @{attributes} FOR ${attribute} IN @{attributes}
${attributeType} Get From Dictionary ${attribute} attributeType ${attributeType} Get From Dictionary ${attribute} attributeType
${return} ${tableName} Run Keyword And Ignore Error Set Variable ${attribute['tableName']} ${return} ${tableName} Run Keyword And Ignore Error Set Variable ${attribute['tableName']}
${return} ${protocol} Run Keyword And Ignore Error Set Variable ${attribute['protocol']} ${return} ${protocol} Run Keyword And Ignore Error Set Variable ${attribute['protocol']}
${attributeName} Get From Dictionary ${attribute} attributeName ${attributeName} Get From Dictionary ${attribute} attributeName
${attributeValue} Get From Dictionary ${attribute} attributeValue ${attributeValue} Get From Dictionary ${attribute} attributeValue
#将json转换为dict #将json转换为dict
${attributeValue} Convert To String ${attributeValue} ${attributeValue} Convert To String ${attributeValue}
${start} Get Regexp Matches ${attributeValue} ^{\" ${start} Get Regexp Matches ${attributeValue} ^{\"
${start1} Get Regexp Matches ${attributeValue} ^{\' ${start1} Get Regexp Matches ${attributeValue} ^{\'
${len} Get Length ${start} ${len} Get Length ${start}
${len1} Get Length ${start1} ${len1} Get Length ${start1}
${attributeValue} Run Keyword If ${len}>0 Evaluate eval('${attributeValue}') ${attributeValue} Run Keyword If ${len}>0 Evaluate eval('${attributeValue}')
... ELSE IF ${len1}>0 Evaluate eval("${attributeValue}") ... ELSE IF ${len1}>0 Evaluate eval("${attributeValue}")
... ELSE Set Variable ${attributeValue} ... ELSE Set Variable ${attributeValue}
${type} Run Keyword If ${len}>0 or ${len1}>0 Set Variable dict ${type} Run Keyword If ${len}>0 or ${len1}>0 Set Variable dict
... ELSE Set Variable str ... ELSE Set Variable str
${attributeValue} Run Keyword If "${attributeType}"=="ip" ManageIpAttributeValue ${attributeValue} ${attributeName} ${type} ${attributeValue} Run Keyword If "${attributeType}"=="ip" ManageIpAttributeValue ${attributeValue} ${attributeName} ${type}
... ELSE IF "${attributeType}"=="signature" ManageSignatureAttributeValue ${attributeValue} ${type} ... ELSE IF "${attributeType}"=="signature" ManageSignatureAttributeValue ${attributeValue} ${type}
... ELSE ManageStringAttributeValue ${attributeValue} ${type} ... ELSE ManageStringAttributeValue ${attributeValue} ${type}
Set To Dictionary ${attribute} attributeValue=${attributeValue} Set To Dictionary ${attribute} attributeValue=${attributeValue}
END END
Set To Dictionary ${verifyObj} verifySession=${verifySession} Set To Dictionary ${verifyObj} verifySession=${verifySession}
# 转为json结构并返回 # 转为json结构并返回
${json} json.Dumps ${verifyObj} ensure_ascii=False ${json} json.Dumps ${verifyObj} ensure_ascii=False
Log VerifyPolicy-${json} Log VerifyPolicy-${json}
[Return] ${json} [Return] ${json}
ManageIpAttributeValue ManageIpAttributeValue
[Arguments] ${attributeValue} ${attributeName} ${type} [Arguments] ${attributeValue} ${attributeName} ${type}
Run Keyword And Return If "${type}"=="str" ExtractIpAttributeValue ${attributeValue} Run Keyword And Return If "${type}"=="str" ExtractIpAttributeValue ${attributeValue}
${dict} Create Dictionary ${dict} Create Dictionary
${return} ${ip} Run Keyword And Ignore Error Set Variable ${attributeValue['ip']} ${return} ${ip} Run Keyword And Ignore Error Set Variable ${attributeValue['ip']}
Run Keyword If "${ip}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${ip} Run Keyword If "${ip}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${ip}
Run Keyword If "${ip}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${ip} Run Keyword If "${ip}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${ip}
Set To Dictionary ${dict} ip=${ip} Set To Dictionary ${dict} ip=${ip}
@@ -435,19 +422,20 @@ ManageIpAttributeValue
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${port} Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${port}
Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${port} Run Keyword If "${port}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${port}
Set To Dictionary ${dict} port=${port} Set To Dictionary ${dict} port=${port}
${return} ${addrType} Run Keyword And Ignore Error Set Variable ${attributeValue['addrType']} ${return} ${addrType} Run Keyword And Ignore Error Set Variable ${attributeValue['addrType']}
Run Keyword If "${addrType}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${addrType} Run Keyword If "${addrType}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${addrType}
Run Keyword If "${addrType}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${addrType} Run Keyword If "${addrType}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${addrType}
Set To Dictionary ${dict} addrType=${addrType} Set To Dictionary ${dict} addrType=${addrType}
${return} ${protocol} Run Keyword And Ignore Error Set Variable ${attributeValue['protocol']} ${return} ${protocol} Run Keyword And Ignore Error Set Variable ${attributeValue['protocol']}
Run Keyword If "${protocol}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${protocol} Run Keyword If "${protocol}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${protocol}
Run Keyword If "${protocol}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${protocol} Run Keyword If "${protocol}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${protocol}
Set To Dictionary ${dict} protocol=${protocol} Set To Dictionary ${dict} protocol=${protocol}
${return} ${tableName} Run Keyword And Ignore Error Set Variable ${attributeValue['tableName']} ${return} ${tableName} Run Keyword And Ignore Error Set Variable ${attributeValue['tableName']}
Run Keyword If "${tableName}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${tableName} Run Keyword If "${tableName}"=="${EMPTY}" and "${attributeName}"=="source" Should Not Be Empty ${tableName}
Run Keyword If "${tableName}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${tableName} Run Keyword If "${tableName}"=="${EMPTY}" and "${attributeName}"=="destination" Should Not Be Empty ${tableName}
Set To Dictionary ${dict} tableName=${tableName} Set To Dictionary ${dict} tableName=${tableName}
[Return] ${dict} [Return] ${dict}
ExtractIpAttributeValue ExtractIpAttributeValue
[Arguments] ${attributeValue} [Arguments] ${attributeValue}
${list} Split String ${attributeValue} | ${list} Split String ${attributeValue} |
@@ -456,10 +444,9 @@ ExtractIpAttributeValue
${addrType} Evaluate int(${list}[2]) ${addrType} Evaluate int(${list}[2])
${protocol} Set Variable ${list}[3] ${protocol} Set Variable ${list}[3]
${tableName} Set Variable ${list}[4] ${tableName} Set Variable ${list}[4]
${dict} Create Dictionary ip=${list}[0] port=${list}[1] tableName=${tableName} ${dict} Create Dictionary ip=${list}[0] port=${list}[1] tableName=${tableName} addrType=${addrType} protocol=${protocol}
... addrType=${addrType} protocol=${protocol}
[Return] ${dict} [Return] ${dict}
ExtractIpAttributeValue_bak ExtractIpAttributeValue_bak
[Arguments] ${attributeValue} [Arguments] ${attributeValue}
${list} Split String ${attributeValue} | ${list} Split String ${attributeValue} |
@@ -467,20 +454,21 @@ ExtractIpAttributeValue_bak
Should Be Equal As Integers ${len} 4 Should Be Equal As Integers ${len} 4
${addrType} Evaluate int(${list}[2]) ${addrType} Evaluate int(${list}[2])
${protocol} Evaluate int(${list}[3]) ${protocol} Evaluate int(${list}[3])
${dict} Create Dictionary ip=${list}[0] port=${list}[1] ${dict} Create Dictionary ip=${list}[0] port=${list}[1] addrType=${addrType} protocol=${protocol}
... addrType=${addrType} protocol=${protocol}
[Return] ${dict} [Return] ${dict}
ManageSignatureAttributeValue ManageSignatureAttributeValue
[Arguments] ${attributeValue} ${type} [Arguments] ${attributeValue} ${type}
Run Keyword And Return If "${type}"=="str" ExtractSignatureAttributeValue ${attributeValue} Run Keyword And Return If "${type}"=="str" ExtractSignatureAttributeValue ${attributeValue}
${dict} Create Dictionary ${dict} Create Dictionary
${district} Get From Dictionary ${attributeValue} district ${district} Get From Dictionary ${attributeValue} district
Should Not Be Empty ${district} Should Not Be Empty ${district}
Set To Dictionary ${dict} district=${district} Set To Dictionary ${dict} district=${district}
${string} Get From Dictionary ${attributeValue} string ${string} Get From Dictionary ${attributeValue} string
Should Not Be Empty ${string} Should Not Be Empty ${string}
Set To Dictionary ${dict} string=${string} Set To Dictionary ${dict} string=${string}
[Return] ${dict} [Return] ${dict}
ExtractSignatureAttributeValue ExtractSignatureAttributeValue
[Arguments] ${attributeValue} [Arguments] ${attributeValue}
${list} Split String ${attributeValue} | ${list} Split String ${attributeValue} |
@@ -488,19 +476,20 @@ ExtractSignatureAttributeValue
Should Be Equal As Integers ${len} 2 Should Be Equal As Integers ${len} 2
${dict} Create Dictionary district=${list}[0] string=${list}[1] ${dict} Create Dictionary district=${list}[0] string=${list}[1]
[Return] ${dict} [Return] ${dict}
ManageStringAttributeValue ManageStringAttributeValue
[Arguments] ${attributeValue} ${type} [Arguments] ${attributeValue} ${type}
${dict} Create Dictionary ${dict} Create Dictionary
Run Keyword And Return If "${type}"=="str" Create Dictionary string=${attributeValue} Run Keyword And Return If "${type}"=="str" Create Dictionary string=${attributeValue}
${string} Get From Dictionary ${attributeValue} string ${string} Get From Dictionary ${attributeValue} string
Should Not Be Empty ${string} Should Not Be Empty ${string}
Set To Dictionary ${dict} string=${string} Set To Dictionary ${dict} string=${string}
[Return] ${dict} [Return] ${dict}
SortPolicyList SortPolicyList
[Documentation]
... 多策略排序
... policyList为数组结构
[Arguments] ${policyList} [Arguments] ${policyList}
[Documentation] 多策略排序
... policyList为数组结构
Log Call SortPolicyList Log Call SortPolicyList
${policyListJson} Set Variable [ ${policyListJson} Set Variable [
FOR ${policyObj} IN @{policyList} FOR ${policyObj} IN @{policyList}
@@ -510,22 +499,21 @@ SortPolicyList
${policyListJson}= Replace String Using Regexp ${policyListJson} ,$ ] ${policyListJson}= Replace String Using Regexp ${policyListJson} ,$ ]
Log SortPolicyList-${policyListJson} Log SortPolicyList-${policyListJson}
[Return] ${policyListJson} [Return] ${policyListJson}
SortPolicyObject SortPolicyObject
[Documentation]
... 策略排序
... policyObject为字典结构
... policyObject policyId=${policyId} policyType=${policyType} beforePolicyId=${beforePolicyId} afterPolicyId=${afterPolicyId}
[Arguments] ${policyObject} [Arguments] ${policyObject}
[Documentation] 策略排序
... policyObject为字典结构
... policyObject policyId=${policyId} policyType=${policyType} beforePolicyId=${beforePolicyId} afterPolicyId=${afterPolicyId}
Dictionary Should Contain Key ${policyObject} policyId Dictionary Should Contain Key ${policyObject} policyId
Dictionary Should Contain Key ${policyObject} policyType Dictionary Should Contain Key ${policyObject} policyType
${policyId} Get From Dictionary ${policyObject} policyId ${policyId} Get From Dictionary ${policyObject} policyId
Run Keyword If "${policyId}"=="${EMPTY}" Should Not Be Empty ${policyId} Run Keyword If "${policyId}"=="${EMPTY}" Should Not Be Empty ${policyId}
${policyType} Get From Dictionary ${policyObject} policyType ${policyType} Get From Dictionary ${policyObject} policyType
Should Not Be Empty ${policyType} Should Not Be Empty ${policyType}
${return} ${beforePolicyId} Run Keyword And Ignore Error Get From Dictionary ${policyObject} beforePolicyId ${return} ${beforePolicyId} Run Keyword And Ignore Error Get From Dictionary ${policyObject} beforePolicyId
${return1} ${afterPolicyId} Run Keyword And Ignore Error Get From Dictionary ${policyObject} afterPolicyId ${return1} ${afterPolicyId} Run Keyword And Ignore Error Get From Dictionary ${policyObject} afterPolicyId
Run Keyword If "${return}"=="FAIL" and "${return1}"=="FAIL" Fail beforePolicyId和 afterPolicyId必须设置一个 Run Keyword If "${return}"=="FAIL" and "${return1}"=="FAIL" Fail beforePolicyId和 afterPolicyId必须设置一个
Run Keyword If "${return}"=="PASS" and "${return1}"=="PASS" and "${beforePolicyId}"=="${EMPTY}" and "${afterPolicyId}"=="${EMPTY}" Run Keyword If "${return}"=="PASS" and "${return1}"=="PASS" and "${beforePolicyId}"=="${EMPTY}" and "${afterPolicyId}"=="${EMPTY}" Fail beforePolicyId和 afterPolicyId不能同时为空
... Fail beforePolicyId和 afterPolicyId不能同时为空
${json} json.Dumps ${policyObject} ensure_ascii=False ${json} json.Dumps ${policyObject} ensure_ascii=False
[Return] ${json} [Return] ${json}

View File

@@ -1 +1 @@
curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --referer 'https://www.baidu.com/' https://www.motel6.com/#/home | iconv -f utf-8 -t gbk curl -kv --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36" --referer 'https://www.baidu.com/' https://boutiquehotel.me/paris/ | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.sutori.com/teachers | iconv -f utf-8 -t gbk curl -kv --user-agent "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/31.0.1650.63 Safari/537.36" --cookie "__cfduid=d5c21129d57e7124b729fd86dc82abdcd1596020306; __stripe_sid=2940d4d5-6822-4daf-8b38-9cd18d745beb; __stripe_mid=dd118cd8-845c-4b6e-98ce-81e8d5bdd52c" --referer 'https://www.baidu.com/' \ https://www.orbitz.com/Flights | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl http://www.essence.com.cn/business/fixed | iconv -f utf-8 -t gbk curl -kv http://www.essence.com.cn/business/fixed | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl http://www.west95582.com/jdw/index.html | iconv -f utf-8 -t gbk curl -kv http://www.west95582.com/jdw/index.html | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl http://www.hazq.com/main/aboutus/index.shtml | iconv -f utf-8 -t gbk curl -kv http://www.hazq.com/main/aboutus/index.shtml | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl http://www.cs.ecitic.com/newsite/business/bank/tzyh_ywjs/| iconv -f utf-8 -t gbk curl -kv http://www.cs.ecitic.com/newsite/business/bank/tzyh_ywjs/| iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=lksdf&setCookie=kjhsxbn&contentType=content-type&resBody=opijn" http://open.node.com/action | iconv -f utf-8 -t gbk curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=lksdf&setCookie=kjhsxbn&contentType=content-type&resBody=opijn" -kv http://open.node.com/action | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl http://www.ghzq.com.cn/ghzq/index.html | iconv -f utf-8 -t gbk curl -kv http://www.ghzq.com.cn/ghzq/index.html | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl http://www.zts.com.cn/consult/consult.aspx| iconv -f utf-8 -t gbk curl -kv http://www.zts.com.cn/consult/consult.aspx| iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=hello&setCookie=hjbnm&contentType=content-type&resBody=05691" -kv http://open.node.com/action | iconv -f utf-8 -t gbk curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "reqBody=hello&setCookie=hjbnm&contentType=text/html&resBody=05691" -kv http://open.node.com/action | iconv -f utf-8 -t gbk

View File

@@ -1 +1 @@
curl http://www.shfe.com.cn/products/au/ | iconv -f utf-8 -t gbk curl -kv http://www.shfe.com.cn/products/au/ | iconv -f utf-8 -t gbk