blob: be52cd2ea5109cdff44d2d810436b63a6b2740fb [file] [log] [blame]
*** Settings ***
Documentation Policy ONAP CSIT Test cases
Library String
Library HttpLibrary.HTTP
LIbrary Process
Resource policy_interface.robot
Resource json_templater.robot
*** Variables ***
${RESOURCE_PATH_CREATE} /pdp/createPolicy
${RESOURCE_PATH_CREATE_PUSH} /pdp/pushPolicy
${RESOURCE_PATH_CREATE_DELETE} /pdp/deletePolicy
${RESOURCE_PATH_GET_CONFIG} /pdp/getConfig
${CREATE_CONFIG_VFW_TEMPLATE} ${CURDIR}/configpolicy_vFW.template
${CREATE_CONFIG_VDNS_TEMPLATE} ${CURDIR}/configpolicy_vDNS.template
${CREATE_CONFIG_VCPE_TEMPLATE} ${CURDIR}/configpolicy_vCPE.template
${CREATE_OPS_VFW_TEMPLATE} ${CURDIR}/opspolicy_VFW.template
${PUSH_POLICY_TEMPLATE} ${CURDIR}/pushpolicy.template
${CREATE_OPS_VDNS_TEMPLATE} ${CURDIR}/opspolicy_VDNS.template
${DEL_POLICY_TEMPLATE} ${CURDIR}/deletepolicy.template
${GETCONFIG_TEMPLATE} ${CURDIR}/getconfigpolicy.template
${CONFIG_POLICY_VFW_NAME} vFirewall
${CONFIG_POLICY_VFW_TYPE} MicroService
${CONFIG_POLICY_VDNS_NAME} vLoadBalancer
${CONFIG_POLICY_VDNS_TYPE} MicroService
${OPS_POLICY_VFW_NAME} vFirewall
${OPS_POLICY_VFW_TYPE} BRMS_PARAM
${OPS_POLICY_VDNS_NAME} vLoadBalancer
${OPS_POLICY_VDNS_TYPE} BRMS_PARAM
${CONFIG_POLICY_VCPE_NAME} vCPE
${CONFIG_POLICY_VCPE_TYPE} MicroService
${OPS_POLICY_VCPE_NAME} vCPE
${OPS_POLICY_VCPE_TYPE} BRMS_PARAM
${OPS_POLICY_VOLTE_NAME} VoLTE
${OPS_POLICY_VOLTE_TYPE} BRMS_PARAM
${file_path} ../testsuite/robot/assets/templates/ControlLoopDemo__closedLoopControlName.drl
${RESOURCE_PATH_UPLOAD} /pdp/api/policyEngineImport?importParametersJson=%7B%22serviceName%22%3A%22Manyu456%22%2C%20%22serviceType%22%3A%22BRMSPARAM%22%7D
${CREATE_OPS_VCPE_TEMPLATE} ${CURDIR}/opspolicy_vCPE.template
${CREATE_OPS_VOLTE_TEMPLATE} ${CURDIR}/opspolicy_vOLTE.template
*** Test Cases ***
Policy Health check
Run Policy Health Check
VFW Config Policy
${CONFIG_POLICY_VFW_NAME}= Create Config VFW Policy
Push Config Policy ${CONFIG_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE}
VFW Get Configs Policy
Get Configs VFW Policy
#VFW Policy Tests
VDNS Config Policy
${CONFIG_POLICY_VDNS_NAME}= Create Config VDNS Policy
Push Config Policy ${CONFIG_POLICY_VDNS_NAME} ${CONFIG_POLICY_VDNS_TYPE}
#VDNS Policy Tests
VCPE Config Policy
${CONFIG_POLICY_VCPE_NAME}= Create Config VCPE Policy
Push Config Policy ${CONFIG_POLICY_VCPE_NAME} ${CONFIG_POLICY_VCPE_TYPE}
#VCPE Policy Tests
#VOLTE Policy
#VOLTE Policy Tests
*** Keywords ***
VFW Policy Tests
${CONFIG_POLICY_VFW_NAME}= Create Config VFW Policy
Push Config Policy ${CONFIG_POLICY_VFW_NAME} ${CONFIG_POLICY_VFW_TYPE}
Get Configs VFW Policy
${OPS_POLICY_VFW_NAME}= Create Ops VFW Policy
Push Ops Policy ${OPS_POLICY_VFW_NAME} ${OPS_POLICY_VFW_TYPE}
VDNS Policy Tests
${CONFIG_POLICY_VDNS_NAME}= Create Config VDNS Policy
Push Config Policy ${CONFIG_POLICY_VDNS_NAME} ${CONFIG_POLICY_VDNS_TYPE}
Get Configs VDNS Policy
${OPS_POLICY_VDNS_NAME}= Create Ops VDNS Policy
Push Ops Policy ${OPS_POLICY_VDNS_NAME} ${OPS_POLICY_VDNS_TYPE}
VCPE Policy Tests
${CONFIG_POLICY_VCPE_NAME}= Create Config VCPE Policy
Push Config Policy ${CONFIG_POLICY_VCPE_NAME} ${CONFIG_POLICY_VCPE_TYPE}
Get Configs VCPE Policy
${OPS_POLICY_VCPE_NAME}= Create Ops VCPE Policy
Push Ops Policy ${OPS_POLICY_VCPE_NAME} ${OPS_POLICY_VCPE_TYPE}
VOLTE Policy Tests
${OPS_POLICY_VOLTE_NAME}= Create Ops VOLTE Policy
Push Ops Policy ${OPS_POLICY_VOLTE_NAME} ${OPS_POLICY_VOLTE_TYPE}
Get Configs VFW Policy
[Documentation] Get Config Policy for VFW
${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VFW_NAME}*
${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy}
${output} = Fill JSON Template File ${GETCONFIG_TEMPLATE} ${configpolicy_name}
${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output}
Should Be Equal As Strings ${get_resp.status_code} 200
Create Config VFW Policy
[Documentation] Create Config Policy
${randompolicyname} = Create Policy Name
${policyname1}= Catenate com.${randompolicyname}_vFirewall
${CONFIG_POLICY_VFW_NAME}= Set Test Variable ${policyname1}
${configpolicy}= Create Dictionary policy_name=${policyname1}
${output} = Fill JSON Template File ${CREATE_CONFIG_VFW_TEMPLATE} ${configpolicy}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
[Return] ${policyname1}
Create Policy Name
[Documentation] Generate Policy Name
[Arguments] ${prefix}=CSIT_
${random}= Generate Random String 15 [LOWER][NUMBERS]
${policyname}= Catenate ${prefix}${random}
[Return] ${policyname}
Create Ops VFW Policy
[Documentation] Create Opertional Policy
${randompolicyname} = Create Policy Name
${policyname1}= Catenate com.${randompolicyname}_vFirewall
${OPS_POLICY_VFW_NAME}= Set Test Variable ${policyname1}
${dict}= Create Dictionary policy_name=${policyname1}
${output} = Fill JSON Template File ${CREATE_OPS_VFW_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Log ${put_resp}
Should Be Equal As Strings ${put_resp.status_code} 200
[Return] ${policyname1}
Push Ops Policy
[Documentation] Push Ops Policy
[Arguments] ${policyname} ${policytype}
${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype}
${output} = Fill JSON Template File ${PUSH_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
Push Config Policy
[Documentation] Push Config Policy
[Arguments] ${policyname} ${policytype}
${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype}
${output} = Fill JSON Template File ${PUSH_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE_PUSH} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
Delete Ops Policy
[Documentation] Delete Config Policy
[Arguments] ${policy_name}
${policyname3}= Catenate com.Config_BRMS_Param_${policyname}.1.xml
${dict}= Create Dictionary policy_name=${policyname3}
${output} = Fill JSON Template ${DEL_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
Delete Config Policy
[Documentation] Delete Ops Policy
[Arguments] ${policy_name}
${policyname3}= Catenate com.Config_MS_com.${policy_name}.1.xml
${dict}= Create Dictionary policy_name=${policyname3}
${output} = Fill JSON Template ${DEL_POLICY_TEMPLATE} ${dict}
${put_resp} = Run Policy Delete Request ${RESOURCE_PATH_CREATE_DELETE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
Get Configs VDNS Policy
[Documentation] Get Config Policy for VDNS
${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VDNS_NAME}*
${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy}
${output} = Fill JSON Template File ${GETCONFIG_TEMPLATE} ${configpolicy_name}
${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output}
Should Be Equal As Strings ${get_resp.status_code} 200
Create Config VDNS Policy
[Documentation] Create Config Policy
${randompolicyname} = Create Policy Name
${policyname1}= Catenate com.${randompolicyname}_vLoadBalancer
${CONFIG_POLICY_VDNS_NAME}= Set Test Variable ${policyname1}
${configpolicy}= Create Dictionary policy_name=${policyname1}
${output} = Fill JSON Template File ${CREATE_CONFIG_VDNS_TEMPLATE} ${configpolicy}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
[Return] ${policyname1}
Create Ops VDNS Policy
[Documentation] Create Opertional Policy
${randompolicyname} = Create Policy Name
${policyname1}= Catenate com.${randompolicyname}_vLoadBalancer
${OPS_POLICY_VDNS_NAME}= Set Test Variable ${policyname1}
${dict}= Create Dictionary policy_name=${policyname1}
${output} = Fill JSON Template File ${CREATE_OPS_VDNS_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Log ${put_resp}
Should Be Equal As Strings ${put_resp.status_code} 200
[Return] ${policyname1}
Create Config VCPE Policy
[Documentation] Create Config Policy
${randompolicyname} = Create Policy Name
${policyname1}= Catenate com.${randompolicyname}_vFirewall
${CONFIG_POLICY_VCPE_NAME}= Set Test Variable ${policyname1}
${configpolicy}= Create Dictionary policy_name=${policyname1}
${output} = Fill JSON Template File ${CREATE_CONFIG_VCPE_TEMPLATE} ${configpolicy}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Should Be Equal As Strings ${put_resp.status_code} 200
[Return] ${policyname1}
Get Configs VCPE Policy
[Documentation] Get Config Policy for VCPE
${getconfigpolicy}= Catenate .*${CONFIG_POLICY_VCPE_NAME}*
${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy}
${output} = Fill JSON Template File ${GETCONFIG_TEMPLATE} ${configpolicy_name}
${get_resp} = Run Policy Get Configs Request ${RESOURCE_PATH_GET_CONFIG} ${output}
Should Be Equal As Strings ${get_resp.status_code} 200
Create Ops vCPE Policy
[Documentation] Create Opertional Policy
${randompolicyname} = Create Policy Name
${policyname1}= Catenate com.${randompolicyname}
${OPS_POLICY_NAME}= Set Test Variable ${policyname1}
${dict}= Create Dictionary policy_name=${OPS_POLICY_NAME}
${NEWPOLICY1}= Create Dictionary policy_name=com.${OPS_POLICY_NAME}
${output} = Fill JSON Template File ${CREATE_OPS_VCPE_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Log ${put_resp}
Should Be Equal As Strings ${put_resp.status_code} 200
Create Ops VolTE Policy
[Documentation] Create Opertional Policy
${randompolicyname} = Create Policy Name
${policyname2}= Catenate com.${randompolicyname}
#${OPS_POLICY_VOLTE_NAME}= Set Test Variable ${policyname2}
${dict}= Create Dictionary policy_name=${policyname2}
#${NEWPOLICY1}= Create Dictionary policy_name=com.${OPS_POLICY_NAME}
${output} = Fill JSON Template File ${CREATE_OPS_VOLTE_TEMPLATE} ${dict}
${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
Log ${put_resp}
Should Be Equal As Strings ${put_resp.status_code} 200
Upload DRL file
[Documentation] Upload DRL file1
${file_data}= Get Binary File ${file_path}
${files}= Create Dictionary file=${file_data}
#${CONFIG_POLICY_VDNS_NAME}= Set Test Variable ${policyname1}
# ${files2} = {'file': open('../testsuite/robot/assets/templates/ControlLoopDemo__closedLoopControlName.drl', 'rb')}
# ${files}= Create Dictionary file ${file_data}
${put_resp} = Run Policy Post form Request ${RESOURCE_PATH_UPLOAD} ${files}
Should Be Equal As Strings ${put_resp.status_code} 200