*** Settings *** # Suite setup Expect spec SOL003-VNFLifecycleManagement-API.yaml Resource environment/configuration.txt Resource environment/variables.txt Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ... spec=SOL003-VNFLifecycleManagement-API.yaml Library OperatingSystem Library JSONLibrary Library JSONSchemaLibrary schemas/ *** Test cases *** Create a new vnfInstance [Setup] #make sure the vnfInstand ${vnfInstanceId} doesn't exist Log Create VNF instance by POST to ${apiRoot}/${apiName}/${apiVersion}/vnf_instances Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File json/createVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances ${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 ${json}= evaluate json.loads('''${result}''') json Validate Json vnfInstance.schema.json ${json} Log Validation OK Get information about multiple VNF instances 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}/${apiVersion}/vnf_instances Log Validate Status code Integer response status 200 ${contentType}= Output response headers Content-Type Should Contain ${contentType} ${CONTENT_TYPE} ${result}= Output response body ${json}= evaluate json.loads('''${result}''') json Validate Json vnfInstance.schema.json ${json} Log Validation OK Get information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters 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}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?attribute_not_exist=some_value Log Validate Status code Integer response status 400 ${problemDetails}= Output response body ${json}= evaluate json.loads('''${problemDetails}''') json Validate Json ProblemDetails.schema.json ${json} Log Validation OK Get information about multiple VNF instances Bad Request Invalid attribute selector 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}"} GET ${apiRoot}/${apiName}/${apiVersion}/vnf_instances?fields=wrong_field Log Validate Status code Integer response status 400 ${problemDetails}= Output response body ${json}= evaluate json.loads('''${problemDetails}''') json Validate Json ProblemDetails.schema.json ${json} Log Validation OK PUT VNFInstances - Method not implemented 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}/${apiVersion}/vnf_instances Log Validate Status code Integer response status 405 PATCH VNFInstances - Method not implemented 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}/${apiVersion}/vnf_instances Log Validate Status code Integer response status 405 DELETE VNFInstances - Method not implemented 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}/${apiVersion}/vnf_instances Log Validate Status code Integer response status 405