From 53550516a91bc55244a71ac5c313f414be4e607c Mon Sep 17 00:00:00 2001 From: uihassan Date: Fri, 6 Nov 2020 10:52:25 +0500 Subject: [PATCH] New Resource NotificationConsumer added --- .../NotificationConsumer.robot | 92 +++++++++++++++++++ .../environment/variables.txt | 5 +- .../VnfIdentifierCreationNotification.json | 8 ++ .../VnfIdentifierDeletionNotification.json | 8 ++ ...VnfLcmOperationOccurrenceNotification.json | 13 +++ 5 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 SOL003/VNFLifecycleManagement-API/NotificationConsumer.robot create mode 100644 SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierCreationNotification.json create mode 100644 SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierDeletionNotification.json create mode 100644 SOL003/VNFLifecycleManagement-API/jsons/VnfLcmOperationOccurrenceNotification.json diff --git a/SOL003/VNFLifecycleManagement-API/NotificationConsumer.robot b/SOL003/VNFLifecycleManagement-API/NotificationConsumer.robot new file mode 100644 index 00000000..9e27f5bc --- /dev/null +++ b/SOL003/VNFLifecycleManagement-API/NotificationConsumer.robot @@ -0,0 +1,92 @@ +*** Settings *** +Library String +Library OperatingSystem +Resource environment/variables.txt +Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Suite Setup Check resource existence and get CallbackUri + +*** Test Cases *** +VNF LCM Operation Occurrence Notification + [Documentation] Test ID: 7.3.1.36.1 + ... Test title: VNF LCM Operation Occurrence Notification + ... Test objective: The objective is to test that the POST request triggers VNF LCM Operation Occurrence Notification. + ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Post VNF LCM Operation Occurrence Notification + Check HTTP Response Status Code Is 204 + +VNF Identifier Creation Notification + [Documentation] Test ID: 7.3.1.36.2 + ... Test title: VNF Identifier Creation Notification + ... Test objective: The objective is to test that the POST request triggers VNF Identifier Creation Notification. + ... Pre-conditions: A subscription for VNF identifier creation cotification is available in the VNFM. + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Post VNF Identifier Creation Notification + Check HTTP Response Status Code Is 204 + +VNF Identifier Deletion Notification + [Documentation] Test ID: 7.3.1.36.3 + ... Test title: VNF Identifier Deletion Notification + ... Test objective: The objective is to test that the POST request triggers VNF Identifier Deletion Notification. + ... Pre-conditions: A subscription for VNF identifier deletion notifications is available in the VNFM. + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 003 [1] v2.7.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + Post VNF LCM Operation Occurrence Notification + Check HTTP Response Status Code Is 204 +*** Keywords *** +Check resource existence and get CallbackUri + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + Integer response status 200 + Validate Json response body Subscription.schema.json + Set Global Variable ${callbackResp} response body callbackUri + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Post VNF LCM Operation Occurrence Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/VnfLcmOperationOccurrenceNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} vnfInstanceId=${vnfInstanceId} vnfLcmOpOccId=${vnfLcmOpOccId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post VNF Identifier Creation Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/VnfIdentifierCreationNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} vnfInstanceId=${vnfInstanceId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post VNF Identifier Deletion Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/VnfIdentifierDeletionNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} vnfInstanceId=${vnfInstanceId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/environment/variables.txt b/SOL003/VNFLifecycleManagement-API/environment/variables.txt index 446b1f49..b08bdeff 100644 --- a/SOL003/VNFLifecycleManagement-API/environment/variables.txt +++ b/SOL003/VNFLifecycleManagement-API/environment/variables.txt @@ -16,10 +16,6 @@ ${apiMajorVersion} v1 ${CancelMode} GRACEFUL ${VNFM_DUPLICATION} 0 - - - - ${NFVO_HOST} localhost # Hostname of the NFVO ${NFVO_PORT} 8081 # Listening port of the NFVO ${NFVO_SCHEMA} https @@ -101,3 +97,4 @@ ${element} ${aspectId} ${scaleOutResponse} +${callbackResp} localhost \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierCreationNotification.json b/SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierCreationNotification.json new file mode 100644 index 00000000..dfc860f3 --- /dev/null +++ b/SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierCreationNotification.json @@ -0,0 +1,8 @@ +{{ + "id":"", + "notificationType":"VnfIdentifierCreationNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "vnfInstanceId":"{vnfInstanceId}", + "_links":"" +}} diff --git a/SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierDeletionNotification.json b/SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierDeletionNotification.json new file mode 100644 index 00000000..3754be2b --- /dev/null +++ b/SOL003/VNFLifecycleManagement-API/jsons/VnfIdentifierDeletionNotification.json @@ -0,0 +1,8 @@ +{{ + "id":"", + "notificationType":"VnfIdentifierDeletionNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "vnfInstanceId":"{vnfInstanceId}", + "_links":"" +}} diff --git a/SOL003/VNFLifecycleManagement-API/jsons/VnfLcmOperationOccurrenceNotification.json b/SOL003/VNFLifecycleManagement-API/jsons/VnfLcmOperationOccurrenceNotification.json new file mode 100644 index 00000000..0756a332 --- /dev/null +++ b/SOL003/VNFLifecycleManagement-API/jsons/VnfLcmOperationOccurrenceNotification.json @@ -0,0 +1,13 @@ +{{ + "id":"", + "notificationType":"VnfLcmOperationOccurrenceNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "notificationStatus":"STRAT", + "operationState":"PROCESSING", + "vnfInstanceId":"{vnfInstanceId}", + "operation":"SCALE", + "isAutomaticInvocation":"false", + "vnfLcmOpOccId":"{vnfLcmOpOccId}", + "_links":"" +}} -- GitLab