aboutsummaryrefslogtreecommitdiffstats
path: root/robot
diff options
context:
space:
mode:
Diffstat (limited to 'robot')
-rw-r--r--robot/resources/aai/service_instance.robot15
-rw-r--r--robot/resources/demo_preload.robot26
-rw-r--r--robot/resources/heatbridge.robot2
-rw-r--r--robot/resources/portal_interface.robot2
-rw-r--r--robot/resources/stack_validation/policy_check_vfw.robot7
-rw-r--r--robot/resources/stack_validation/validate_dns_scaling.robot4
-rw-r--r--robot/resources/stack_validation/validate_vfw.robot4
-rw-r--r--robot/resources/test_templates/closedloop_test_template.robot33
-rw-r--r--robot/resources/test_templates/vnf_orchestration_test_template.robot60
-rw-r--r--robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot20
-rw-r--r--robot/resources/vid/create_service_instance.robot4
-rw-r--r--robot/resources/vid/vid_interface.robot2
-rw-r--r--robot/testsuites/cds.robot2
-rw-r--r--robot/testsuites/closed-loop.robot5
-rw-r--r--robot/testsuites/demo.robot13
15 files changed, 78 insertions, 121 deletions
diff --git a/robot/resources/aai/service_instance.robot b/robot/resources/aai/service_instance.robot
index fa238ce5..6c110977 100644
--- a/robot/resources/aai/service_instance.robot
+++ b/robot/resources/aai/service_instance.robot
@@ -70,7 +70,6 @@ VLB Closed Loop Hack
Set Test Variable ${VLB_CLOSED_LOOP_DELETE} ${datapath}
Set Test Variable ${VLB_CLOSED_LOOP_VNF_ID} ${vnf_id}
-
VLB Closed Loop Hack Update
[Documentation] Update the A&AI vDNS scaling vf module to have persona-model-version 1 rather than 1.0
[Arguments] ${stack_name}
@@ -85,25 +84,13 @@ VLB Closed Loop Hack Update
${resp}= Run A&AI Put Request ${INDEX_PATH}${uri} ${json}
${get_resp}= Run A&AI Get Request ${INDEX_PATH}${query}
-
Teardown VLB Closed Loop Hack
Return From Keyword If ' ${VLB_CLOSED_LOOP_DELETE}' == ''
Delete A&AI Entity ${VLB_CLOSED_LOOP_DELETE}
-
Validate VF Module
[Documentation] Query and Validates A&AI Service Instance
[Arguments] ${vf_module_name} ${stack_type}
Run Keyword If '${stack_type}'=='vLB' Validate vLB Stack ${vf_module_name}
Run Keyword If '${stack_type}'=='vFW' Validate Firewall Stack ${vf_module_name}
- Run Keyword If '${stack_type}'=='vVG' Validate vVG Stack ${vf_module_name}
-
-*** Keywords ***
-Create AAI Service Instance
- [Documentation] Query and Validates A&AI Service Instance
- [Arguments] ${customer_id} ${service_type} ${service_instance_id} ${service_instance_name}
- ${json_string}= Catenate { "service-type": "VDNS" , "service-subscriptions":[{"service-instance-id":"instanceid123","service-instance-name":"VDNS"}]}
- ${put_resp}= Run A&AI Put Request ${INDEX PATH}${CUSTOMER SPEC PATH}${CUSTOMER ID}${SERVICE SUBSCRIPTIONS}/{service_type} ${json_string}
- Should Be Equal As Strings ${put_resp.status_code} 201
- [Return] ${put_resp.status_code}
-
+ Run Keyword If '${stack_type}'=='vVG' Validate vVG Stack ${vf_module_name} \ No newline at end of file
diff --git a/robot/resources/demo_preload.robot b/robot/resources/demo_preload.robot
index cbdeef7a..beb819d0 100644
--- a/robot/resources/demo_preload.robot
+++ b/robot/resources/demo_preload.robot
@@ -55,16 +55,14 @@ Load Customer
[Documentation] Use openECOMP to Orchestrate a service.
[Arguments] ${customer_name}
${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone
- Set Test Variable ${CUSTOMER_NAME} ${customer_name}
${region}= Get Openstack Region
- Create Customer For VNF Demo ${CUSTOMER_NAME} ${CUSTOMER_NAME} INFRA ${GLOBAL_AAI_CLOUD_OWNER} ${region} ${tenant_id}
- Create Customer For VNF Demo ${CUSTOMER_NAME} ${CUSTOMER_NAME} INFRA ${GLOBAL_AAI_CLOUD_OWNER} RegionTlab 50b190410b2a4c229d8a6044a80ab7c1
+ Create Customer For VNF Demo ${customer_name} ${customer_name} INFRA ${GLOBAL_AAI_CLOUD_OWNER} ${region} ${tenant_id}
+ Create Customer For VNF Demo ${customer_name} ${customer_name} INFRA ${GLOBAL_AAI_CLOUD_OWNER} RegionTlab 50b190410b2a4c229d8a6044a80ab7c1
Create Availability Zone If Not Exists ${GLOBAL_AAI_CLOUD_OWNER} ${region} ${GLOBAL_AAI_AVAILABILITY_ZONE_NAME}
Load Models
[Documentation] Use openECOMP to Orchestrate a service.
[Arguments] ${customer_name}
- Set Test Variable ${CUSTOMER_NAME} ${customer_name}
Log ${\n}Distributing vFWCL
${status} ${value}= Run Keyword And Ignore Error Distribute Model vFWCL ${DEMO_PREFIX}VFWCL
Log Distibuting vLB
@@ -110,7 +108,7 @@ Create Customer For VNF Demo
Preload User Model
[Documentation] Preload the demo data for the passed VNF with the passed module name
- [Arguments] ${vnf_name} ${vf_module_name} ${service}
+ [Arguments] ${vnf_name} ${vf_module_name} ${service} ${service_instance_id}
# Go to A&AI and get information about the VNF we need to preload
${status} ${generic_vnf}= Run Keyword And Ignore Error Get Service Instance ${vnf_name}
Run Keyword If '${status}' == 'FAIL' FAIL VNF Name: ${vnf_name} is not found.
@@ -175,9 +173,10 @@ APPC Mount Point
Instantiate VNF
[Arguments] ${service} ${vf_module_label}=NULL
${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone
- ${vf_module_name_list} ${generic_vnfs} ${vvg_server_id}= Orchestrate VNF DemoCust ${service} ${service} ${tenant_id} ${tenant_name}
- Save For Delete ${tenant_id} ${tenant_name} ${vvg_server_id}
- Log Customer Name=${CUSTOMER_NAME}
+ ${uuid}= Generate UUID4
+ ${vf_module_name_list} ${generic_vnfs} ${vvg_server_id} ${service_instance_id}= Orchestrate VNF DemoCust_${uuid} ${service} ${service} ${tenant_id} ${tenant_name}
+ ${stack_name} = Get From List ${vf_module_name_list} -1
+ Save For Delete ${tenant_id} ${tenant_name} ${vvg_server_id} DemoCust_${uuid} ${service_instance_id} ${stack_name}
:FOR ${vf_module_name} IN @{vf_module_name_list}
\ Log VNF Module Name=${vf_module_name}
# Don't get from MSO for now due to SO-1186
@@ -198,7 +197,6 @@ Instantiate Demo VNF
[Arguments] ${service} ${vf_module_label}=NULL
${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone
${vf_module_name} ${service} ${generic_vnfs}= Orchestrate Demo VNF Demonstration ${service} ${service} ${tenant_id} ${tenant_name}
- Log Customer Name=${CUSTOMER_NAME}
Log VNF Module Name=${vf_module_name}
# Don't get from MSO for now due to SO-1186
# ${model_invariant_id}= Run MSO Get ModelInvariantId ${SUITE_SERVICE_MODEL_NAME} ${vf_module_label}
@@ -213,14 +211,14 @@ Instantiate Demo VNF
Save For Delete
[Documentation] Create a variable file to be loaded for save for delete
- [Arguments] ${tenant_id} ${tenant_name} ${vvg_server_id}
+ [Arguments] ${tenant_id} ${tenant_name} ${vvg_server_id} ${customer_name} ${service_instance_id} ${stack_name}
${dict}= Create Dictionary
Set To Dictionary ${dict} TENANT_NAME=${tenant_name}
Set To Dictionary ${dict} TENANT_ID=${tenant_id}
- Set To Dictionary ${dict} CUSTOMER_NAME=${CUSTOMER_NAME}
- Set To Dictionary ${dict} STACK_NAME=${STACK_NAME}
+ Set To Dictionary ${dict} CUSTOMER_NAME=${customer_name}
+ Set To Dictionary ${dict} STACK_NAME=${stack_name}
Set To Dictionary ${dict} VVG_SERVER_ID=${vvg_server_id}
- Set To Dictionary ${dict} SERVICE_INSTANCE_ID=${SERVICE_INSTANCE_ID}
+ Set To Dictionary ${dict} SERVICE_INSTANCE_ID=${service_instance_id}
Set To Dictionary ${dict} VLB_CLOSED_LOOP_DELETE=${VLB_CLOSED_LOOP_DELETE}
Set To Dictionary ${dict} VLB_CLOSED_LOOP_VNF_ID=${VLB_CLOSED_LOOP_VNF_ID}
@@ -239,7 +237,7 @@ Save For Delete
\ ${vars}= Catenate ${vars}${comma} "${id}"
\ ${comma}= Catenate ,
${vars}= Catenate ${vars}]\n
- OperatingSystem.Create File ${FILE_CACHE}/${STACK_NAME}.py ${vars}
+ OperatingSystem.Create File ${FILE_CACHE}/${stack_name}.py ${vars}
OperatingSystem.Create File ${FILE_CACHE}/lastVNF4HEATBRIGE.py ${vars}
diff --git a/robot/resources/heatbridge.robot b/robot/resources/heatbridge.robot
index c8d6971b..65415a31 100644
--- a/robot/resources/heatbridge.robot
+++ b/robot/resources/heatbridge.robot
@@ -33,7 +33,7 @@ Execute Heatbridge
[Documentation] Run the Heatbridge against the stack to generate the bulkadd message
... Execute the build add
... Validate the add results by running the named query
- [Arguments] ${stack_name} ${service_instance_id} ${service} ${ipv4_oam_address}
+ [Arguments] ${stack_name} ${service} ${ipv4_oam_address}
Return From Keyword If '${service}' == 'vVG'
Run Openstack Auth Request auth
${stack_info}= Wait for Stack to Be Deployed auth ${stack_name}
diff --git a/robot/resources/portal_interface.robot b/robot/resources/portal_interface.robot
index e8a6c53c..273ecc58 100644
--- a/robot/resources/portal_interface.robot
+++ b/robot/resources/portal_interface.robot
@@ -138,7 +138,7 @@ Select From List When Enabled
[Arguments] ${xpath} ${value} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
Wait Until Page Contains Element xpath=${xpath} ${timeout}
Wait Until Element Is Enabled xpath=${xpath} ${timeout}
- Select From List xpath=${xpath} ${value}
+ Select From List By Value xpath=${xpath} ${value}
Input Text When Enabled
[Arguments] ${xpath} ${value} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
diff --git a/robot/resources/stack_validation/policy_check_vfw.robot b/robot/resources/stack_validation/policy_check_vfw.robot
index 170d6388..927b1ec1 100644
--- a/robot/resources/stack_validation/policy_check_vfw.robot
+++ b/robot/resources/stack_validation/policy_check_vfw.robot
@@ -8,7 +8,7 @@ Library ONAPLibrary.JSON
Library ONAPLibrary.Openstack
Library Collections
Library String
-Library ONAPLibrary.ServiceMapping
+Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping
Resource ../openstack/keystone_interface.robot
Resource ../openstack/nova_interface.robot
@@ -17,7 +17,6 @@ Resource ../ssh/files.robot
Resource ../demo_preload.robot
Resource packet_generator_interface.robot
Resource validate_common.robot
-Resource ../test_templates/vnf_orchestration_test_template.robot
*** Variables ***
@@ -91,8 +90,8 @@ Policy Check vLB Stack
[Return] ${dnsscaling}
Get DNSScaling Prefix
- Set Directory default ./demo/service_mapping
- ${mapping}= Get Service Template Mapping default vLB vLB
+ ServiceMapping.Set Directory default ./demo/service_mapping
+ ${mapping}= ServiceMapping.Get Service Template Mapping default vLB vLB
:FOR ${dict} IN @{mapping}
\ Return From Keyword If '${dict['isBase']}' == 'false' ${dict['prefix']}
[Return] None
diff --git a/robot/resources/stack_validation/validate_dns_scaling.robot b/robot/resources/stack_validation/validate_dns_scaling.robot
index 0778a2b2..9082ecab 100644
--- a/robot/resources/stack_validation/validate_dns_scaling.robot
+++ b/robot/resources/stack_validation/validate_dns_scaling.robot
@@ -20,9 +20,9 @@ Resource validate_common.robot
*** Keywords ***
Validate Dns Scaling Stack
[Documentation] Wait for the DNS scaling stack to be instantiated
- [Arguments] ${STACK_NAME}
+ [Arguments] ${stack_name}
Run Openstack Auth Request auth
- ${stack_info}= Wait for Stack to Be Deployed auth ${STACK_NAME}
+ ${stack_info}= Wait for Stack to Be Deployed auth ${stack_name}
${stack_id}= Get From Dictionary ${stack_info} id
${server_list}= Get Openstack Servers auth
Log ${server_list}
diff --git a/robot/resources/stack_validation/validate_vfw.robot b/robot/resources/stack_validation/validate_vfw.robot
index 4ef7f0c7..4646720e 100644
--- a/robot/resources/stack_validation/validate_vfw.robot
+++ b/robot/resources/stack_validation/validate_vfw.robot
@@ -21,9 +21,9 @@ Resource validate_common.robot
*** Keywords ***
Validate Firewall Stack
[Documentation] Identifies and validates the firewall servers in the VFW Stack
- [Arguments] ${STACK_NAME}
+ [Arguments] ${stack_name}
Run Openstack Auth Request auth
- ${stack_info}= Wait for Stack to Be Deployed auth ${STACK_NAME}
+ ${stack_info}= Wait for Stack to Be Deployed auth ${stack_name}
${stack_id}= Get From Dictionary ${stack_info} id
${server_list}= Get Openstack Servers auth
diff --git a/robot/resources/test_templates/closedloop_test_template.robot b/robot/resources/test_templates/closedloop_test_template.robot
index 95af32b9..e43233e0 100644
--- a/robot/resources/test_templates/closedloop_test_template.robot
+++ b/robot/resources/test_templates/closedloop_test_template.robot
@@ -1,14 +1,12 @@
*** Settings ***
Documentation Policy Closed Loop Test cases
-Resource ../policy_interface.robot
Resource ../stack_validation/policy_check_vfw.robot
-Resource ../stack_validation/packet_generator_interface.robot
-Resource vnf_orchestration_test_template.robot
Library String
Library Process
Library ONAPLibrary.Templating
+Library ONAPLibrary.Utilities
*** Variables ***
${RESOURCE_PATH_CREATE} /pdp/createPolicy
@@ -54,24 +52,18 @@ ${DNSSCALINGSTACK}
VFW Policy
Log Suite name ${SUITE NAME} ${TEST NAME} ${PREV TEST NAME}
Initialize VFW Policy
- ${stackname}= Orchestrate VNF vFW closedloop
+ ${stackname} ${generic_vnfs} ${server_id} ${service_instance_id} ${customer_name}= Orchestrate VNF vFW closedloop
Policy Check FirewallCL Stack ${stackname} ${VFWPOLICYRATE}
- # there is none of this
- Delete VNF ${None} ${None}
+ Delete VNF ${None} ${server_id} ${customer_name} ${service_instance_id} ${stackname}
VDNS Policy
Initialize VDNS Policy
- ${stackname}= Orchestrate VNF vDNS closedloop
+ ${stackname} ${generic_vnfs} ${server_id} ${service_instance_id} ${customer_name}= Orchestrate VNF vDNS closedloop
${dnsscaling}= Policy Check vLB Stack ${stackname} ${VLBPOLICYRATE}
Set Test Variable ${DNSSCALINGSTACK} ${dnsscaling}
- # there is none of this
- Delete VNF ${None} ${None}
+ Delete VNF ${None} ${server_id} ${customer_name} ${service_instance_id} ${stackname}
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
@@ -116,8 +108,9 @@ Get Configs VDNS Policy
Teardown Closed Loop
[Documentation] Tear down a closed loop test case
+ [Arguments] ${customer_name}
Terminate All Processes
- Teardown VNF
+ Teardown VNF ${customer_name}
Log Teardown complete
Create Config Policy
@@ -193,15 +186,19 @@ Orchestrate VNF vFW closedloop
[Documentation] VNF Orchestration for vFW
Log VNF Orchestration flow TEST NAME=${TEST NAME}
${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone
- ${stack_name}= Orchestrate VNF ETE_CLP vFWCL vFWCL ${tenant_id} ${tenant_name}
- [Return] ${stack_name}
+ ${uuid}= Generate UUID4
+ ${stack_names} ${generic_vnfs} ${server_id} ${service_instance_id}= Orchestrate VNF ETE_CLP_${uuid} vFWCL vFWCL ${tenant_id} ${tenant_name}
+ ${customer_name}= Catenate ETE_CLP_${uuid}
+ [Return] ${stack_names} ${generic_vnfs} ${server_id} ${service_instance_id} ${customer_name}
Orchestrate VNF vDNS closedloop
[Documentation] VNF Orchestration for vLB
Log VNF Orchestration flow TEST NAME=${TEST NAME}
${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone
- ${stack_name}= Orchestrate VNF ETE_CLP vLB vLB ${tenant_id} ${tenant_name}
- [Return] ${stack_name}
+ ${uuid}= Generate UUID4
+ ${stack_names} ${generic_vnfs} ${server_id} ${service_instance_id}= Orchestrate VNF ETE_CLP_${uuid} vLB vLB ${tenant_id} ${tenant_name}
+ ${customer_name}= Catenate ETE_CLP_${uuid}
+ [Return] ${stack_names} ${generic_vnfs} ${server_id} ${service_instance_id} ${customer_name}
VFWCL High Test
[Documentation] Test Control Loop for High Traffic
diff --git a/robot/resources/test_templates/vnf_orchestration_test_template.robot b/robot/resources/test_templates/vnf_orchestration_test_template.robot
index dc239a8d..64c4a215 100644
--- a/robot/resources/test_templates/vnf_orchestration_test_template.robot
+++ b/robot/resources/test_templates/vnf_orchestration_test_template.robot
@@ -26,42 +26,30 @@ Library ONAPLibrary.JSON
Library ONAPLibrary.ServiceMapping WITH NAME ServiceMapping
-
-*** Variables ***
-
-#**************** TEST CASE VARIABLES **************************
-${CUSTOMER_NAME}
-${STACK_NAME}
-${STACK_NAMES}
-${SERVICE_INSTANCE_ID}
-
*** Keywords ***
Orchestrate VNF Template
- [Teardown] Teardown VNF
[Documentation] Use openECOMP to Orchestrate a service.
[Arguments] ${customer_name} ${service} ${product_family} ${delete_flag}=DELETE
${tenant_id} ${tenant_name}= Setup Orchestrate VNF ${GLOBAL_AAI_CLOUD_OWNER} SharedNode OwnerType v1 CloudZone
- ${vf_module_name_list} ${generic_vnfs} ${server_id}= Orchestrate VNF ${customer_name} ${service} ${product_family} ${tenant_id} ${tenant_name}
- Run Keyword If '${delete_flag}' == 'DELETE' Delete VNF ${tenant_name} ${server_id}
+ ${uuid}= Generate UUID4
+ ${vf_module_name_list} ${generic_vnfs} ${server_id} ${service_instance_id}= Orchestrate VNF ${customer_name}_${uuid} ${service} ${product_family} ${tenant_id} ${tenant_name}
+ Run Keyword If '${delete_flag}' == 'DELETE' Delete VNF ${tenant_name} ${server_id} ${customer_name}_${uuid} ${service_instance_id} ${vf_module_name_list}
+ [Teardown] Teardown VNF ${customer_name}_${uuid}
Orchestrate VNF
[Documentation] Use openECOMP to Orchestrate a service.
[Arguments] ${customer_name} ${service} ${product_family} ${tenant_id} ${tenant_name} ${project_name}=Project-Demonstration ${owning_entity}=OE-Demonstration
${lcp_region}= Get Openstack Region
${uuid}= Generate UUID4
- Set Test Variable ${CUSTOMER_NAME} ${customer_name}_${uuid}
- ${list}= Create List
- Set Test Variable ${STACK_NAMES} ${list}
${service_name}= Catenate Service_Ete_Name${uuid}
${service_type}= Set Variable ${service}
${service_model_type} ${vnf_type} ${vf_modules} ${catalog_resources}= Model Distribution For Directory ${service}
Set Suite Variable ${SUITE_SERVICE_MODEL_NAME} ${service_model_type}
${server_id}= Run Keyword If '${service}' == 'vVG' Create VVG Server ${uuid}
- Create Customer For VNF ${CUSTOMER_NAME} ${CUSTOMER_NAME} INFRA ${service_type} ${GLOBAL_AAI_CLOUD_OWNER} ${tenant_id}
+ Create Customer For VNF ${customer_name} ${customer_name} INFRA ${service_type} ${GLOBAL_AAI_CLOUD_OWNER} ${tenant_id}
Setup Browser
Login To VID GUI
${service_instance_id}= Wait Until Keyword Succeeds 300s 5s Create VID Service Instance ${customer_name} ${service_model_type} ${service} ${service_name} ${project_name} ${owning_entity}
- Set Test Variable ${SERVICE_INSTANCE_ID} ${service_instance_id}
Validate Service Instance ${service_instance_id} ${service} ${customer_name}
ServiceMapping.Set Directory default ./demo/service_mapping
${vnflist}= ServiceMapping.Get Service Vnf Mapping default ${service}
@@ -76,18 +64,16 @@ Orchestrate VNF
\ ${vnf_name_index}= Evaluate ${vnf_name_index} + 1
\ ${vnf_type}= Get VNF Type ${catalog_resources} ${vnf} ${service}
\ ${vf_module}= Get VF Module ${catalog_resources} ${vnf} ${service}
- \ Append To List ${STACK_NAMES} ${vf_module_name}
- \ Wait Until Keyword Succeeds 300s 5s Create VID VNF ${service_instance_id} ${vnf_name} ${product_family} ${lcp_region} ${tenant_name} ${vnf_type} ${CUSTOMER_NAME}
+ \ Wait Until Keyword Succeeds 300s 5s Create VID VNF ${service_instance_id} ${vnf_name} ${product_family} ${lcp_region} ${tenant_name} ${vnf_type} ${customer_name}
\ ${vf_module_type} ${closedloop_vf_module}= Preload Vnf ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_module} ${vnf} ${uuid}
- \ ${vf_module_id}= Create VID VNF module ${service_instance_id} ${vf_module_name} ${lcp_region} ${tenant_name} ${vf_module_type} ${CUSTOMER_NAME} ${vnf_name}
+ \ ${vf_module_id}= Create VID VNF module ${service_instance_id} ${vf_module_name} ${lcp_region} ${tenant_name} ${vf_module_type} ${customer_name} ${vnf_name}
\ ${generic_vnf}= Validate Generic VNF ${vnf_name} ${vnf_type} ${service_instance_id}
\ Set To Dictionary ${generic_vnfs} ${vf_module_type} ${generic_vnf}
- \ Set Test Variable ${STACK_NAME} ${vf_module_name}
# TODO: Need to look at a better way to default ipv4_oam_interface search for Heatbridge
- \ Execute Heatbridge ${vf_module_name} ${service_instance_id} ${vnf} ipv4_oam_interface
+ \ Execute Heatbridge ${vf_module_name} ${vnf} ipv4_oam_interface
\ Validate VF Module ${vf_module_name} ${vnf}
\ Append To List ${vf_module_name_list} ${vf_module_name}
- [Return] ${vf_module_name_list} ${generic_vnfs} ${server_id}
+ [Return] ${vf_module_name_list} ${generic_vnfs} ${server_id} ${service_instance_id}
Orchestrate Demo VNF
@@ -99,18 +85,17 @@ Orchestrate Demo VNF
... '${service}'=='vLB' demoVLB
${lcp_region}= Get Openstack Region
${uuid}= Generate UUID4
- Set Test Variable ${CUSTOMER_NAME} ${customer_name}_${uuid}
+ ${full_customer_name}= Catenate ${customer_name}_${uuid}
${list}= Create List
- Set Test Variable ${STACK_NAMES} ${list}
+ ${vf_module_name_list}= Create List
${service_name}= Catenate Service_Ete_Name${uuid}
${service_type}= Set Variable ${service}
${vnf_json_resources}= Get SDC Demo Vnf Catalog Resource ${service_model_type}
Set Suite Variable ${SUITE_SERVICE_MODEL_NAME} ${service_model_type}
- Create Customer For VNF ${CUSTOMER_NAME} ${CUSTOMER_NAME} INFRA ${service_type} ${GLOBAL_AAI_CLOUD_OWNER} ${tenant_id}
+ Create Customer For VNF ${full_customer_name} ${full_customer_name} INFRA ${service_type} ${GLOBAL_AAI_CLOUD_OWNER} ${tenant_id}
Setup Browser
Login To VID GUI
${service_instance_id}= Wait Until Keyword Succeeds 300s 5s Create VID Service Instance ${customer_name} ${service_model_type} ${service} ${service_name} ${project_name} ${owning_entity}
- Set Test Variable ${SERVICE_INSTANCE_ID} ${service_instance_id}
Validate Service Instance ${service_instance_id} ${service} ${customer_name}
ServiceMapping.Set Directory default ./demo/service_mapping
${vnflist}= ServiceMapping.Get Service Vnf Mapping default ${service}
@@ -120,18 +105,17 @@ Orchestrate Demo VNF
\ ${vf_module_name}= Catenate Vfmodule_Demo_${vnf}_${uuid}
\ ${vnf_type}= Set Variable ${vnf_json_resources['${vnf}']['vnf_type']}
\ ${vf_module}= Set Variable ${vnf_json_resources['${vnf}']['vf_module']}
- \ Append To List ${STACK_NAMES} ${vf_module_name}
- \ Wait Until Keyword Succeeds 300s 5s Create VID VNF ${service_instance_id} ${vnf_name} ${product_family} ${lcp_region} ${tenant_name} ${vnf_type} ${CUSTOMER_NAME}
+ \ Wait Until Keyword Succeeds 300s 5s Create VID VNF ${service_instance_id} ${vnf_name} ${product_family} ${lcp_region} ${tenant_name} ${vnf_type} ${full_customer_name}
\ ${vf_module_entry}= Create Dictionary name=${vf_module}
\ ${vf_modules}= Create List ${vf_module_entry}
\ ${vf_module_type} ${closedloop_vf_module}= Preload Vnf ${service_instance_id} ${vnf_name} ${vnf_type} ${vf_module_name} ${vf_modules} ${vnf} ${uuid}
- \ ${vf_module_id}= Create VID VNF module ${service_instance_id} ${vf_module_name} ${lcp_region} ${tenant_name} ${vf_module_type} ${CUSTOMER_NAME} ${vnf_name}
+ \ ${vf_module_id}= Create VID VNF module ${service_instance_id} ${vf_module_name} ${lcp_region} ${tenant_name} ${vf_module_type} ${full_customer_name} ${vnf_name}
\ ${generic_vnf}= Validate Generic VNF ${vnf_name} ${vnf_type} ${service_instance_id}
\ Set To Dictionary ${generic_vnfs} ${vf_module_type} ${generic_vnf}
- \ Set Test Variable ${STACK_NAME} ${vf_module_name}
# TODO: Need to look at a better way to default ipv4_oam_interface search for Heatbridge
- \ Execute Heatbridge ${vf_module_name} ${service_instance_id} ${vnf} ipv4_oam_interface
+ \ Execute Heatbridge ${vf_module_name} ${vnf} ipv4_oam_interface
\ Validate VF Module ${vf_module_name} ${vnf}
+ \ Append To List ${vf_module_name_list} ${vf_module_name}
[Return] ${vf_module_name} ${service} ${generic_vnfs}
@@ -216,19 +200,19 @@ Create VVG Server
Delete VNF
[Documentation] Called at the end of a test case to tear down the VNF created by Orchestrate VNF
- [Arguments] ${tenant_name} ${server_id}
+ [Arguments] ${tenant_name} ${server_id} ${customer_name} ${service_instance_id} ${vf_module_name_list}
${lcp_region}= Get Openstack Region
${list}= Create List
# remove duplicates, sort vFW-> vPKG , revers to get vPKG > vFWSNK
${sorted_stack_names}= Create List
- ${sorted_stack_names}= Remove Duplicates ${STACK_NAMES}
+ ${sorted_stack_names}= Remove Duplicates ${vf_module_name_list}
Sort List ${sorted_stack_names}
Reverse List ${sorted_stack_names}
:FOR ${stack} IN @{sorted_stack_names}
\ ${keypair_name}= Get Stack Keypairs ${stack}
\ Append To List ${list} ${keypair_name}
Teardown VVG Server ${server_id}
- Run Keyword and Ignore Error Teardown VID ${SERVICE_INSTANCE_ID} ${lcp_region} ${tenant_name} ${CUSTOMER_NAME}
+ Run Keyword and Ignore Error Teardown VID ${service_instance_id} ${lcp_region} ${tenant_name} ${customer_name}
#
:FOR ${stack} IN @{sorted_stack_names}
\ Run Keyword and Ignore Error Teardown Stack ${stack}
@@ -241,8 +225,9 @@ Delete VNF
Teardown VNF
[Documentation] Called at the end of a test case to tear down the VNF created by Orchestrate VNF
+ [Arguments] ${customer_name}
Run Keyword If '${TEST STATUS}' == 'PASS' Teardown Model Distribution
- Run Keyword If '${TEST STATUS}' == 'PASS' Clean A&AI Inventory
+ Run Keyword If '${TEST STATUS}' == 'PASS' Clean A&AI Inventory ${customer_name}
Close All Browsers
Log Teardown VNF implemented for successful tests only
@@ -286,4 +271,5 @@ Teardown Stack
Clean A&AI Inventory
[Documentation] Clean up Tenant in A&AI, Create Customer, Create Service and related relationships
- Delete Customer ${CUSTOMER_NAME}
+ [Arguments] ${customer_name}
+ Delete Customer ${customer_name}
diff --git a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot
index 34a1be8f..ec746ff0 100644
--- a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot
+++ b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot
@@ -37,29 +37,18 @@ ${so_request_template} so/cds_request.jinja
${vnf_template_name} so/cds_vnf.jinja
${vfmodule_template_name} so/cds_vfmodule.jinja
${so_uri_path} /onap/so/infra/serviceInstantiation/v7/serviceInstances
-*** Variables ***
-
-#**************** TEST CASE VARIABLES **************************
-${CUSTOMER_NAME}
-${STACK_NAME}
-${STACK_NAMES}
-${SERVICE_INSTANCE_ID}
*** Keywords ***
Orchestrate VNF With CDS Template
[Documentation] Use openECOMP to Orchestrate a service.
- [Arguments] ${customer_name} ${service} ${product_family}
- Orchestrate VNF With CDS ${customer_name} ${service} ${product_family}
+ [Arguments] ${customer_name} ${service_instance_name} ${product_family}
+ ${uuid}= Generate UUID4
+ Orchestrate VNF With CDS ${customer_name}_${uuid} ${service_instance_name}${uuid} ${product_family}
Orchestrate VNF With CDS
[Documentation] Use openECOMP to Orchestrate a service.
- [Arguments] ${customer_name} ${service} ${product_family} ${project_name}=Project-Demonstration ${owning_entity}=OE-Demonstration
+ [Arguments] ${customer_name} ${service_instance_name} ${product_family} ${project_name}=Project-Demonstration ${owning_entity}=OE-Demonstration
${lcp_region}= Get Openstack Region
- ${uuid}= Generate UUID4
- Set Test Variable ${CUSTOMER_NAME} ${customer_name}_${uuid}
- ${list}= Create List
- Set Test Variable ${STACK_NAMES} ${list}
- ${service_instance_name}= Catenate Service_Ete_Name${uuid}
${dict}= Create Dictionary
Set To Dictionary ${dict} service_instance_name=${service_instance_name}
@@ -77,7 +66,6 @@ Orchestrate VNF With CDS
Set To Dictionary ${dict} cloud_region=${envjson['cloud_region']}
Set To Dictionary ${dict} tenant_id=${envjson['tenant_id']}
- ${list}= Create List
${vnfs}= Get From Dictionary ${jsondata['topology_template']} node_templates
${keys}= Get Dictionary Keys ${vnfs}
Create Environment cds ${GLOBAL_TEMPLATE_FOLDER}
diff --git a/robot/resources/vid/create_service_instance.robot b/robot/resources/vid/create_service_instance.robot
index 458cae23..45ea899d 100644
--- a/robot/resources/vid/create_service_instance.robot
+++ b/robot/resources/vid/create_service_instance.robot
@@ -52,7 +52,7 @@ Wait For Model
Wait Until Element Is Visible xpath=//tr[td/span/text() = '${service_model_type}']/td/button[contains(text(),'Deploy')] ${GLOBAL_VID_UI_TIMEOUT_SHORT}
Delete Service Instance By GUI
- [Arguments] ${service_instance_id} ${customer_name}
+ [Arguments] ${service_instance_id}
Click On Element When Visible xpath=//a/span[@class='glyphicon glyphicon-remove']
Click On Button When Enabled xpath=//div[@class='buttonRow']/button[@ngx-enabled='true']
Wait Until Element Contains xpath=//div[@ng-controller='deletionDialogController']//div[@ng-controller= 'msoCommitController']/pre[@class = 'log ng-binding'] requestId timeout=${GLOBAL_VID_UI_TIMEOUT_LONG}
@@ -62,7 +62,7 @@ Delete Service Instance By GUI
Search Service Instance
- [Arguments] ${service_instance_id} ${customer_name}
+ [Arguments] ${service_instance_id}
Click Link xpath=//div[@heading = 'Search for Existing Service Instances']/a
Input Text When Enabled //input[@name='selectedServiceInstance'] ${service_instance_id}
Click On Button When Enabled //button[text() = 'Submit']
diff --git a/robot/resources/vid/vid_interface.robot b/robot/resources/vid/vid_interface.robot
index 2deef678..29af9148 100644
--- a/robot/resources/vid/vid_interface.robot
+++ b/robot/resources/vid/vid_interface.robot
@@ -79,7 +79,7 @@ Select From List When Enabled
[Arguments] ${xpath} ${value} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
Wait Until Page Contains Element xpath=${xpath} ${timeout}
Wait Until Element Is Enabled xpath=${xpath} ${timeout}
- Select From List xpath=${xpath} ${value}
+ Select From List By Value xpath=${xpath} ${value}
Input Text When Enabled
[Arguments] ${xpath} ${value} ${timeout}=${GLOBAL_VID_UI_TIMEOUT_MEDIUM}
diff --git a/robot/testsuites/cds.robot b/robot/testsuites/cds.robot
index 640edb41..6b30e694 100644
--- a/robot/testsuites/cds.robot
+++ b/robot/testsuites/cds.robot
@@ -7,6 +7,6 @@ Resource ../resources/test_templates/vnf_orchestration_with_cds_test_tem
Test Template Orchestrate VNF With CDS Template
*** Test Cases *** CUSTOMER SERVICE PRODUCT_FAMILY
-Instantiate Virtual vFW With CDS ETE_Customer vFW vFW
+Instantiate Virtual vFW With CDS ETE_Customer Service_Ete_Name vFW
[Tags] cds
diff --git a/robot/testsuites/closed-loop.robot b/robot/testsuites/closed-loop.robot
index 2a089cd1..c2d3d3db 100644
--- a/robot/testsuites/closed-loop.robot
+++ b/robot/testsuites/closed-loop.robot
@@ -3,8 +3,6 @@ Documentation Closed Loop Test cases
Resource ../resources/test_templates/closedloop_test_template.robot
-Test Teardown Teardown Closed Loop
-
*** Variables ***
${PACKET_GENERATOR_HOST}
@@ -23,4 +21,5 @@ VFWCL Closed Loop Test
Log ${EMPTY}
VFWCL High Test ${PACKET_GENERATOR_HOST}
VFWCL Low Test ${PACKET_GENERATOR_HOST}
- [Teardown] VFWCL Set To Medium ${PACKET_GENERATOR_HOST}
+ VFWCL Set To Medium ${PACKET_GENERATOR_HOST}
+ [Teardown] Teardown Closed Loop ${None}
diff --git a/robot/testsuites/demo.robot b/robot/testsuites/demo.robot
index 5f037723..c9d6219c 100644
--- a/robot/testsuites/demo.robot
+++ b/robot/testsuites/demo.robot
@@ -12,12 +12,15 @@ ${VNF_NAME} DemoVNF
${MODULE_NAME} DemoModuleName
${HB_STACK}
-${HB_SERVICE_INSTANCE_ID}
${HB_SERVICE}
${HB_IPV4_OAM_ADDRESS}
${TENANT_NAME}
${VVG_SERVER_ID}
${SERVICE}
+${CUSTOMER_NAME}
+${SERVICE_INSTANCE_ID}
+${STACK_NAMES}
+
*** Test Cases ***
Initialize Customer And Models
@@ -39,7 +42,7 @@ Initialize Models
Preload VNF
[Tags] PreloadDemo
- Preload User Model ${VNF_NAME} ${MODULE_NAME} ${SERVICE}
+ Preload User Model ${VNF_NAME} ${MODULE_NAME} ${SERVICE} ${SERVICE_INSTANCE_ID}
Create APPC Mount Point
[Tags] APPCMountPointDemo
@@ -68,14 +71,14 @@ Delete Instantiated VNF
[Tags] deleteVNF
Setup Browser
Login To VID GUI
- Delete VNF ${TENANT_NAME} ${VVG_SERVER_ID}
- [Teardown] Teardown VNF
+ Delete VNF ${TENANT_NAME} ${VVG_SERVER_ID} ${CUSTOMER_NAME} ${SERVICE_INSTANCE_ID} ${STACK_NAMES}
+ [Teardown] Teardown VNF ${CUSTOMER_NAME}
Run Heatbridge
[Documentation]
... Try to run heatbridge
[Tags] heatbridge
- Execute Heatbridge ${HB_STACK} ${HB_SERVICE_INSTANCE_ID} ${HB_SERVICE} ${HB_IPV4_OAM_ADDRESS}
+ Execute Heatbridge ${HB_STACK} ${HB_SERVICE} ${HB_IPV4_OAM_ADDRESS}
Preload APPC CDT GUI
[Documentation]