From ee93c12714f7d2b03058bda4db5f984282769065 Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 9 Nov 2020 12:16:19 +0500 Subject: [PATCH] New Resource NotificationConsumer added --- .../NotificationConsumer.robot | 185 ++++++++++++++++++ .../environment/variables.txt | 2 + .../notifications/NsdChangeNotification.json | 11 +- .../NsdDeletionNotification.json | 10 +- .../NsdOnBoardingFailureNotification.json | 10 +- .../NsdOnBoardingNotification.json | 17 +- .../PnfdDeletionNotification.json | 10 +- .../PnfdOnBoardingFailureNotification.json | 11 +- .../PnfdOnBoardingNotification.json | 10 +- 9 files changed, 252 insertions(+), 14 deletions(-) create mode 100644 SOL005/NSDManagement-API/NotificationConsumer.robot diff --git a/SOL005/NSDManagement-API/NotificationConsumer.robot b/SOL005/NSDManagement-API/NotificationConsumer.robot new file mode 100644 index 00000000..c2be1b86 --- /dev/null +++ b/SOL005/NSDManagement-API/NotificationConsumer.robot @@ -0,0 +1,185 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt +Library OperatingSystem +Library JSONLibrary +Library String +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Suite Setup Check resource existence and get CallbackUri + +*** Test Cases *** +NSD Onboarding Notification + [Documentation] Test ID: 5.3.1.15.1 + ... Test title: NSD Onboarding Notification + ... Test objective: The objective is to test that NSD Onboarding Notification is delivered with success to the notification consumer. + ... Pre-conditions: A NSD management subscription for onboarding notification is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post NSD Onboarding Notification + Check HTTP Response Status Code Is 204 + +NSD Onboarding Failure Notification + [Documentation] Test ID: 5.3.1.15.2 + ... Test title: NSD Onboarding Failure Notification + ... Test objective: The objective is to test that NSD Onboarding Failure Notification is delivered with success to the notification consumer. + ... Pre-conditions: A NSD management subscription for onboarding failure notification is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post NSD Onboarding Failure Notification + Check HTTP Response Status Code Is 204 + +NSD Change Notification + [Documentation] Test ID: 5.3.1.15.3 + ... Test title: NSD Change Notification + ... Test objective: The objective is to test that NSD Change Notification is delivered with success to the notification consumer. + ... Pre-conditions: A NSD management subscription for change notification is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post NSD Change Notification + Check HTTP Response Status Code Is 204 + +NSD Deletion Notification + [Documentation] Test ID: 5.3.1.15.4 + ... Test title: NSD Deletion Notification + ... Test objective: The objective is to test that NSD Deletion Notification is delivered with success to the notification consumer. + ... Pre-conditions: A NSD management subscription for deletion notification is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post NSD Deletion Notification + Check HTTP Response Status Code Is 204 + +Pnfd Onboarding Notification + [Documentation] Test ID: 5.3.1.15.5 + ... Test title: Pnfd Onboarding Notification + ... Test objective: The objective is to test that Pnfd Onboarding Notification is delivered with success to the notification consumer. + ... Pre-conditions: A Pnfd management subscription for onboarding notification is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post Pnfd Onboarding Notification + Check HTTP Response Status Code Is 204 + +Pnfd Onboarding Failure Notification + [Documentation] Test ID: 5.3.1.15.6 + ... Test title: Pnfd Onboarding Failure Notification + ... Test objective: The objective is to test that Pnfd Onboarding Failure Notification is delivered with success to the notification consumer. + ... Pre-conditions: A Pnfd management subscription for onboarding failure notification is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post Pnfd Onboarding Failure Notification + Check HTTP Response Status Code Is 204 + +Pnfd Deletion Notification + [Documentation] Test ID: 5.3.1.15.7 + ... Test title: pnfd Deletion Notification + ... Test objective: The objective is to test that Pnfd Deletion Notification is delivered with success to the notification consumer. + ... Pre-conditions: A Pnfd management subscription for deletion notification is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v2.7.1 + ... Config ID: Config_prod_Notif_Endpoint + ... Applicability: none + ... Post-Conditions: none + Post Pnfd Deletion 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_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + Integer response status 200 + Validate Json response body PkgmSubscription.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 NSD Onboarding Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/notifications/NsdOnBoardingNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} nsdInfoId=${nsdInfoId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post NSD Onboarding Failure Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/notifications/NsdOnBoardingFailureNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} nsdInfoId=${nsdInfoId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post NSD Change Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/notifications/NsdChangeNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} nsdInfoId=${nsdInfoId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post NSD Deletion Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/notifications/NsdDeletionNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} nsdInfoId=${nsdInfoId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Pnfd Onboarding Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/notifications/PnfdOnBoardingNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} pnfdInfoId=${pnfdInfoId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Pnfd Onboarding Failure Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/notifications/PnfdOnBoardingFailureNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} pnfdInfoId=${pnfdInfoId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +Post Pnfd Deletion Notification + log Trying to perform a POST to get notification + Set Headers {"Accept":"${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + ${template} = Get File jsons/notifications/pnfdDeletionNotification.json + ${body}= Format String ${template} subscriptionId=${subscriptionId} pnfdInfoId=${pnfdInfoId} + Post ${callbackResp} ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/environment/variables.txt b/SOL005/NSDManagement-API/environment/variables.txt index ad6a34be..b837bc7c 100644 --- a/SOL005/NSDManagement-API/environment/variables.txt +++ b/SOL005/NSDManagement-API/environment/variables.txt @@ -90,3 +90,5 @@ ${userDefinedDataSet} some ${notifCallbackUri} http://172.22.1.7:9091/nsd/subscriptions ${filter_ok} callbackUri=${notifCallbackUri} ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based + +${callbackResp} 127.0.0.1 \ No newline at end of file diff --git a/SOL005/NSDManagement-API/jsons/notifications/NsdChangeNotification.json b/SOL005/NSDManagement-API/jsons/notifications/NsdChangeNotification.json index 9e26dfee..349ca546 100644 --- a/SOL005/NSDManagement-API/jsons/notifications/NsdChangeNotification.json +++ b/SOL005/NSDManagement-API/jsons/notifications/NsdChangeNotification.json @@ -1 +1,10 @@ -{} \ No newline at end of file +{{ + "id":"", + "notificationType":"NsdChangeNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "nsdInfoId":"{nsdInfoId}", + "nsdId":"", + "nsdOperationalState":"ENABLED", + "_links":"" +}} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/jsons/notifications/NsdDeletionNotification.json b/SOL005/NSDManagement-API/jsons/notifications/NsdDeletionNotification.json index 9e26dfee..6909a5c2 100644 --- a/SOL005/NSDManagement-API/jsons/notifications/NsdDeletionNotification.json +++ b/SOL005/NSDManagement-API/jsons/notifications/NsdDeletionNotification.json @@ -1 +1,9 @@ -{} \ No newline at end of file +{{ + "id":"", + "notificationType":"NsdDeletionNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "nsdInfoId":"{nsdInfoId}", + "nsdId":"", + "_links":"" +}} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingFailureNotification.json b/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingFailureNotification.json index 9e26dfee..80cb4e8b 100644 --- a/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingFailureNotification.json +++ b/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingFailureNotification.json @@ -1 +1,9 @@ -{} \ No newline at end of file +{{ + "id":"", + "notificationType":"NsdOnboardingFailureNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "nsdInfoId":"{nsdInfoId}", + "onboardingFailureDetails":"", + "_links":"" +}} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingNotification.json b/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingNotification.json index 7266cf06..5b9b4a22 100644 --- a/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingNotification.json +++ b/SOL005/NSDManagement-API/jsons/notifications/NsdOnBoardingNotification.json @@ -1,8 +1,9 @@ -{ -"_links": "", -"id": "", -"notificationType": "", -"nsdId": "", -"nsdInfoId": "", -"timeStamp": "" -} +{{ + "id":"", + "notificationType":"NsdOnboardingNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "nsdInfoId":"{nsdInfoId}", + "nsdId":"", + "_links":"" +}} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/jsons/notifications/PnfdDeletionNotification.json b/SOL005/NSDManagement-API/jsons/notifications/PnfdDeletionNotification.json index 9e26dfee..c357d552 100644 --- a/SOL005/NSDManagement-API/jsons/notifications/PnfdDeletionNotification.json +++ b/SOL005/NSDManagement-API/jsons/notifications/PnfdDeletionNotification.json @@ -1 +1,9 @@ -{} \ No newline at end of file +{{ + "id":"", + "notificationType":"PnfdDeletionNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "pnfdInfoId":"{pnfdInfoId}", + "pnfdId":"", + "_links":"" +}} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingFailureNotification.json b/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingFailureNotification.json index 9e26dfee..57f5fc77 100644 --- a/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingFailureNotification.json +++ b/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingFailureNotification.json @@ -1 +1,10 @@ -{} \ No newline at end of file +{{ + "id":"", + "notificationType":"PnfdOnboardingFailureNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "pnfdInfoId":"{pnfdInfoId}", + "pnfdId":"", + "onboardingFailureDetails":"", + "_links":"" +}} \ No newline at end of file diff --git a/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingNotification.json b/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingNotification.json index 9e26dfee..4c2fbbb8 100644 --- a/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingNotification.json +++ b/SOL005/NSDManagement-API/jsons/notifications/PnfdOnBoardingNotification.json @@ -1 +1,9 @@ -{} \ No newline at end of file +{{ + "id":"", + "notificationType":"PnfdOnboardingNotification", + "subscriptionId":"{subscriptionId}", + "timeStamp":"", + "pnfdInfoId":"{pnfdInfoId}", + "pnfdId":"", + "_links":"" +}} \ No newline at end of file -- GitLab