*** Settings *** Resource environment/variables.txt Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ... spec=SOL003-VNFLifecycleManagement-API.yaml Library DependencyLibrary Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ Suite Setup Check resource existance *** Test Cases *** Instantiate a vnfInstance [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 json/instantiateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${body} Integer response status 202 Log Status code validated ${headers}= Output response headers Should Contain ${headers} Location Log Validation OK Instantiate a vnfInstance Conflict # 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 INSTANTIATED state. ... The response body shall contain a ProblemDetails structure, in which the detail attribute should convey more information about the error. [Setup] Check resource instantiated 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 json/instantiateVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/instantiate ${body} Integer response status 409 Log Status code validated ${problemDetails}= Output response body ${json}= evaluate json.loads('''${problemDetails}''') json Validate Json ProblemDetails.schema.json ${json} Log Validation OK GET Instantiate 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}/instantiate Log Validate Status code Integer response status 405 PUT Instantiate 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}/instantiate Log Validate Status code Integer response status 405 PATCH Instantiate 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}/instantiate Log Validate Status code Integer response status 405 DELETE Instantiate 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}/instantiate Log Validate Status code Integer response status 405 *** Keywords *** 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 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 INSTANTIATED