summaryrefslogtreecommitdiffstats
path: root/robot/resources/test_templates/closedloop_test_template.robot
diff options
context:
space:
mode:
Diffstat (limited to 'robot/resources/test_templates/closedloop_test_template.robot')
-rw-r--r--robot/resources/test_templates/closedloop_test_template.robot210
1 files changed, 210 insertions, 0 deletions
diff --git a/robot/resources/test_templates/closedloop_test_template.robot b/robot/resources/test_templates/closedloop_test_template.robot
new file mode 100644
index 00000000..67bf0cb1
--- /dev/null
+++ b/robot/resources/test_templates/closedloop_test_template.robot
@@ -0,0 +1,210 @@
+*** Settings ***
+Documentation Policy Closed Loop Test cases
+
+Resource ../policy_interface.robot
+Resource ../stack_validation/policy_check_vfw.robot
+Resource vnf_orchestration_test_template.robot
+Library String
+Library HttpLibrary.HTTP
+LIbrary Process
+
+*** Variables ***
+${RESOURCE_PATH_CREATE} /PyPDPServer/createPolicy
+${RESOURCE_PATH_CREATE_PUSH} /PyPDPServer/pushPolicy
+${RESOURCE_PATH_CREATE_DELETE} /PyPDPServer/deletePolicy
+${RESOURCE_PATH_GET_CONFIG} /PyPDPServer/getConfig
+${CREATE_CONFIG_TEMPLATE} robot/assets/templates/policy/closedloop_configpolicy.template
+${CREATE_OPS_TEMPLATE} robot/assets/templates/policy/closedloop_opspolicy.template
+${PUSH_POLICY_TEMPLATE} robot/assets/templates/policy/closedloop_pushpolicy.template
+${DEL_POLICY_TEMPLATE} robot/assets/templates/policy/closedloop_deletepolicy.template
+${GECONFIG_VFW_TEMPLATE} robot/assets/templates/policy/closedloop_getconfigpolicy.template
+
+# 'Normal' number of pg streams that will be set when policy is triggered
+${VFWPOLICYRATE} 5
+
+# Max nslookup requests per second before triggering event.
+${VLBPOLICYRATE} 20
+
+${CONFIG_POLICY_NAME} vFirewall
+${CONFIG_POLICY_TYPE} Unknown
+${OPS_POLICY_NAME}
+${OPS_POLICY_TYPE} BRMS_PARAM
+
+# VFW low threshold
+${Expected_Severity_1} MAJOR
+${Expected_Threshold_1} 300
+${Expected_Direction_1} LESS_OR_EQUAL
+
+# VFW high threshold
+${Expected_Severity_2} CRITICAL
+${Expected_Threshold_2} 700
+${Expected_Direction_2} GREATER_OR_EQUAL
+
+# VDNS High threshold
+${Expected_Severity_3} MAJOR
+${Expected_Threshold_3} 200
+${Expected_Direction_3} GREATER_OR_EQUAL
+
+${DNSSCALINGSTACK}
+
+*** Keywords ***
+VFW Policy
+ Log Suite name ${SUITE NAME} ${TEST NAME} ${PREV TEST NAME}
+ Initialize VFW Policy
+ ${stackname}= Orchestrate VNF vFW closedloop
+ Policy Check Firewall Stack ${stackname} ${VFWPOLICYRATE}
+
+
+VDNS Policy
+ Initialize VDNS Policy
+ ${stackname}= Orchestrate VNF vDNS closedloop
+ ${dnsscaling}= Policy Check vLB Stack ${stackname} ${VLBPOLICYRATE}
+ Set Test Variable ${DNSSCALINGSTACK} ${dnsscaling}
+
+Initialize VFW Policy
+# Create Config Policy
+# Push Config Policy ${CONFIG_POLICY_NAME} ${CONFIG_POLICY_TYPE}
+# Create Ops Policy
+# Push Ops Policy ${OPS_POLICY_NAME} ${OPS_POLICY_TYPE}
+ Get Configs VFW Policy
+
+Initialize VDNS Policy
+ Get Configs VDNS Policy
+
+Get Configs VFW Policy
+ [Documentation] Get Config Policy for VFW
+ ${getconfigpolicy}= Catenate .*${CONFIG_POLICY_NAME}*
+ ${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy}
+ ${output} = Fill JSON Template File ${GECONFIG_VFW_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
+
+ ${json}= Parse Json ${get_resp.content}
+ ${config}= Parse Json ${json[0]["config"]}
+
+ # Extract object1 from Array
+ ${severity}= Get Variable Value ${config["content"]["thresholds"][0]["severity"]}
+ Should Be Equal ${severity} ${Expected_Severity_1}
+ ${Thresold_Value}= Get Variable Value ${config["content"]["thresholds"][0]["thresholdValue"]}
+ Should Be Equal ${Thresold_Value} ${Expected_Threshold_1}
+ ${direction}= Get Variable Value ${config["content"]["thresholds"][0]["direction"]}
+ Should Be Equal ${direction} ${Expected_Direction_1}
+
+ # Extract object2 from Array
+ ${severity_1}= Get Variable Value ${config["content"]["thresholds"][1]["severity"]}
+ Should Be Equal ${severity_1} ${Expected_Severity_2}
+ ${Thresold_Value_1}= Get Variable Value ${config["content"]["thresholds"][1]["thresholdValue"]}
+ Should Be Equal ${Thresold_Value_1} ${Expected_Threshold_2}
+ ${direction_1}= Get Variable Value ${config["content"]["thresholds"][1]["direction"]}
+ Should Be Equal ${direction_1} ${Expected_Direction_2}
+
+Get Configs VDNS Policy
+ [Documentation] Get Config Policy for VDNS
+ ${getconfigpolicy}= Catenate .*vLoadBalancer*
+ ${configpolicy_name}= Create Dictionary config_policy_name=${getconfigpolicy}
+ ${output} = Fill JSON Template File ${GECONFIG_VFW_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
+ ${json}= Parse Json ${get_resp.content}
+ ${config}= Parse Json ${json[0]["config"]}
+
+ # Extract object1 from Array
+ ${severity}= Get Variable Value ${config["content"]["thresholds"][0]["severity"]}
+ Should Be Equal ${severity} ${Expected_Severity_3}
+ ${Thresold_Value}= Get Variable Value ${config["content"]["thresholds"][0]["thresholdValue"]}
+ Should Be Equal ${Thresold_Value} ${Expected_Threshold_3}
+ ${direction}= Get Variable Value ${config["content"]["thresholds"][0]["direction"]}
+ Should Be Equal ${direction} ${Expected_Direction_3}
+
+Teardown Closed Loop
+ [Documentation] Tear down a closed loop test case
+ Terminate All Processes
+ Teardown VDNS
+ Teardown VNF
+ #Clean A&AI Inventory VFWPolicy_Customer Rackspece vFW
+# Delete Config Policy ${CONFIG_POLICY_NAME}
+# Delete Ops Policy ${OPS_POLICY_NAME}
+ Log Teardown complete
+
+Teardown VDNS
+ Return From Keyword if '${DNSSCALINGSTACK}' == ''
+ # This needs to be done via VID
+ Teardown Stack ${DNSSCALINGSTACK}
+
+Create Config Policy
+ [Documentation] Create Config Policy
+ ${randompolicyname} = Create Policy Name
+ ${policyname1}= Catenate com.${randompolicyname}
+ ${CONFIG_POLICY_NAME}= Set Test Variable ${policyname1}
+ ${configpolicy}= Create Dictionary policy_name=${CONFIG_POLICY_NAME}
+ ${output} = Fill JSON Template File ${CREATE_CONFIG_TEMPLATE} ${configpolicy}
+ ${put_resp} = Run Policy Put Request ${RESOURCE_PATH_CREATE} ${output}
+ Should Be Equal As Strings ${put_resp.status_code} 200
+
+ Create Policy Name
+ [Documentation] Generate Policy Name
+ [Arguments] ${prefix}=ETE_
+ ${random}= Generate Random String 15 [LOWER][NUMBERS]
+ ${policyname}= Catenate ${prefix}${random}
+ [Return] ${policyname}
+
+Create Ops 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_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
+
+Push Ops Policy
+ [Documentation] Push Ops Policy
+ [Arguments] ${policyname} ${policytype}
+ ${dict}= Create Dictionary policy_name=${policyname} policy_type=${policytype}
+ ${output} = Fill JSON Template ${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 ${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 Config 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 Ops Policy
+ [Documentation] Delete Ops Policy
+ [Arguments] ${policy_name}
+ ${policyname3}= Catenate com.Config_MS_com.vFirewall.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
+
+Orchestrate VNF vFW closedloop
+ [Documentation] VNF Orchestration for vFW
+ Log VNF Orchestration flow TEST NAME=${TEST NAME}
+ Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} ${GLOBAL_OPENSTACK_SERVICE_REGION} SharedNode OwnerType v1 CloudZone
+ ${stack_name} ${service}= Orchestrate VNF ETE_CLP vFW vFW ${GLOBAL_OPENSTACK_SERVICE_REGION} ${TENANT_NAME}
+ [Return] ${stack_name}
+
+ Orchestrate VNF vDNS closedloop
+ [Documentation] VNF Orchestration for vLB
+ Log VNF Orchestration flow TEST NAME=${TEST NAME}
+ Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} ${GLOBAL_OPENSTACK_SERVICE_REGION} SharedNode OwnerType v1 CloudZone
+ ${stack_name} ${service}= Orchestrate VNF ETE_CLP vLB vLB ${GLOBAL_OPENSTACK_SERVICE_REGION} ${TENANT_NAME}
+ [Return] ${stack_name}