*** Settings *** Resource variables.txt Library REST http://${VNFM_HOST}:${VNFM_PORT} ... spec=SOL003-VNFLifecycleManagement-API.yaml Library DependencyLibrary Suite setup Check resource existance *** Test Cases *** Terminate a vnfInstance [Documentation] Terminates a VNF instance 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}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${Terminate_Vnf_REQUEST} Integer response status 202 Log Status code validated Terminate a vnfInstance Conflict (Not-Instantiated) # TODO: Need to set the pre-condition of the test. VNF instance shall be in INSTANTIATED state [Documentation] Conflict. ... The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, ... or that another lifecycle management operation is ongoing. ... The response body shall contain a ProblemDetails structure, in which the “detail” attribute should convey more information about the error. [Setup] Check resource not instantiated 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}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${Terminate_Vnf_REQUEST} Output response Integer response status 409 Log Status code validated Terminate a vnfInstance Conflict (parallel LCM operation) # TODO: Need to set the pre-condition of the test [Documentation] Conflict ... The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Typically, this is due to the fact that the VNF instance resource is in NOT-INSTANTIATED state, ... or that another lifecycle management operation is ongoing. ... The response body shall contain a ProblemDetails structure, in which the “detail” attribute should convey more information about the error. [Setup] Launch another LCM operation 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}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate ${Terminate_Vnf_REQUEST} Log Validate Status code Output response Integer response status 409 [Teardown] #We cannot know if the "scale" operation is finished easily because the 202 indicates only whether the operation has been accepted, not whether the operation has been finished GET Terminate VNFInstance - Method not implemented 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}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate Log Validate Status code Output response Integer response status 405 PUT Terminate VNFInstance - Method not implemented 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}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate Log Validate Status code Output response Integer response status 405 PATCH Terminate VNFInstance - Method not implemented 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}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate Log Validate Status code Output response Integer response status 405 DELETE Terminate VNFInstance - Method not implemented 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}/${apiVersion}/vnf_instances/${vnfInstanceId}/terminate Log Validate Status code Output response Integer response status 405 *** Key words *** Check resource existance Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} Integer response status 200 Check resource not instantiated Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} String response body instantiationState NOT_INSTANTIATED Check change flavour not supported Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId} # how to check if change floavour is not supported? "flavourId" doesn't exist? Launch another LCM operation Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${Scale_Vnf_REQUEST} Integer response status 202