Commit 608ab78d authored by mengxuan.zhao's avatar mengxuan.zhao
Browse files

SOL 003 Fault Management API

parent 84b24dbf
...@@ -12,7 +12,7 @@ ${Etag_modified}= a modified etag ...@@ -12,7 +12,7 @@ ${Etag_modified}= a modified etag
*** Test cases *** *** Test cases ***
POST Alarm - Method not implemented POST Alarm - Method not implemented
log Trying to perform a PUT. This method should not be implemented log Trying to perform a POST. This method should not be implemented
Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Post ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId} Post ${apiRoot}/${apiName}/${apiVersion}/alarms/${alarmId}
......
*** Settings ***
Resource variables.txt
Library REST http://${VNFM_HOST}:${VNFM_PORT}
... spec=SOL003-VNFFaultManagement-API.yaml
Documentation This resource represents an individual subscription for VNF alarms.
... The client can use this resource to read and to terminate a subscription to notifications related to VNF fault management.
Suite setup Check resource existance
*** Test Cases ***
Post Individual Subscription - Method not implemented
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}/${apiVersion}/subscriptions/${subscriptionId}
Log Validate Status code
Output response
Integer response status 405
Get Information about an 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}/${apiVersion}/subscriptions/${subscriptionId}
Log Validate Status code
Output response
Integer response status 200
PUT an individual subscription - 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/${subscriptionId}
Log Validate Status code
Output response
Integer response status 405
PATCH an individual subscription - 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}/subscriptions/${subscriptionId}
Log Validate Status code
Output response
Integer response status 405
DELETE an individual subscription
log Try to delete an individual subscription
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Patch ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
Log Validate Status code
Output response
Integer response status 204
*** Key words ***
Check resource existance
Set Headers {"Accept":"${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId}
Integer response status 200
\ No newline at end of file
*** Settings ***
Resource variables.txt
Library REST http://${NFVO_HOST}:${NFVO_PORT}
... spec=SOL003-VNFFaultManagement-API.yaml
*** Test Cases ***
Deliver a notification - Operation Occurence
log The POST method delivers a notification from the server to the client.
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Post ${notification_ep} ${AlarmNotification}
Log Validate Status code
Output response
Integer response status 204
Deliver a notification - Id Creation
log The POST method delivers a notification from the server to the client.
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Post ${notification_ep} ${AlarmClearedNotification}
Log Validate Status code
Output response
Integer response status 204
Deliver a notification - Id deletion
log The POST method delivers a notification from the server to the client.
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Post ${notification_ep} ${AlarmListRebuiltNotification}
Log Validate Status code
Output response
Integer response status 204
Test a notification end point
log The GET method allows the server to test the notification endpoint
Get ${notification_ep}
Log Validate Status code
Output response
Integer response status 204
PUT notification - Method not implemented
log Trying to perform a PUT. This method should not be implemented
Put ${notification_ep}
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
Patch ${notification_ep}
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
Delete ${notification_ep}
Log Validate Status code
Output response
Integer response status 405
\ No newline at end of file
*** Settings ***
Resource variables.txt
Library REST http://${VNFM_HOST}:${VNFM_PORT}
... spec=SOL003-VNFFaultManagement-API.yaml
Library OperatingSystem
*** Test Cases ***
Create a new subscription
Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
${body}= Get File json/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Output response
Integer response status 201
Log Status code validated
Create a new Subscription - DUPLICATION
Log Trying to create a subscription with an already created content
Pass Execution If ${NVFM_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}"}
${body}= Get File json/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Output response
Integer response status 201
Log Status code validated
Create a new Subscription - NO-DUPLICATION
Log Trying to create a subscription with an already created content
Pass Execution If ${NVFM_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}"}
${body}= Get File json/fmSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Output response
Integer response status 303
Log Status code validated
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}/${apiVersion}/subscriptions
Output response
Log Validate Status code
Integer response status 200
GET Subscription - Filter
Log Get the list of active subscriptions using a filter
Set Headers {"Accept": "${ACCEPT}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?${sub_filter}
Integer response status 200
Log Received a 200 OK as expected
GET subscriptions - Bad Request Invalid attribute-based filtering parameters
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}/${apiVersion}/subscriptions?${sub_filter_invalid}
Integer response status 400
Log Received a 400 Bad Request as expected
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
{
"filter": {
"vnfInstanceSubscriptionFilter": {
"vnfdIds": [
"6fc3539c-e602-4afa-8e13-962fb5a7d81f"
]
}
},
"callbackUri": "http://127.0.0.1/subscribe"
}
\ No newline at end of file
...@@ -35,6 +35,6 @@ ${sub_filter} filter ...@@ -35,6 +35,6 @@ ${sub_filter} filter
${sub_filter_invalid} filter_invalid ${sub_filter_invalid} filter_invalid
${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f ${subscriptionId} 6fc3539c-e602-4afa-8e13-962fb5a7d81f
${notification_ep} notification ${notification_ep} notification
${VnfLcmOperationOccurrenceNotification} {} ${AlarmNotification} {}
${VnfIdentifierCreationNotification} {} ${AlarmClearedNotification} {}
${VnfIdentifierDeletionNotification} {} ${AlarmListRebuiltNotification} {}
\ No newline at end of file \ No newline at end of file
...@@ -2,14 +2,16 @@ ...@@ -2,14 +2,16 @@
Resource variables.txt Resource variables.txt
Library REST http://${VNFM_HOST}:${VNFM_PORT} Library REST http://${VNFM_HOST}:${VNFM_PORT}
... spec=SOL003-VNFLifecycleManagement-API.yaml ... spec=SOL003-VNFLifecycleManagement-API.yaml
Library OperatingSystem
*** Test Cases *** *** Test Cases ***
Create a new subscription Create a new subscription
Log Create VNF instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions
Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Accept":"${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"}
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${LccnSubscriptionRequest} ${body}= Get File json/lccbSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Output response Output response
Integer response status 201 Integer response status 201
Log Status code validated Log Status code validated
...@@ -20,7 +22,8 @@ Create a new Subscription - DUPLICATION ...@@ -20,7 +22,8 @@ Create a new Subscription - DUPLICATION
Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Accept": "${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${LccnSubscriptionRequest} ${body}= Get File json/lccbSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Output response Output response
Integer response status 201 Integer response status 201
Log Status code validated Log Status code validated
...@@ -31,7 +34,8 @@ Create a new Subscription - NO-DUPLICATION ...@@ -31,7 +34,8 @@ Create a new Subscription - NO-DUPLICATION
Set Headers {"Accept": "${ACCEPT}"} Set Headers {"Accept": "${ACCEPT}"}
Set Headers {"Content-Type": "${CONTENT_TYPE}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"}
Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"}
POST ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${LccnSubscriptionRequest} ${body}= Get File json/lccbSubscriptionRequest.json
Post ${apiRoot}/${apiName}/${apiVersion}/subscriptions ${body}
Output response Output response
Integer response status 303 Integer response status 303
Log Status code validated Log Status code validated
......
...@@ -27,7 +27,6 @@ ${ARTIFACT_ID} artifactId ...@@ -27,7 +27,6 @@ ${ARTIFACT_ID} artifactId
${WRONG_ACCEPT} application/json ${WRONG_ACCEPT} application/json
${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d ${vnfLcmOpOccId} 6fc3539c-e602-4afa-8e13-962fb5a7d81d
${CancelMode} GRACEFUL ${CancelMode} GRACEFUL
${LccnSubscriptionRequest} {}
${NVFM_DUPLICATION} 0 ${NVFM_DUPLICATION} 0
${sub_filter} filter ${sub_filter} filter
${sub_filter_invalid} filter_invalid ${sub_filter_invalid} filter_invalid
......
...@@ -31,8 +31,9 @@ SOL003 ...@@ -31,8 +31,9 @@ SOL003
- VNFFaultManagement-API_egm ------------------------------> [IN PROGRESS] - VNFFaultManagement-API_egm ------------------------------> [IN PROGRESS]
* Alarms ----------------------------------------------> [DONE] * Alarms ----------------------------------------------> [DONE]
* IndividualAlarm ----------------------------------------------> [DONE] * IndividualAlarm ----------------------------------------------> [DONE]
* Subscriptions --------------------------------------------> [IN PROGRESS] //to be reviewed with nxw on how notification server will be configured * Subscriptions --------------------------------------------> [DONE]
* IndividualSubscription -----------------------------------> [IN PROGRESS] * IndividualSubscription -----------------------------------> [DONE]
* NotificationEndpoint -------------------------------------> [DONE] //to be reviewed with nxw on how notification server will be configured
- VNFFaultManagementNotification-API_egm ------------------> [NOT STARTED] - VNFFaultManagementNotification-API_egm ------------------> [NOT STARTED]
...@@ -62,9 +63,9 @@ SOL003 ...@@ -62,9 +63,9 @@ SOL003
* RollbackOperationTask ------------------------------------> [DONE] * RollbackOperationTask ------------------------------------> [DONE]
* FailOperationTask ----------------------------------------> [DONE] * FailOperationTask ----------------------------------------> [DONE]
* CancelOperationTask --------------------------------------> [DONE] * CancelOperationTask --------------------------------------> [DONE]
* Subscriptions --------------------------------------------> [DONE] //to be reviewed with nxw on how notification server will be configured * Subscriptions --------------------------------------------> [DONE]
* IndividualSubscription -----------------------------------> [DONE] //same as above * IndividualSubscription -----------------------------------> [DONE]
* NotificationEndpoint -------------------------------------> [DONE] //same as above * NotificationEndpoint -------------------------------------> [DONE] //to be reviewed with nxw on how notification server will be configured
- VNFLifecycleOperationGranting-API_egm -------------------> [NOT STARTED] - VNFLifecycleOperationGranting-API_egm -------------------> [NOT STARTED]
......
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