aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--robot/assets/templates/so/create_pnf_service_building_block.jinja70
-rw-r--r--robot/resources/aai/create_customer.robot13
-rw-r--r--robot/resources/aai/create_service.robot11
-rw-r--r--robot/resources/sdc_interface.robot23
-rw-r--r--robot/resources/so/create_service_instance.robot24
-rw-r--r--robot/resources/test_templates/pnf_orchestration_test_template.robot49
-rw-r--r--robot/resources/test_templates/pnf_registration_without_SO_template.robot28
-rw-r--r--robot/testsuites/pnf-registration.robot20
8 files changed, 214 insertions, 24 deletions
diff --git a/robot/assets/templates/so/create_pnf_service_building_block.jinja b/robot/assets/templates/so/create_pnf_service_building_block.jinja
new file mode 100644
index 00000000..15fae640
--- /dev/null
+++ b/robot/assets/templates/so/create_pnf_service_building_block.jinja
@@ -0,0 +1,70 @@
+{
+ "requestDetails":{
+ "modelInfo":{
+ "modelInvariantId": "{{service_model_invariant_uuid}}",
+ "modelVersionId":"{{service_model_uuid}}",
+ "modelName":"{{service_model_name}}",
+ "modelType":"service",
+ "modelVersion":"1.0"
+ },
+ "owningEntity":{
+ "owningEntityId":"{{owningEntityId}}",
+ "owningEntityName":"{{owningEntityName}}"
+ },
+ "subscriberInfo":{
+ "globalSubscriberId":"{{full_customer_name}}"
+ },
+ "requestInfo":{
+ "instanceName":"{{service_name}}",
+ "productFamilyId":"{{productFamilyId}}",
+ "source":"VID",
+ "suppressRollback": False,
+ "requestorId":"demo"
+ },
+ "requestParameters":{
+ "subscriptionServiceType":"{{service}}",
+ "aLaCarte": False,
+ "userParams":[
+ {
+ "service":{
+ "modelInfo":{
+ "modelVersionId":"{{service_model_uuid}}",
+ "modelName":"{{service_model_name}}",
+ "modelType":"service"
+ },
+ "instanceName":"{{service_name}}",
+ "instanceParams":[
+ ],
+ "resources":{
+ "pnfs":[
+ {
+ "modelInfo":{
+ "modelCustomizationName":"{{nf_resource_name}}",
+ "modelCustomizationId":"{{nf_resource_uuid}}",
+ "modelInvariantId":"{{nf_model_invariant_uuid}}",
+ "modelVersionId":"{{nf_model_uuid}}",
+ "modelName":"{{nf_model_name}}",
+ "modelType":"pnf",
+ "modelVersion":"1.0"
+ },
+ "platform":{
+ "platformName":"{{platformName}}"
+ },
+ "lineOfBusiness":{
+ "lineOfBusinessName":"{{lineOfBusinessName}}"
+ },
+ "productFamilyId":"{{productFamilyId}}",
+ "instanceParams":[],
+ "instanceName":"{{nf_instance_name}}"
+ },
+ ]
+ }
+ }
+ },
+ {
+ "Homing_Solution":"none"
+ }
+ ]
+ }
+ }
+} \ No newline at end of file
diff --git a/robot/resources/aai/create_customer.robot b/robot/resources/aai/create_customer.robot
index 6fbb84c7..c0498b6c 100644
--- a/robot/resources/aai/create_customer.robot
+++ b/robot/resources/aai/create_customer.robot
@@ -33,4 +33,15 @@ Delete Customer Exists
[Documentation] Deletes a customer in A&AI
[Arguments] ${customer_id} ${resource_version_id}
${put_resp}= AAI.Run Delete Request ${AAI_FRONTEND_ENDPOINT} ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id} ${resource_version_id} auth=${GLOBAL_AAI_AUTHENTICATION}
- Should Be Equal As Strings ${put_resp.status_code} 204 \ No newline at end of file
+ Should Be Equal As Strings ${put_resp.status_code} 204
+
+Get OwningEntity Id
+ [Documentation] Returns OwningEntity Id based on OwningEntity name
+ [Arguments] ${name}
+ ${resp}= AAI.Run Get Request ${AAI_FRONTEND_ENDPOINT} /aai/v11/business/owning-entities auth=${GLOBAL_AAI_AUTHENTICATION}
+ @{list}= Copy List ${resp.json['owning-entity']}
+ :FOR ${map} IN @{list}
+ \ ${owning_entity_name}= Run Keyword And Ignore Error Get From Dictionary ${map} owning-entity-name
+ \ ${owning_entity_id}= Run Keyword And Ignore Error Get From Dictionary ${map} owning-entity-id
+ \ ${id} Run Keyword If '${owning_entity_name}' == '${name}' Set Variable ${owning_entity_id}
+ [Return] ${id} \ No newline at end of file
diff --git a/robot/resources/aai/create_service.robot b/robot/resources/aai/create_service.robot
index e473d491..0dc7a2f2 100644
--- a/robot/resources/aai/create_service.robot
+++ b/robot/resources/aai/create_service.robot
@@ -59,6 +59,17 @@ Get Services
Run Keyword If '${status}' == 'PASS' Update Service Dictionary ${dict} ${resp.json()}
[Return] ${dict}
+Get Service Id
+ [Documentation] Gets a service id in A&AI
+ [Arguments] ${service_description}
+ ${resp}= AAI.Run Get Request ${AAI_FRONTEND_ENDPOINT} ${INDEX PATH}${ROOT_SERVICE_PATH} auth=${GLOBAL_AAI_AUTHENTICATION}
+ @{list}= Copy List ${resp.json['service']}
+ :FOR ${map} IN @{list}
+ \ ${service_type}= Run Keyword And Ignore Error Get From Dictionary ${map} service-description
+ \ ${service_id}= Run Keyword And Ignore Error Get From Dictionary ${map} service-id
+ \ ${id} Run Keyword If '${service_type}' == '${service_description}' Set Variable ${service_id}
+ [Return] ${id}
+
Update Service Dictionary
[Arguments] ${dict} ${json}
@{list}= Copy List ${json['service']}
diff --git a/robot/resources/sdc_interface.robot b/robot/resources/sdc_interface.robot
index 4b1d61ba..a85ba27f 100644
--- a/robot/resources/sdc_interface.robot
+++ b/robot/resources/sdc_interface.robot
@@ -91,7 +91,7 @@ Distribute Model From SDC
... ELSE Get Regexp Matches ${zip} ${service}_(.*)\.zip 1
# Need to be able to distribute preload for vFWCL vFWSNK and vFWDT vFWSNK to prepend service to vnf_type
\ ${resource_type_string}= Set Variable If len(${resource_type_match})==0 ${service} ${service}${resource_type_match[0]}
- \ Set To Dictionary ${resource_types} ${resource_type_string} ${loop_catalog_resource_id}
+ \ Set To Dictionary ${resource_types} ${resource_type_string} ${loop_catalog_resource_id}
\ Append To List ${catalog_resource_ids} ${loop_catalog_resource_id}
ServiceMapping.Set Directory default ${GLOBAL_SERVICE_MAPPING_DIRECTORY}
@@ -260,14 +260,19 @@ Download CSAR
Get Generic NeutronNet UUID
[Documentation] Look up the UUID of the Generic NeutronNetwork Resource
- ${resp}= SDC.Run Get Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_RESOURCES_QUERY_PATH}/Generic%20NeutronNet/resourceVersion/1.0 ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
- [Return] ${resp.json()['allVersions']['1.0']}
+ ${json}= Get Resource Catalog Generic%20NeutronNet
+ [Return] ${json['allVersions']['1.0']}
Get AllottedResource UUID
[Documentation] Look up the UUID of the Allotted Resource
# if this fails then the AllottedResource template got deleted from SDC by mistake
- ${resp}= SDC.Run Get Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_RESOURCES_QUERY_PATH}/AllottedResource/resourceVersion/1.0 ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
- [Return] ${resp.json()['allVersions']['1.0']}
+ ${json}= Get Resource Catalog AllottedResource
+ [Return] ${json['allVersions']['1.0']}
+
+Get Resource Catalog
+ [Arguments] ${resource_name}
+ ${resp}= SDC.Run Get Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_RESOURCES_QUERY_PATH}/${resource_name}/resourceVersion/1.0 ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
+ [Return] ${resp.json()}
Loop Over Check Catalog Service Distributed
[Arguments] ${catalog_service_id}
@@ -456,7 +461,7 @@ Add SDC License Model
${resp}= SDC.Run Post Request ${SDC_BE_ONBOARD_ENDPOINT} ${SDC_VENDOR_LICENSE_MODEL_PATH} ${data} ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()['itemId']} ${resp.json()['version']['id']}
-
+
Get SDC License Model
[Documentation] gets an SDC license model by its id
[Arguments] ${id} ${version_id}=0.1
@@ -717,7 +722,7 @@ Set SDC Catalog Resource VNF Inputs
[Return] ${resp.json()}
Get Service Catalog
- [Arguments] ${service_name}
+ [Arguments] ${service_name}
${resp}= SDC.Run Get Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_SERVICES_PATH}/serviceName/${service_name}/serviceVersion/1.0 ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
[Return] ${resp.json()}
@@ -894,7 +899,7 @@ Get Catalog Service Distribution Details
${resp}= SDC.Run Get Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_SERVICES_PATH}${SDC_CATALOG_SERVICE_DISTRIBUTION_PATH}/${catalog_service_distribution_id} ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
Should Be Equal As Strings ${resp.status_code} 200
[Return] ${resp.json()}
-
+
Run SDC Health Check
[Documentation] Runs a SDC health check
${resp}= SDC.Run Get Request ${SDC_FE_ENDPOINT} ${SDC_HEALTH_CHECK_PATH} user=${None}
@@ -945,7 +950,7 @@ Add CDS Parameters
Set Input Parameter
- [Arguments] ${service_uuid} ${component_uuid} ${input} ${input_type} ${input_value}
+ [Arguments] ${service_uuid} ${component_uuid} ${input} ${input_type} ${input_value}
${resp}= SDC.Run Post Request ${SDC_BE_ENDPOINT} ${SDC_CATALOG_SERVICES_PATH}/${service_uuid}/resourceInstance/${component_uuid}/inputs {"constraints":[],"name":"${input['name']}","parentUniqueId":"${input['parentUniqueId']}","password":false,"required":false,"schema":{"property":{}},"type":"${input_type}","uniqueId":"${input['uniqueId']}","value":"${input_value}","definition":false,"toscaPresentation":{"ownerId":"${input['ownerId']}"}} ${SDC_DESIGNER_USER_ID} auth=${GLOBAL_SDC_AUTHENTICATION}
Should Be Equal As Strings ${resp.status_code} 200
diff --git a/robot/resources/so/create_service_instance.robot b/robot/resources/so/create_service_instance.robot
new file mode 100644
index 00000000..44e526b6
--- /dev/null
+++ b/robot/resources/so/create_service_instance.robot
@@ -0,0 +1,24 @@
+*** Settings ***
+Documentation Creates a macro service recipe in SO Catalog DB
+
+Library OperatingSystem
+Library Collections
+Library ONAPLibrary.SO WITH NAME SO
+Library ONAPLibrary.Templating WITH NAME Templating
+Resource ../global_properties.robot
+
+*** Variables ***
+${CREATE_SERVICE_PATH} /onap/so/infra/serviceInstantiation/v7/serviceInstances
+
+${SYSTEM USER} robot-ete
+${CREATE_PNF_SERVICE_GR_API} so/create_pnf_service_building_block.jinja
+
+*** Keywords ***
+Create PNF Service Using GR Api
+ [Documentation] Creates a PNF service using GR Api
+ [Arguments] ${arguments}
+ Templating.Create Environment so ${GLOBAL_TEMPLATE_FOLDER}
+ ${data}= Templating.Apply Template so ${CREATE_PNF_SERVICE_GR_API} ${arguments}
+ ${auth}= Create List ${GLOBAL_SO_USERNAME} ${GLOBAL_SO_PASSWORD}
+ ${request_id} ${service_instance_id} SO.Run Create Request ${GLOBAL_SO_ENDPOINT} ${CREATE_SERVICE_PATH} ${data} auth=${auth}
+ [Return] ${request_id} ${service_instance_id} \ No newline at end of file
diff --git a/robot/resources/test_templates/pnf_orchestration_test_template.robot b/robot/resources/test_templates/pnf_orchestration_test_template.robot
index 6877441e..8a5b58f4 100644
--- a/robot/resources/test_templates/pnf_orchestration_test_template.robot
+++ b/robot/resources/test_templates/pnf_orchestration_test_template.robot
@@ -8,6 +8,7 @@ Resource model_test_template.robot
Resource ../openstack/neutron_interface.robot
Resource ../sdc_interface.robot
Resource vnf_orchestration_test_template.robot
+Resource ../so/create_service_instance.robot
Library ONAPLibrary.Openstack
@@ -17,13 +18,12 @@ Library ONAPLibrary.Utilities
*** Keywords ***
-Orchestrate PNF
+Orchestrate PNF Macro Flow
[Documentation] Use ONAP to Orchestrate a PNF Macro service.
- [Arguments] ${customer_name} ${service} ${product_family} ${pnf_correlation_id} ${tenant_id} ${tenant_name} ${service_model_type} ${project_name}=Project-Demonstration ${owning_entity}=OE-Demonstration
+ [Arguments] ${customer_name} ${service} ${product_family} ${pnf_correlation_id} ${tenant_id} ${tenant_name} ${service_model_type} ${project_name}=Project-Demonstration ${owning_entity}=OE-Demonstration
${lcp_region}= Set Variable ${GLOBAL_INJECTED_REGION}
${uuid}= Generate UUID4
${full_customer_name}= Catenate ${customer_name}_${uuid}
- ${list}= Create List
${service_name}= Catenate Service_Ete_Name${uuid}
${service_type}= Set Variable ${service}
Create Customer For PNF ${full_customer_name} ${full_customer_name} INFRA ${service_type} ${GLOBAL_AAI_CLOUD_OWNER} ${tenant_id} ${GLOBAL_INJECTED_REGION}
@@ -33,6 +33,49 @@ Orchestrate PNF
Wait Until Keyword Succeeds 60s 20s Validate Service Instance ${service_instance_id} ${service} ${full_customer_name}
[Return] ${service_instance_id} ${request_id} ${full_customer_name}
+Orchestrate PNF Building Block Flow
+ [Documentation] Use ONAP to Orchestrate a PNF using GR api
+ [Arguments] ${service_model_name} ${customer_name} ${service} ${product_family} ${pnf_correlation_id} ${project_name}=Project-Demonstration ${owning_entity}=OE-Demonstration ${lineOfBusinessName}=LOB-Demonstration ${platformName}=Platform-Demonstration
+ ${service_ctalog_json}= Get Service Catalog ${service_model_name}
+ ${service_model_uuid}= Set Variable ${json_resp["uuid"]}
+ ${service_model_invariant_uuid }= Set Variable ${json_resp["invariantUUID"]}
+ ${nf_resource_name}= Set Variable ${json_resp["componentInstances"][0]["name"]}
+ ${nf_resource_uuid}= Set Variable ${json_resp["componentInstances"][0]["customizationUUID"]}
+ ${componentName}= Set Variable ${json_resp["componentInstances"][0]["componentName"]}
+ ${resource_ctalog_json}= Get Resource Catalog ${componentName}
+ ${nf_model_invariant_uuid}= Set Variable ${json_resp["invariantUUID"]}
+ ${nf_model_uuid}= Set Variable ${json_resp["uuid]}
+ ${nf_model_name}= Set Variable ${json_resp["name"]}
+ ${productFamilyId}= Get Service Id ${product_family}
+ ${owningEntityId}= Get Owning Entity Id ${owningEntityName}
+ ${uuid}= Generate UUID4
+ ${full_customer_name}= Catenate ${customer_name}_${uuid}
+ ${service_name}= Catenate Service_Ete_Name${uuid}
+ ${service_type}= Set Variable ${service}
+ Create Customer For PNF ${full_customer_name} ${full_customer_name} INFRA ${service_type} ${GLOBAL_AAI_CLOUD_OWNER} ${tenant_id} ${GLOBAL_INJECTED_REGION}
+ ${arguments}= Create Dictionary service_model_invariant_uuid=${service_model_invariant_uuid}
+ Set To Dictionary ${arguments} service_model_uuid ${service_model_uuid}
+ Set To Dictionary ${arguments} service_model_name ${service_model_name}
+ Set To Dictionary ${arguments} owningEntityId ${owningEntityId}
+ Set To Dictionary ${arguments} owningEntityName ${owningEntityName}
+ Set To Dictionary ${arguments} full_customer_name ${full_customer_name}
+ Set To Dictionary ${arguments} service_name ${service_name}
+ Set To Dictionary ${arguments} productFamilyId ${productFamilyId}
+ Set To Dictionary ${arguments} service ${service}
+ Set To Dictionary ${arguments} nf_resource_name ${nf_resource_name}
+ Set To Dictionary ${arguments} nf_resource_uuid ${nf_resource_uuid}
+ Set To Dictionary ${arguments} nf_model_invariant_uuid ${nf_model_invariant_uuid}
+ Set To Dictionary ${arguments} nf_model_uuid ${nf_model_uuid}
+ Set To Dictionary ${arguments} nf_model_name ${nf_model_name}
+ Set To Dictionary ${arguments} platformName ${platformName}
+ Set To Dictionary ${arguments} lineOfBusinessName ${lineOfBusinessName}
+ Set To Dictionary ${arguments} productFamilyId ${productFamilyId}
+ Set To Dictionary ${arguments} nf_instance_name ${pnf_correlation_id}
+ ${request_id} ${service_instance_id}= Create PNF Service Using GR Api ${arguments}
+ Wait Until Keyword Succeeds 60s 20s Validate Service Instance ${service_instance_id} ${service} ${full_customer_name}
+ Check PNF orchestration status in A&AI ${pnf_correlation_id} register
+ [Return] ${service_instance_id} ${request_id}
+
Create Customer For PNF
[Documentation] PNF Orchestration Test setup....
diff --git a/robot/resources/test_templates/pnf_registration_without_SO_template.robot b/robot/resources/test_templates/pnf_registration_without_SO_template.robot
index 63131b8f..af9b4140 100644
--- a/robot/resources/test_templates/pnf_registration_without_SO_template.robot
+++ b/robot/resources/test_templates/pnf_registration_without_SO_template.robot
@@ -1,6 +1,7 @@
*** Settings ***
Documentation PNF Registration Handler (PRH) test cases
Resource ../aai/aai_interface.robot
+Resource ../aai/create_customer.robot
Resource ../sdc_interface.robot
Resource ../mr_interface.robot
Resource ../so/add_service_recipe.robot
@@ -77,6 +78,14 @@ Query PNF A&AI updated entry
Should Be Equal As Strings ${json_resp["pnf-name"]} ${PNF_entry_dict.correlation_id}
Log PNF integration request in A&AI has been verified and contains all necessary entries
+Check PNF orchestration status in A&AI
+ [Documentation] Query PNF A&AI updated entry
+ [Arguments] ${PNF_entry_dict} ${status}
+ ${get_resp}= AAI.Run Get Request ${AAI_FRONTEND_ENDPOINT} /aai/v11/network/pnfs/pnf/${pnf_correlation_id} auth=${GLOBAL_AAI_AUTHENTICATION}
+ Should Be Equal As Strings ${get_resp.status_code} 200
+ ${json_resp}= Set Variable ${get_resp.json()}
+ Should Be Equal As Strings ${status} ${PNF_entry_dict.orchestrationStatus}
+
Check VES_PNFREG_OUTPUT topic presence in MR
[Documentation] Verify if unauthenticated.VES_PNFREG_OUTPUT topic is present in MR
${get_resp}= Run MR Get Request ${DMAAP_MESSAGE_ROUTER_UNAUTHENTICATED_VES_PNFREG_OUTPUT_PATH}
@@ -111,22 +120,23 @@ Check SO service completition status
${so_status}= Set Variable ${so_status_request_data['request']['requestStatus']['requestState']}
Should Be Equal As Strings ${so_status} ${so_expected_status}
-
Instantiate PNF_macro service and succesfully registrate PNF template
[Documentation] Test case template for design, create, instantiate PNF/macro service and succesfully registrate PNF
- [Arguments] ${service_name} ${PNF_entry_dict} ${pnf_correlation_id} ${service}=pNF ${product_family}=pNF ${customer_name}=ETE_Customer
+ [Arguments] ${service_name} ${PNF_entry_dict} ${pnf_correlation_id} ${service}=pNF ${product_family}=pNF ${customer_name}=ETE_Customer ${building_block_flow}=false
Log To Console \nDistributing TOSCA Based PNF Model
${catalog_service_name} ${catalog_resource_name} ${vf_modules} ${catalog_resources} ${catalog_resource_ids} ${catalog_service_id} Model Distribution For Directory ${service} ${service_name} cds=False instantiationType=Macro resourceType=PNF
${UUID}= Get Service Model Parameter from SDC Service Catalog ${service_name} uuid
- Log To Console Creating Service Recipe for TOSCA Based PNF Model
- ${service_recipe_id}= Add Service Recipe ${UUID} mso/async/services/CreateVcpeResCustService_simplified
+ ${service_recipe_id}= Run Keyword If "${building_block_flow}"=='false' Add Service Recipe ${UUID} mso/async/services/CreateVcpeResCustService_simplified
Inventory Tenant If Not Exists CloudOwner ${region} SharedNode OwnerType v1 CloudZone ${tenant_id} ${tenant_name}
Load OwningEntity project Project-${customer_name}
Load OwningEntity owningEntity OE-${customer_name}
- ${service_instance_id} ${request_id} ${full_customer_name} Orchestrate PNF ${customer_name} ${service} ${product_family} ${pnf_correlation_id} ${tenant_id} ${tenant_name} ${service_name} Project-${customer_name} OE-${customer_name}
+ Load OwningEntity lineOfBusiness LOB-${customer_name}
+ Load OwningEntity platform Platform-${customer_name}
+ ${service_instance_id} ${request_id} ${full_customer_name} Run Keyword If "${building_block_flow}"=='false' Orchestrate PNF Macro Flow ${customer_name} ${service} ${product_family} ${pnf_correlation_id} ${tenant_id} ${tenant_name} ${service_name} Project-${customer_name} OE-${customer_name}
+ ... ELSE Orchestrate PNF Building Block Flow ${service_model_name} ${customer_name} ${service} ${product_family} ${pnf_correlation_id} ${project_name}=Project-Demonstration ${owning_entity}=OE-Demonstration ${lineOfBusinessName}=LOB-Demonstration ${platformName}=Platform-Demonstration
Wait Until Keyword Succeeds 120s 40s Send and verify VES integration request in SO and A&AI ${request_id} ${PNF_entry_dict}
- [Teardown] Instantiate PNF_macro service Teardown ${catalog_service_id} ${catalog_resource_ids} ${PNF_entry_dict} ${service_instance_id} ${service_recipe_id}
-
+ Run Keyword If "${building_block_flow}"=='true' Check PNF orchestration status in A&AI ${pnf_correlation_id} registered
+ [Teardown] Instantiate PNF_macro service Teardown ${catalog_service_id} ${catalog_resource_ids} ${PNF_entry_dict} ${service_instance_id} ${service_recipe_id} ${building_block_flow}
Send and verify VES integration request in SO and A&AI
[Documentation] Gets service status and compares with expected status
@@ -136,7 +146,7 @@ Send and verify VES integration request in SO and A&AI
Wait Until Keyword Succeeds 30s 10s Check SO service completition status ${request_id} COMPLETE
Instantiate PNF_macro service Teardown
- [Arguments] ${catalog_service_id} ${catalog_resource_ids} ${PNF_entry_dict} ${service_instance_id} ${service_recipe_id}
+ [Arguments] ${catalog_service_id} ${catalog_resource_ids} ${PNF_entry_dict} ${service_instance_id} ${service_recipe_id} ${building_block_flow}
Teardown Models ${catalog_service_id} ${catalog_resource_ids}
- Delete Service Recipe ${service_recipe_id}
+ Run Keyword If "${building_block_flow}"=='false' Delete Service Recipe ${service_recipe_id}
Cleanup PNF entry in A&AI ${PNF_entry_dict} \ No newline at end of file
diff --git a/robot/testsuites/pnf-registration.robot b/robot/testsuites/pnf-registration.robot
index 1d3f8990..14cefb37 100644
--- a/robot/testsuites/pnf-registration.robot
+++ b/robot/testsuites/pnf-registration.robot
@@ -4,7 +4,7 @@ Test Timeout 10m
Resource ../resources/test_templates/pnf_registration_without_SO_template.robot
Library String
-
+
*** Test Cases ***
@@ -31,9 +31,25 @@ Instantiate PNF_macro service and succesfully registrate PNF
... Next service is instantied with random PNF id. VES integration event is send with this PNF ID.
... At the end of the service is checked in terms
... - service completion
- ... - PNF entry update about information form VES event
+ ... - PNF entry update about information from VES event
[Tags] pnf_registrate ete
${pnf_correlation_id}= Generate Random String 20 [LETTERS][NUMBERS]
${PNF_entry_dict}= Create Dictionary correlation_id=${pnf_correlation_id} PNF_IPv4_address=13.13.13.13 PNF_IPv6_address=2001:0db8:0:0:0:0:1428:57ab
${PNF_service_model}= Set Variable Demo_pNF_${pnf_correlation_id}
Instantiate PNF_macro service and succesfully registrate PNF template ${PNF_service_model} ${PNF_entry_dict} ${pnf_correlation_id}
+
+
+Instantiate PNF service (using building blocks) and succesfully registrate PNF
+ [Documentation]
+ ... This test case creates TOSCA csar software package for PNF. Imports it as VSP package.
+ ... Cretaes PNF resource, cretaes Macro service, attach PNF resource and distributes it.
+ ... Next service is instantied with random PNF id. VES integration event is send with this PNF ID.
+ ... At the end of the service is checked in terms
+ ... - service completion
+ ... - PNF entry update about information from VES event
+ ... - PNF orchestration status
+ [Tags] pnf_registrate_gr_api
+ ${pnf_correlation_id}= Generate Random String 20 [LETTERS][NUMBERS]
+ ${PNF_entry_dict}= Create Dictionary correlation_id=${pnf_correlation_id} PNF_IPv4_address=13.13.13.13 PNF_IPv6_address=2001:0db8:0:0:0:0:1428:57ab
+ ${PNF_service_model}= Set Variable Demo_pNF_${pnf_correlation_id}
+ Instantiate PNF service (using building blocks) and succesfully registrate PNF template ${PNF_service_model} ${PNF_entry_dict} ${pnf_correlation_id} true \ No newline at end of file