diff --git a/SOL005/NSDManagement-API/NotificationConsumer.robot b/SOL005/NSDManagement-API/NotificationConsumer.robot new file mode 100644 index 0000000000000000000000000000000000000000..c2be1b866006cb386dd6cb9637aea180d50af64c --- /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 ad6a34beb26c32b481cb5946fbf6651f5b491689..b837bc7c565f0f7cb8a623187d17b253dd584c74 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 9e26dfeeb6e641a33dae4961196235bdb965b21b..349ca54658fdb7ae3ad1ca8907a237a381bd9e2b 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 9e26dfeeb6e641a33dae4961196235bdb965b21b..6909a5c25002dbd4e9ff34f48e7c8143116fe6b6 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 9e26dfeeb6e641a33dae4961196235bdb965b21b..80cb4e8b6c86f9c7b45a390439f51a62319e717d 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 7266cf06dadcded77e80709ab0c287922fb6184d..5b9b4a2215183966fa86d896499b015049ecd638 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 9e26dfeeb6e641a33dae4961196235bdb965b21b..c357d55276154e27d7acd8ae14d1c0e71652610d 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 9e26dfeeb6e641a33dae4961196235bdb965b21b..57f5fc7757fbbbdc69516d9e898b0e2123927a84 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 9e26dfeeb6e641a33dae4961196235bdb965b21b..4c2fbbb8b7167f400dca5ecbb63945a479af2052 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