*** Settings *** Library String Resource environment/variables.txt Library MockServerLibrary Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library OperatingSystem Library BuiltIn Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Variables descriptors/SOL001/reference_tst010_vnf_b_2vdu_SOL001.yaml Variables descriptors/SOL006/reference_tst010_vnf_b_2vdu_SOL006.yaml *** Keywords *** Get Vnf Instance [Arguments] ${vnfInstanceId} Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${body}= Output response body [Return] ${body} Check HTTP Response Status Code Is [Arguments] ${expected_status} Should Be Equal As Strings ${response['status']} ${expected_status} Log Status code validated Check Operation Occurrence IdS ${vnfLcmOpOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${vnfLcmOpOccId} Check Operation Occurrence Id existence ${vnfLcmOpOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${vnfLcmOpOccId} Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK Check resource Instantiated Check VNF Instance ${vnfInstanceId} Check HTTP Response Status Code Is 200 Check VNF Status ${response['body']['instantiationState']} INSTANTIATED Check resource not Instantiated Check VNF Instance ${vnfInstanceId} Check HTTP Response Status Code Is 200 Check VNF Status ${response['body']['instantiationState']} NOT_INSTANTIATED Check VNF Instance [Arguments] ${vnfId} Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${response}= Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfId} Check VNF Status [Arguments] ${current} ${expected} Should Be Equal As Strings ${current} ${expected} Log VNF Status in the correct status Check operation resource state is FAILED_TEMP Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} String response body instantiationState FAILED_TEMP Check operation resource state is FINALLY_FAILED Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} String response body instantiationState FINALLY_FAILED Get Vnf Scale Info [Arguments] ${vnfInstanceId} ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} ${scaleInfo}= Get Value From Json ${vnfInstance} $..scaleStatus [Return] ${scaleInfo} Get Vnf Flavour Info [Arguments] ${vnfInstanceId} ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} ${flavourInfo}= Get Value From Json ${vnfInstance} $..flavourId [Return] ${flavourInfo} Get Vnf Operational State Info [Arguments] ${vnfInstanceId} ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} ${stateInfo}= Get Value From Json ${vnfInstance} $..vnfState [Return] ${stateInfo} Get Vnf Ext Link Id [Arguments] ${vnfInstanceId} ${vnfInstance}= Get Vnf Instance ${vnfInstanceId} [Return] ${vnfInstance.instantiatedVnfInfo.extVirtualLinkInfo.id} Check HTTP Response Header Contains [Arguments] ${CONTENT_TYPE} Should Contain ${response['headers']} ${CONTENT_TYPE} Log Header is present Send VNF Scale Out Request Log Trying to scale a vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfOutRequest.json ${json}= evaluate json.loads('''${body}''') json ${aspectId}= Set Variable ${json.aspectId} ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale ${body} Send VNF Scale To Level Request [Documentation] Instantiate VNF The POST method instantiates a VNF instance. Log Trying to Instantiate a vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfToLevelRequest.json ${json}= evaluate json.loads('''${body}''') json ${aspectId}= Set Variable ${json.aspectId} ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} Send VNF Instance Resource Create Request Log Create VNF instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get key for VNF Descriptor ${descriptor_id}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.descriptor_id} ${provider}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.provider} ${product_name}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.product_name} ${software_version}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.software_version} ${descriptor_version}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.descriptor_version} ${configurable_properties}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.configurable_properties} ${flavour_id}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.flavour_id} ${template}= Get File jsons/createVnfRequest.json ${body}= Format String ${template} vnfdId=${descriptor_id} vnfProvider=${provider} vnfProductName=${product_name} vnfSoftwareVersion=${software_version} vnfdVersion= ${descriptor_version} vnfConfigurableProperties=${configurable_properties} flavourId=${flavour_id} ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${body} Send VNF Instance Resource Delete Request log Delete an individual VNF instance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${response}= Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} Send Change VNF Flavour Request Log Trying to change the deployment flavour of a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/changeVnfFlavourRequest.json ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} Send Change VNF Operational State Request Log Trying to change the operational state of a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/operateVnfRequest.json ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${body} Send Heal VNF Request Log Trying to heal a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/healVnfRequest.json ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${body} Send Change Ext Connectivity Request Log Trying to change the external connectivity of a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/changeExtVnfConnectivityRequest.json ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} Send Terminate VNF Request Log Trying to terminate a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/terminateVnfRequest.json ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} Send Info Modification Request Log Trying to update information of a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/patchBodyRequest.json ${response}= Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${body} Send Retry Operation Request Log Retry a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry Send Roll back Operation Request Log Rollback a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback Send Fail Operation Request Log Fail a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail Send Cancel Operation Request Log Cancel an ongoing VNF lifecycle operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${response}= Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${CancelMode} Create a new Grant - Synchronous mode [Arguments] ${vnfInstanceId} ${vnfLcmOpOccId} ${operation} Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/grants Pass Execution If ${SYNC_MODE} == 0 The Granting process is asynchronous mode. Skipping the test Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/grantRequest.json ${json_body}= evaluate json.loads('''${body}''') json Set To Dictionary ${json_body} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} operation=${operation} ${body}= evaluate json.dumps(${json_body}) json Post ${apiRoot}/${apiName}/${apiMajorVersion}/grants ${body} Integer response status 201 Log Status code validated ${headers}= Output response headers Should Contain ${headers} Location ${contentType}= Output response headers Content-Type Should Contain ${contentType} ${CONTENT_TYPE} ${result}= Output response body Validate Json grant.schema.json ${result} Log Validation OK Create a new Grant - Asynchronous mode [Arguments] ${vnfInstanceId} ${vnfLcmOpOccId} ${operation} Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/grants Pass Execution If ${SYNC_MODE} == 1 The Granting process is synchronous mode. Skipping the test Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${body}= Get File jsons/grantRequest.json ${json_body}= evaluate json.loads('''${body}''') json Set To Dictionary ${json_body} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} operation=${operation} ${body}= evaluate json.dumps(${json_body}) json Post ${apiRoot}/${apiName}/${apiMajorVersion}/grants ${body} Output response Integer response status 202 Log Status code validated ${headers}= Output response headers Should Contain ${headers} Location ${contentType}= Output response headers Content-Type Should Contain ${contentType} ${CONTENT_TYPE} Log Validation OK POST Cancel operation task Log Cancel an ongoing VNF lifecycle operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Cancel a VNF lifecycle operation Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${CancelMode} Log Validate Status code ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Cancel operation task log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Cancel operation task log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Cancel operation task Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Cancel operation task Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Change External VNF Connectivity Log Trying to change the external connectivity of a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/changeExtVnfConnectivityRequest.json Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Change External VNF Connectivity log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Change External VNF Connectivity log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Change External VNF Connectivity Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Change External VNF Connectivity Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Change VNF deployment flavour Log Trying to change the deployment flavour of a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Run Keyword If ${check_descriptors} == 1 Add VNF Descriptor Content to Change VNF Flavour ${template}= Get File jsons/changeVnfFlavourRequest.json ${body}= Format String ${template} newFlavourId=${newFlavourId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Change VNF deployment flavour log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Change VNF deployment flavour log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Change VNF deployment flavour Log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Change VNF deployment flavour Log Trying to perform a DELETE. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Create a new vnfInstance Log Create VNF instance by POST to /vnf_instances Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Run Keyword If ${check_descriptors} == 1 PARSE the Descriptor File ${template}= Get File jsons/createVnfRequest.json ${body}= Format String ${template} vnfdId=${Descriptor_ID} vnfProvider=${Provider} vnfProductName=${Product_Name} vnfSoftwareVersion=${Software_Version} vnfdVersion= ${Descriptor_Version} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances Log Query VNF The GET method queries information about multiple VNF instances. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with bad attribute Log Query VNF The GET method queries information about multiple VNF instances. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?attribute_not_exist=some_value ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with bad filter Log Query VNF The GET method queries information about multiple VNF instances. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?attribute_not_exist=some_value ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET multiple vnfInstances with all_fields attribute selector Log Query status information about multiple VNF instances, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} GET multiple vnfInstances with exclude_default attribute selector Log Query status information about multiple VNF instances using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} GET multiple vnfInstances with fields attribute selector Log Query status information about multiple VNF instances, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} GET multiple vnfInstances with exclude_default and fields attribute selector Log Query status information about multiple VNF instances, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?fields=${fields}&exclude_default ${output}= Output response Set Suite Variable ${response} ${output} GET multiple vnfInstances with exclude_fields attribute selector Log Query status information about multiple VNF instances, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} PUT VNFInstances log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${output}= Output response Set Suite Variable ${response} ${output} PATCH VNFInstances log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${output}= Output response Set Suite Variable ${response} ${output} DELETE VNFInstances log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${output}= Output response Set Suite Variable ${response} ${output} POST individual vnfInstance log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET individual vnfInstance log Trying to get information about an individual VNF instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT individual vnfInstance log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH individual vnfInstance log Trying to modify an individual VNF instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE_PATCH}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Run Keyword If ${check_descriptors} == 1 Add VNF Descriptor Content to VNF Instance ${template}= Get File jsons/patchBodyRequest.json ${body}= Format String ${template} vnfdId=${descriptor_id} vnfdVersion= ${descriptor_version} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE individual vnfInstance log Trying to delete an individual VNF instance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST instantiate individual vnfInstance Log Trying to Instantiate a vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/instantiateVnfRequest.json Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/instantiate ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE instantiate individual vnfInstance log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/instantiate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Scale vnfInstance Log Trying to Instantiate a vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${template}= Get File jsons/scaleVnfRequest.json ${body}= Format String ${template} scaletype=${scaletype} scaleAspectId=${scaleAspectId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Scale vnfInstance Log Trying to get a scale a vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Scale vnfInstance Log Trying to modify a scale vnf Instance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Scale vnfInstance to level Log Trying to scale a vnf Instance to level Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${template}= Get File jsons/scaleVnfToLevelRequest.json ${body}= Format String ${template} instantiationLevelId=${instantiationLevelId} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Scale vnfInstance to level log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Scale vnfInstance to level log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Scale vnfInstance to level log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Scale vnfInstance to level log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Terminate VNF Log Trying to terminate a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${template}= Get File jsons/terminateVnfRequest.json ${body}= Format String ${template} terminationType=${terminationType} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Terminate VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Terminate VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Terminate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Terminate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Heal VNF Log Trying to heal a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${template}= Get File jsons/healVnfRequest.json ${body}= Format String ${template} healingCause=${healingCause} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Heal VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Heal VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Heal VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Heal VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Operate VNF Log Trying to operate a VNF instance. Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${template}= Get File jsons/operateVnfRequest.json ${body}= Format String ${template} changeStateTo=${changeStateTo} stopType=${stopType} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET Operate VNF log Trying to perform a GET. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PUT Operate VNF log Trying to perform a PUT. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH Operate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE Operate VNF log Trying to perform a PATCH. This method should not be implemented Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post VNF LCM Operation occurrences log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET VNF LCM Operation occurrences Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET VNF LCM Operation occurrences invalid attribute Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?attribute_not_exist=some_value ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} GET VNF LCM Operation occurrences invalid filter Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=wrong_field ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get VNF LCM Operation occurrences with all_fields attribute selector Log Query status information about multiple VNF lifecycle management operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} Get VNF LCM Operation occurrences with exclude_default and fields attribute selector Log Query status information about multiple VNF lifecycle management operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=${fields}&exclude_default ${output}= Output response Set Suite Variable ${response} ${output} Get VNF LCM Operation occurrences with exclude_default attribute selector Log Query status information about multiple VNF lifecycle management operation occurrences using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} Get VNF LCM Operation occurrences with fields attribute selector Log Query status information about multiple VNF lifecycle management operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} Get VNF LCM Operation occurrences with exclude_fields attribute selector Log Query status information about multiple VNF lifecycle management operation occurrences, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} PUT VNF LCM Operation occurrences log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH VNF LCM Operation occurrences log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE VNF LCM Operation occurrences log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Individual VNF LCM Operation occurrences log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get Individual VNF LCM Operation occurrences Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Put multiple VNF instances log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Patch multiple VNF instances log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Delete multiple VNF instances log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Retry operation Log Retry a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get Retry operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Put Retry operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Patch Retry operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Delete Retry operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Rollback operation Log Rollback a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get Rollback operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Put Rollback operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Patch Rollback operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Delete Rollback operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Fail operation Log mark as Failed a VNF lifecycle operation if that operation has experienced a temporary failure Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get Fail operation Log Trying to perform a GET. This method should not be implemented. Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Put Fail operation log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Patch Fail operation log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Delete Fail operation log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Create subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${template}= Get File jsons/lccnSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_notification=${callback_notification} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Create subscription - DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_DUPLICATION} == 0 VNFM is not permitting duplication. Skipping the test Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/lccnSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_notification=${callback_notification} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Create subscription - NO-DUPLICATION Log Trying to create a subscription with an already created content Pass Execution If ${VNFM_DUPLICATION} == 1 VNFM permits duplication. Skipping the test Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} ${template}= Get File jsons/lccnSubscriptionRequest.json ${body}= Format String ${template} callback_uri=${callback_uri} callback_notification=${callback_notification} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get subscriptions Log Get the list of active subscriptions Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get subscriptions - filter Log Get the list of active subscriptions using a filter Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get subscriptions - invalid filter Log Get the list of active subscriptions using an invalid filter Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?${sub_filter_invalid} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get subscriptions with all_fields attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} Get subscriptions with exclude_default attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_default ${output}= Output response Set Suite Variable ${response} ${output} Get subscriptions with fields attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} Get subscriptions with exclude_fields attribute selector Log Get the list of active subscriptions, using fields Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions?exclude_fields=${fields} ${output}= Output response Set Suite Variable ${response} ${output} PUT subscriptions log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} PATCH subscriptions log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} DELETE subscriptions log Trying to perform a DELETE. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Post Create Individual subscription log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Get Individual subscription log Trying to get information about an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Put Individual subscription log Trying to perform a PUT. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Put ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Patch Individual subscription log Trying to perform a PATCH. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Patch ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Delete Individual subscription log Try to delete an individual subscription Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Put Notification subscription log Trying to perform a PUT. This method should not be implemented Put ${callback_endpoint} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Patch Notification subscription log Trying to perform a PATCH. This method should not be implemented Patch ${callback_endpoint} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Delete Notification subscription log Trying to perform a DELETE. This method should not be implemented Delete ${callback_endpoint} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} POST Operation occurrence log The POST method delivers a notification from the server to the client. ${json}= Get File schemas/NsLcmOperationOccurrenceNotification.schema.json ${BODY}= evaluate json.loads('''${json}''') json Log Creating mock request and response to handle NSLcmOperationOccurrenceNotification &{req}= Create Mock Request Matcher POST ${callback_endpoint} body_type="JSON_SCHEMA" body=${BODY} &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Log Verifying results Verify Mock Expectation ${req} Log Cleaning the endpoint Clear Requests ${callback_endpoint} POST Id creation log The POST method delivers a notification from the server to the client. ${json}= Get File schemas/vnfIdentifierCreationNotification.schema.json ${BODY}= evaluate json.loads('''${json}''') json Log Creating mock request and response to handle vnfLcmOperationOccurrenceNotification &{req}= Create Mock Request Matcher POST ${callback_endpoint} body_type="JSON_SCHEMA" body=${BODY} &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Log Verifying results Verify Mock Expectation ${req} Log Cleaning the endpoint Clear Requests ${callback_endpoint} POST Id deletion log The POST method delivers a notification from the server to the client. ${json}= Get File schemas/vnfIdentifierCreationNotification.schema.json ${BODY}= evaluate json.loads('''${json}''') json Log Creating mock request and response to handle vnfLcmOperationOccurrenceNotification &{req}= Create Mock Request Matcher POST ${callback_endpoint} body_type="JSON_SCHEMA" body=${BODY} &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Log Verifying results Verify Mock Expectation ${req} Log Cleaning the endpoint Clear Requests ${callback_endpoint} GET test endpoint log The GET method allows the server to test the notification endpoint &{req}= Create Mock Request Matcher GET ${callback_endpoint} &{rsp}= Create Mock Response headers="Content-Type: application/json" status_code=204 Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Verify Mock Expectation ${req} Clear Requests ${callback_endpoint} Check HTTP Response Header Contain Link ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} Check HTTP Response Body vnfInstance content against VNF Descriptor Run Keyword If ${check_descriptors} == 1 Check Individual VNF Instance Content Check Individual VNF Instance Content PARSE the Descriptor File Match the VNF Instance Response Attributes with Descriptors PARSE the Descriptor File Run Keyword If '${descriptorType}'=='SOL001' Fetch Information from SOL001 descriptor file ELSE Fetch Information from SOL006 descriptor file Fetch Information from SOL001 descriptor file @{VDU_labels}= Create List @{VNF_labels}= Create List @{VirtualLink_labels}= Create List @{CP_labels}= Create List @{Storage_labels}= Create List FOR ${key} IN @{topology_template.node_templates.keys()} ${key_type}= Get Variable Value ${topology_template.node_templates.${key}.type} ${VDU_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VDU_compute} ${VNF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VNF} ${Link_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_virtual_link} ${VDUcp_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_VDU_cp} ${Storage_check}= Run Keyword And Return Status Should Be Equal As Strings ${key_type} ${tosca_type_storage} Run Keyword If ${VDU_check} Append To List ${VDU_labels} ${key} Run Keyword If ${VNF_check} Append To List ${VNF_labels} ${key} Run Keyword If ${VNF_check} Get VNF Attributes from SOL001 ${key} Run Keyword If ${Link_check} Append To List ${VirtualLink_labels} ${key} Run Keyword If ${VDUcp_check} Append To List ${CP_labels} ${key} Run Keyword If ${Storage_check} Append To List ${Storage_labels} ${key} END Set Global Variable @{VDU_IDs} @{VDU_labels} Set Global Variable @{VNF_IDs} @{VNF_labels} Set Global Variable @{VirtualLink_IDs} @{VirtualLink_labels} Set Global Variable @{CP_IDs} @{CP_labels} Set Global Variable @{Storage_IDs} @{Storage_labels} Get VNF Attributes from SOL001 [Arguments] ${VNF_label} ${descriptor_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_id} ${provider}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.provider} ${product_name}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.product_name} ${software_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.software_version} ${descriptor_version}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.descriptor_version} ${flavour_id}= Get Variable Value ${topology_template.node_templates.${VNF_label}.properties.flavour_id} Set Global Variable ${Descriptor_ID} ${descriptor_id} Set Global Variable ${Provider} ${provider} Set Global Variable ${Product_Name} ${product_name} Set Global Variable ${Software_Version} ${software_version} Set Global Variable ${Descriptor_Version} ${descriptor_version} Set Global Variable ${Flavour_ID} ${flavour_id} Fetch Information from SOL006 descriptor file ${descriptor_id}= Get Variable Value ${nfv.vnfd[0].id} ${provider}= Get Variable Value ${nfv.vnfd[0].provider} ${product_name}= Get Variable Value ${nfv.vnfd[0]['product-name']} ${software_version}= Get Variable Value ${nfv.vnfd[0]['software-version']} ${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version} ${VDUcount}= Get Length ${nfv.vnfd[0].vdu} ${extCP_count}= Get Length ${nfv.vnfd[0]['ext-cpd']} ${virtualLink_count}= Get length ${nfv.vnfd[0]['int-virtual-link-desc']} ${instantiation_levels}= Get Length ${nfv.vnfd[0].df['instantiation-level']} FOR ${key} IN @{nfv.vnfd[0].keys()} ${VDU_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} vdu Run Keyword If ${VDU_check} Get VDU IDs ${VDUcount} ${extCP_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} ext-cpd Run Keyword If ${extCP_check} Get External CP IDs ${extCP_count} ${virtualLink_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} int-virtual-link-desc Run Keyword If ${virtualLink_check} Get Virtual Link IDs ${virtualLink_count} ${DF_check}= Run Keyword And Return Status Should Be Equal As Strings ${key} df Run Keyword If ${DF_check} Get Instantiation Levels ${instantiation_levels} END Set Global Variable ${Descriptor_ID} ${descriptor_id} Set Global Variable ${Provider} ${provider} Set Global Variable ${Product_Name} ${product_name} Set Global Variable ${Software_Version} ${software_version} Set Global Variable ${Descriptor_Version} ${descriptor_version} Get VDU IDs [Arguments] ${count} @{VDU_labels}= Create List ${Storage_labels}= Create List FOR ${i} IN RANGE ${count} Append To List ${VDU_labels} ${nfv.vnfd[0].vdu[${i}]['id']} Append To List ${Storage_labels} ${nfv.vnfd[0].vdu[${i}]['virtual-storage-desc']} Get Internal CPs for each VDU ${i} END Set Global Variable ${VDU_IDs} ${VDU_labels} Set Global Variable ${Storage_IDs} ${Storage_labels} Get Internal CPs for each VDU [Arguments] ${vdu} ${count}= Get Length ${nfv.vnfd[0].vdu[${vdu}]['int-cpd']} ${internal_CPs}= Create List FOR ${i} IN RANGE ${count} Append To List ${internal_CPs} ${nfv.vnfd[0].vdu[${vdu}]['int-cpd'][${i}]['id']} END Set Global Variable ${internalCP_IDs} ${internal_CPs} Get External CP IDs [Arguments] ${count} @{external_CPs}= Create List FOR ${i} IN RANGE ${count} Append To List ${external_CPs} ${nfv.vnfd[0].ext_cpd[${i}].id} END Set Global Variable ${externalCP_IDs} ${external_CPs} Get Virtual Link IDs [Arguments] ${count} ${VirtualLink_labels}= Create List FOR ${i} IN RANGE ${count} Append To List ${VirtualLink_labels} ${nfv.vnfd[0]['int-virtual-link-desc'][${i}]['id']} END Set Global Variable ${VirtualLink_IDs} ${VirtualLink_labels} Get Instantiation Levels [Arguments] ${count} @{Instantiation_Levels}= Create List FOR ${i} IN RANGE ${count} Append To List ${Instantiation_Levels} ${nfv.vnfd[0].df['instantiation-level'][${i}]['id']} END Set Global Variable ${InstantiationLevel_IDs} ${Instantiation_Levels} Match the VNF Instance Response Attributes with Descriptors #Checking Response attributes with VNF Descriptors Should Be Equal As Strings ${response['body']['vnfdId']} ${Descriptor_ID} Should Be Equal As Strings ${response['body']['vnfProvider']} ${Provider} Should Be Equal As Strings ${response['body']['vnfProductName']} ${Product_Name} Should Be Equal As Strings ${response['body']['vnfSoftwareVesion']} ${Software_Version} Should Be Equal As Strings ${response['body']['vnfdVersion']} ${Descriptor_Version} Should Be Equal As Strings ${response['body']['instantiatedVnfInfo']['flavourId']} ${Flavour_ID} List Should Contain Value ${VDU_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo']['vduId']} Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${externalCP_IDs} ${response['body']['instantiatedVnfInfo']['extCpInfo']['cpdId']} Run Keyword If '${descriptorType}'=='SOL006' List Should Contain Value ${internalCP_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo']['vnfcCpInfo']['cpdId']} Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['instantiatedVnfInfo']['extCpInfo']['cpdId']} Run Keyword If '${descriptorType}'=='SOL001' List Should Contain Value @{CP_IDs} ${response['body']['instantiatedVnfInfo']['vnfcResourceInfo']['vnfcCpInfo']['cpdId']} List Should Contain value ${Storage_IDs} ${response['body']['instantiatedVnfInfo']['virtualStorageResourceInfo']['virtualStorageDescId']} List Should Contain Value ${VirtualLink_IDs} ${response['body']['instantiatedVnfInfo']['extManagedVirtualLinkInfo']['vnfVirtualLinkDescId']} Check HTTP Response Body of Individual VNF LCM Operation occurrences content against VNF Descriptor Run Keyword If ${check_descriptors} == 1 Check Individual VNF LCM Operation Occurence Content Check Individual VNF LCM Operation Occurence Content Run Keyword If '${descriptorType}'=='SOL001' Parse SOL001 VNF LCM ELSE Parse SOL006 VNF LCM Parse SOL001 Individual VNF LCM Get key for VNF Descriptor ${descriptor_id}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.descriptor_id} ${descriptor_version}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.descriptor_version} Should Be Equal As Strings ${response['body']['changedInfo']['vnfdId']} ${descriptor_id} Should Be Equal As Strings ${response['body']['changedInfo']['vnfdVersion']} ${descriptor_version} Parse SOL006 Individual VNF LCM ${descriptor_id}= Get Variable Value ${nfv.vnfd[0].id} ${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version} Should Be Equal As Strings ${response['body']['changedInfo']['vnfdId']} ${descriptor_id} Should Be Equal As Strings ${response['body']['changedInfo']['vnfdVersion']} ${descriptor_version} Add VNF Descriptor Content to VNF Instance Run Keyword If '${descriptorType}'=='SOL001' Parse SOL001 VNF Instance ELSE Parse SOL006 VNF Instance Parse SOL001 VNF Instance Get key for VNF Descriptor ${descriptor_id}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.descriptor_id} ${provider}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.provider} ${product_name}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.product_name} ${software_version}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.software_version} ${descriptor_version}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.descriptor_version} Parse SOL006 VNF Instance ${descriptor_id}= Get Variable Value ${nfv.vnfd[0].id} ${provider}= Get Variable Value ${nfv.vnfd[0].provider} ${product_name}= Get Variable Value ${nfv.vnfd[0].product-name} ${software_version}= Get Variable Value ${nfv.vnfd[0].software-version} ${descriptor_version}= Get Variable Value ${nfv.vnfd[0].version} Add VNF Descriptor Content to Change VNF Flavour Run Keyword If '${descriptorType}'=='SOL001' Parse SOL001 Change VNF Flavour ELSE Parse SOL006 Change VNF Flavour Parse SOL001 Change VNF Flavour Get key for VNF Descriptor ${newFlavourId}= Get Variable Value ${topology_template.node_templates.${vnfKey}.properties.flavour_id} Parse SOL006 Change VNF Flavour Log flavour id is not present in SOL006 descriptors