Commit eb8a950e authored by mengxuan.zhao's avatar mengxuan.zhao
Browse files

SOL003 VNFLifecycleOperationGranting API

parent 7715169a
*** Settings ***
Resource variables.txt
Library REST http://${NFVO_HOST}:${NFVO_PORT}
... spec=SOL003-VNFLifecycleOperationGranting-API.yaml
Library OperatingSystem
Documentation This resource represents grants. The client can use this resource to obtain permission
... from the NFVO to perform a particular VNF lifecycle operation.
*** Test Cases ***
Create a new Grant - Synchronous mode
Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/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 json/grantRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body}
Output response
Integer response status 201
Log Status code validated
Create a new Grant - Asynchronous mode
Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/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 json/grantRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body}
Output response
Integer response status 202
Log Status code validated
Create a new Grant - Forbidden
# TODO: How to set up the pre-condition for this test?
Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants
Log The grant request should be rejected
Set Headers {"Accept": "${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
${body}= Get File json/grantRejectedRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/grants ${body}
Output response
Integer response status 403
Log Status code validated
GET Grants - Method not implemented
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}/${apiVersion}/grants
Output response
Log Validate Status code
Integer response status 405
PUT subscriptions - Method not implemented
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}/${apiVersion}/subscriptions
Log Validate Status code
Output response
Integer response status 405
PATCH subscriptions - Method not implemented
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}/${apiVersion}/subscriptions
Log Validate Status code
Output response
Integer response status 405
DELETE subscriptions - Method not implemented
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}/${apiVersion}/subscriptions
Log Validate Status code
Output response
Integer response status 405
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
{
"vnfInstanceId": "string",
"vnfLcmOpOccId": "string",
"vnfdId": "string",
"flavourId": "string",
"operation": "INSTANTIATE",
"isAutomaticInvocation": true,
"_links": {
"vnfLcmOpOcc": {
"href": "string"
},
"vnfInstance": {
"href": "string"
}
}
}
\ No newline at end of file
{
"vnfInstanceId": "string",
"vnfLcmOpOccId": "string",
"vnfdId": "string",
"flavourId": "string",
"operation": "INSTANTIATE",
"isAutomaticInvocation": true,
"_links": {
"vnfLcmOpOcc": {
"href": "string"
},
"vnfInstance": {
"href": "string"
}
}
}
\ No newline at end of file
*** Variables ***
${VNFM_HOST} localhost # Hostname of the VNFM
${VNFM_PORT} 8080 # Listening port of the VNFM
${NFVO_HOST} localhost # Hostname of the NFVO
${NFVO_PORT} 8081 # Listening port of the NFVO
${VNFM_SCHEMA} https
${NFVO_SCHEMA} https
${AUTHORIZATION} Bearer QWxhZGRpbjpvcGVuIHNlc2FtZQ==
${CONTENT_TYPE} application/json
${CONTENT_TYPE_PATCH} application/merge-patch+json
${ACCEPT} application/json
${apiRoot} /
${apiName} grant
${apiVersion} v1
${AUTH_USAGE} 1
${WRONG_AUTHORIZATION} Bearer XXXXXWRONGXXXXX
${grantId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d
${vnfInstanceDescription} description vnf
${vnfInstanceDescription_Update} Updated description vnf
${SINGLE_FILE_VNFD} 1 # If VNFD is PLAIN TEXT
${ACCEPT_PLAIN} text/plain
${ACCEPT_ZIP} application/zip
${vnfPkgId_processing} 007c111c-38a1-42c0-a666-7475ecb1567c
${ARTIFACT_TYPE} application/octet-stream
${ARTIFACT_ID} artifactId
${WRONG_ACCEPT} application/json
${SYNC_MODE} 1
${sub_filter} filter
${sub_filter_invalid} filter_invalid
${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f
${notification_ep} notification
${VrQuotaAvailNotification} {}
\ No newline at end of file
......@@ -70,7 +70,9 @@ SOL003
* IndividualSubscription -----------------------------------> [DONE]
* NotificationEndpoint -------------------------------------> [DONE] //to be reviewed with nxw on how notification server will be configured
- VNFLifecycleOperationGranting-API_egm -------------------> [NOT STARTED]
- VNFLifecycleOperationGranting-API_egm -------------------> [IN PROGRESS]
* Grants----------------------------------------------> [DONE]
* IndividualGrant----------------------------------------------> [IN PROGRESS]
- VNFPackageManagement-API_nxw ----------------------------> [DONE]
* VNFPackages -----------------------------------------------> [DONE]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment