*** Settings *** Force Tags tsg_adc_wp tsg_bf_api Trusted_Certificate_Authorities Library String Library OperatingSystem Library Selenium2Library Library Collections Resource ../../../02-Keyword/tsg_bfapi/Common.robot Resource ../../../02-Keyword/tsg_bfapi/policy_file_interface/FunctionalKeywords.robot Resource ../../../03-Variable/BifangApiVariable.txt Library OperatingSystem Resource ../../../02-Keyword/tsg_adc/SystemCommand.robot Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot Resource ../../../02-Keyword/tsg_bfapi/LogVariable.robot Resource ../../../02-Keyword/tsg_bfapi/ApiRequest.robot Resource ../../../03-Variable/AllFlowCaseVariable.txt Resource ../../../03-Variable/Policy_Objects_Module.txt Resource ../../../02-Keyword/tsg_bfapi/PolicyObject.robot Resource ../../../02-Keyword/tsg_bfapi/policy_object/Policy.robot Resource ../../../02-Keyword/tsg_bfapi/policy_object/Object.robot Resource ../../../02-Keyword/tsg_bfapi/policy_object/Log.robot Resource ../../../02-Keyword/tsg_bfapi/Common.robot Library json Library DateTime Resource ../../../02-Keyword/tsg_bfapi/policy_object/ProcessPolicyBody.robot Library ../../../04-CustomLibrary/Library/VerifyPolicy.py Resource ../../../05-Other/AllFlowCaseVariable.txt *** Test Cases *** SecurityPolicy-Intercept-Http-00001 #新增策略验证 #创建attributes中的字典 ${imsi_id} Create Dictionary attributeType=string attributeName=imsi appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "11235666666558"} ${phone_number_id} Create Dictionary attributeType=string attributeName=phone_number appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "13844870339"} ${apn_id} Create Dictionary attributeType=string attributeName=apn appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "hahauawei.org"} ${fqdn} Create Dictionary attributeType=string attributeName=host appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "www.yumi.com"} ${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "${HTTP_VID}"} ${subscriberid} Create Dictionary attributeType=string attributeName=subscriberid attributeValue={"string": "test56"} ${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip":"${testClentIP}","port":"1","addrType":4,"protocol":"6","tableName":"TSG_SECURITY_SOURCE_ADDR"} ${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip":"254.253.252.251","port":"1","addrType":4,"protocol":"6","tableName":"TSG_SECURITY_DESTINATION_ADDR"} # 合成attributes字典集 ${attributes} Create List ${app_id} ${subscriberid} ${ipsource} ${ipdestination} ${fqdn} ${imsi_id} ${phone_number_id} ${apn_id} ${verifySession} Create Dictionary attributes=${attributes} ${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession} log ${verifyList} ${rescode} ${resData} VerifyPolicies ${verifyList} GetVerifyState ${resData} ${intercept_http_policyId} # 打印检查结果 ${objectid_verify} Set Variable ${testClentIpId} ${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${intercept_http_objectId1} ${intercept_http_policyId} ${object_imsi_id} ${obj_phoneNum_Id} ${obj_apn_Id} # # 调用关键字 提取应答json获取其中所有的id值,并判断新下发的id值是否在应答json的id中 log ${objectid_verify} ${testType} Evaluate type($objectid_verify) ${testType} Evaluate type($resData) log ${resData} sleep 5 ${ok} VerifyProxy ${resData} ${objectid_verify} Should Be Equal As Strings ${ok} true SecurityPolicy-Intercept-Http-00002 #新增策略验证 #创建attributes中的字典 ${imsi_id} Create Dictionary attributeType=string attributeName=imsi appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "11235666666558"} ${phone_number_id} Create Dictionary attributeType=string attributeName=phone_number appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "1384487111111"} ${apn_id} Create Dictionary attributeType=string attributeName=apn appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "huawei.com"} ${fqdn} Create Dictionary attributeType=string attributeName=host appId=${HTTP_VID} appName=http protocol=http attributeValue={"string": "mbzponton.org"} ${app_id} Create Dictionary attributeType=string attributeName=app_id attributeValue={"string": "${HTTP_VID}"} ${subscriberid} Create Dictionary attributeType=string attributeName=subscriberid attributeValue={"string": "test56"} ${ipsource} Create Dictionary attributeType=ip attributeName=source attributeValue={"ip":"${testClentIP}","port":"1","addrType":4,"protocol":"6","tableName":"TSG_SECURITY_SOURCE_ADDR"} ${ipdestination} Create Dictionary attributeType=ip attributeName=destination attributeValue={"ip":"254.253.252.251","port":"1","addrType":4,"protocol":"6","tableName":"TSG_SECURITY_DESTINATION_ADDR"} # 合成attributes字典集 ${attributes} Create List ${app_id} ${subscriberid} ${ipsource} ${ipdestination} ${fqdn} ${imsi_id} ${phone_number_id} ${apn_id} ${verifySession} Create Dictionary attributes=${attributes} ${verifyList} Create Dictionary policyType=tsg_security verifySession=${verifySession} log ${verifyList} ${rescode} ${resData} VerifyPolicies ${verifyList} GetVerifyState ${resData} ${intercept_http_policyId1} # 打印检查结果 ${objectid_verify} Set Variable ${testClentIpId} ${objectid_verify} Catenate SEPARATOR=, ${objectid_verify} ${intercept_http_objectId6} ${intercept_http_policyId1} ${object_imsi_id} ${obj_phoneNum_Id} ${obj_apn_Id} # # 调用关键字 提取应答json获取其中所有的id值,并判断新下发的id值是否在应答json的id中 log ${objectid_verify} ${testType} Evaluate type($objectid_verify) ${testType} Evaluate type($resData) log ${resData} sleep 5 ${ok} VerifyProxy ${resData} ${objectid_verify} Should Be Equal As Strings ${ok} true