From c90e2fb552a0a64618a716f278ec0fff1de7f3dd Mon Sep 17 00:00:00 2001 From: ETSI CTI Date: Tue, 18 Feb 2020 15:56:03 +0100 Subject: [PATCH 1/5] Editorials, prepare for new 2.6.1 development --- LICENSE | 2 +- README.md | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/LICENSE b/LICENSE index c7a6ba06a..b10b838c7 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright 2019 ETSI +Copyright 2019-2020 ETSI Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/README.md b/README.md index e336da33e..2792b099e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,15 @@ # NFV API Conformance Test Specification (NFV-TST 010) This repository hosts the NFV API Conformance test specification for -the APIs defined in ETSI NFV GS [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf), [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf), [SOL005](http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf), in their versions v2.4.1. +the APIs defined in ETSI NFV GS [SOL002](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/002/02.04.01_60/gs_NFV-SOL002v020401p.pdf), [SOL003](https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/003/02.04.01_60/gs_NFV-SOL003v020401p.pdf), [SOL005](http://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/005/02.04.01_60/gs_NFV-SOL005v020401p.pdf), in their versions v2.6.1. -More information and download is available at [DGS/NFV-TST010](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=54031). +More information and download is available at [DGS/NFV-TST010ed261](https://portal.etsi.org/webapp/WorkProgram/Report_WorkItem.asp?WKI_ID=58428). + +**{- Disclaimer: The content of this repository is related to a DRAFT, i.e. a working document, of ETSI ISG NFV.-}** + +{-It is provided for information only and is still under development. The content may be updated, replaced, or removed at any time. Do not use as reference material.-} + +The latest draft may be downloaded at the [ISG NFV open area](https://docbox.etsi.org/isg/nfv/open/Drafts/). ## Overview -- GitLab From 48bbc25c0962c3b85d06b8bb6b33a7c36a6c3f85 Mon Sep 17 00:00:00 2001 From: uihassan Date: Tue, 24 Mar 2020 12:02:03 +0500 Subject: [PATCH 2/5] Added deltas #23-26 --- SOL002/VNFFaultManagement-API/Alarms.robot | 31 ++++++++++++++++++ .../Subscriptions.robot | 32 ++++++++++++++++++- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index d032b05fb..ab1f810fa 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -146,6 +146,32 @@ DELETE Alarms - Method not implemented ... Post-Conditions: the alarm is not deleted DELETE Alarms Task Check HTTP Response Status Code Is 405 + +GET information about multiple alarms with Paged Response + [Documentation] Test ID: 6.3.4.1.12 + ... Test title: GET information about multiple alarms with Paged Response + ... Test objective: The objective is to retrieve information about the alarms with a paged response + ... Pre-conditions: + ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET information about multiple alarms for Bad Request Response too big + [Documentation] Test ID: 6.3.4.1.13 + ... Test title: GET information about multiple alarms for Bad Request Response too big + ... Test objective: The objective is to test that GET method fail retrieving status information about Alarms when Response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: + ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** POST Alarms Task @@ -246,3 +272,8 @@ Check HTTP Response Body Json Schema Is ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} Log Json Schema Validation OK + +Check LINK in Header + ${linkURL}= Get Value From Json ${response.headers} $..Link + Should Not Be Empty ${linkURL} + diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index 6da4fc331..aabaac858 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -172,6 +172,32 @@ DELETE subscriptions - Method not implemented ... Post-Conditions: subscription not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 + +GET Subscriptions with Paged Response + [Documentation] Test ID: 6.3.4.4.11 + ... Test title: GET Subscriptions with Paged Response + ... Test objective: The objective is to retrieve the list of active subscriptions with a paged response + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: subscription is not deleted + Get subscriptions + Check HTTP Response Status Code Is 200 + Check LINK in Header + +GET subscriptions - Bad Request Response too Big + [Documentation] Test ID: 6.3.4.4.12 + ... Test title: GET subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that GET method fail retrieving list of active subscription because Response is too big, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions - invalid filter + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Post Create subscription @@ -286,4 +312,8 @@ Check HTTP Response Body Json Schema Is Should Contain ${response['headers']['Content-Type']} application/json ${schema} = Catenate SEPARATOR= ${input} .schema.json Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK \ No newline at end of file + Log Json Schema Validation OK + +Check LINK in Header + ${linkURL}= Get Value From Json ${response.headers} $..Link + Should Not Be Empty ${linkURL} \ No newline at end of file -- GitLab From 0e2641afa82e36d8dd7a6c9725e3598515b596ca Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 25 Mar 2020 14:13:05 +0500 Subject: [PATCH 3/5] Updated SOL references to 2.6.1 and fixed issues --- SOL002/VNFFaultManagement-API/Alarms.robot | 32 ++++++++--------- .../EscalatePerceivedSeverityTask.robot | 10 +++--- .../IndividualAlarm.robot | 14 ++++---- .../IndividualSubscription.robot | 10 +++--- .../NotificationEndpoint.robot | 6 ++-- .../Subscriptions.robot | 36 +++++++++---------- 6 files changed, 54 insertions(+), 54 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index ab1f810fa..c0eaa7ec6 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -12,7 +12,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -24,7 +24,7 @@ GET information about multiple alarms ... Test title: GET information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -37,7 +37,7 @@ GET information about multiple alarms with attribute-based filter ... Test title: GET information about multiple alarms with attribute-based filter ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -50,7 +50,7 @@ GET information about multiple alarms with invalid attribute-based filter ... Test title: GET information about multiple alarms with invalid attribute-based filter ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -63,7 +63,7 @@ GET information about multiple alarms with "all_fields" attribute selector ... Test title: GET information about multiple alarms with "all_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -76,7 +76,7 @@ GET information about multiple alarms with exclude_default attribute selector ... Test title: GET information about multiple alarms with "exclude_default" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -90,7 +90,7 @@ GET information about multiple alarms with fields attribute selector ... Test title: GET information about multiple alarms with fields attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -103,7 +103,7 @@ GET information about multiple alarms with "exclude_fields" attribute selector ... Test title: GET information about multiple alarms with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: - ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -116,7 +116,7 @@ PUT Alarms - Method not implemented ... Test title: PUT Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -128,7 +128,7 @@ PATCH Alarms - Method not implemented ... Test title: PATCH Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -140,19 +140,19 @@ DELETE Alarms - Method not implemented ... Test title: DELETE Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.2.3.6 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.6 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: the alarm is not deleted DELETE Alarms Task Check HTTP Response Status Code Is 405 -GET information about multiple alarms with Paged Response +GET information about multiple alarms to get Paged Response [Documentation] Test ID: 6.3.4.1.12 - ... Test title: GET information about multiple alarms with Paged Response - ... Test objective: The objective is to retrieve information about the alarms with a paged response + ... Test title: GET information about multiple alarms to get Paged Response + ... Test objective: The objective is to retrieve information about the alarms to get paged response ... Pre-conditions: - ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -165,7 +165,7 @@ GET information about multiple alarms for Bad Request Response too big ... Test title: GET information about multiple alarms for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about Alarms when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: - ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot index 6ec24fe08..f1e5544f1 100644 --- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot +++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot @@ -10,7 +10,7 @@ Escalate the perceived severity ... Test title: Escalate the perceived severity ... Test objective: To enable the consumer to escalate the perceived severity of an alarm that is represented by an individual alarm resource. ... Pre-conditions: The resource representing the individual alarm has been created - ... Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -22,7 +22,7 @@ GET Escalate the perceived severity - Method not implemented ... Test title: GET Escalate the perceived severity - Method not implemented ... Test objective: to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -34,7 +34,7 @@ PUT Escalate the perceived severity - Method not implemented ... Test title: PUT Escalate the perceived severity - Method not implemented ... Test objective: to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -46,7 +46,7 @@ PATCH Escalate the perceived severity - Method not implemented ... Test title: PATCH Escalate the perceived severity - Method not implemented ... Test objective: to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -59,7 +59,7 @@ DELETE Escalate the perceived severity - Method not implemented ... Test title: DELETE Escalate the perceived severity - Method not implemented ... Test objective: to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 06d25b5cd..9f54ddf9f 100644 --- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot @@ -18,7 +18,7 @@ POST Alarm - Method not implemented ... Test title: POST Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -31,7 +31,7 @@ GET information about an individual alarm ... Test title: GET information about an individual alarm ... Test objective: The objective is to read an individual alarm. ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -46,7 +46,7 @@ PUT Alarm - Method not implemented ... Test title: PUT Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -59,7 +59,7 @@ PATCH Alarm ... Test title: PATCH Alarm ... Test objective: The objective is to Modify an individual alarm resource ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -72,7 +72,7 @@ PATCH Alarm - Precondition failed ... Test title: PATCH Alarm - Precondition failed ... Test objective: The objective is to Modify an individual alarm resource ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: The alarm resource is not modified @@ -85,7 +85,7 @@ PATCH Alarm - Conflict ... Test title: PATCH Alarm - Conflict ... Test objective: The objective is to Modify an individual alarm resource ... Pre-conditions: The related alarm exists - ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: The alarm resource is not modified @@ -99,7 +99,7 @@ DELETE Alarm - Method not implemented ... Test title: DELETE Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: alarm not deleted diff --git a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot index a98869517..7f1f6cfe2 100644 --- a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot @@ -13,7 +13,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -25,7 +25,7 @@ GET Information about an individual subscription ... Test title: GET Information about an individual subscription ... Test objective: The objective is to read an individual subscription for VNF alarms subscribed by the client ... Pre-conditions: The subscription with the given id exists - ... Reference: clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -38,7 +38,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -51,7 +51,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -64,7 +64,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that the deletion of a subscription ... Pre-conditions: an existing subscription - ... Reference: clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: the subscription is deleted diff --git a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot index 2201f3d1b..36327a91d 100644 --- a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot @@ -15,7 +15,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Notification when a virtualised resource within an VNF instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Cleared Notification when a faulty virtualised resource within an VNF instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm List Rebuilt Notification when the VNFM decides to rebuild the list of its VNF alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index aabaac858..355e77ff2 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -11,7 +11,7 @@ Create a new subscription ... Test title: Create a new subscription ... Test objective: The objective is to create a new subscription. ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: subscription is created @@ -24,7 +24,7 @@ Create a new Subscription - DUPLICATION ... Test title: Create a new Subscription - DUPLICATION ... Test objective: The objective is to create a duplicate subscription. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM does not allow creation of a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created @@ -37,7 +37,7 @@ Create a new Subscription - NO-DUPLICATION ... Test title: Create a new Subscription - NO-DUPLICATION ... Test objective: The objective is to create a subscription in case of not allowed DUPLICATION. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: the VNFM does not allow creation of a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created @@ -49,7 +49,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: subscription is not deleted @@ -62,7 +62,7 @@ GET Subscription - Filter ... Test title: GET Subscription - Filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -75,7 +75,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -88,7 +88,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -101,7 +101,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -114,7 +114,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -127,7 +127,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -142,7 +142,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -154,7 +154,7 @@ PATCH subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: @@ -166,19 +166,19 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: - ... Reference: clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: subscription not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 -GET Subscriptions with Paged Response +GET Subscriptions to get Paged Response [Documentation] Test ID: 6.3.4.4.11 - ... Test title: GET Subscriptions with Paged Response - ... Test objective: The objective is to retrieve the list of active subscriptions with a paged response + ... Test title: GET Subscriptions to get Paged Response + ... Test objective: The objective is to retrieve the list of active subscriptions to get paged response ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: subscription is not deleted @@ -191,7 +191,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that GET method fail retrieving list of active subscription because Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: - ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: -- GitLab From bc967928ac50e5148d91b1d9d4c7f0f8f13fc268 Mon Sep 17 00:00:00 2001 From: uihassan Date: Fri, 27 Mar 2020 11:59:10 +0500 Subject: [PATCH 4/5] Added SOL002 Deltas #36,27 --- SOL002/VNFFaultManagement-API/Alarms.robot | 131 ++++++++++++++++++ .../Subscriptions.robot | 127 ++++++++++++++++- .../environment/variables.txt | 12 +- 3 files changed, 267 insertions(+), 3 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index c0eaa7ec6..31b90b1ab 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -172,6 +172,84 @@ GET information about multiple alarms for Bad Request Response too big GET Alarms Task with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails + +GET information about alarms with attribute-based filter "id" + [Documentation] Test ID: 6.3.4.1.14 + ... Test title: GET information about alarms with attribute-based filter "id" + ... Test objective: The objective is to retrieve information about the alarm list with alarm filter "id" + ... Pre-conditions: + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + +GET information about multiple alarms with attribute-based filter "vnfcInstanceIds" + [Documentation] Test ID: 6.3.4.1.15 + ... Test title: GET information about multiple alarms with attribute-based filter "vnfcInstanceIds" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "vnfcInstanceIds" + ... Pre-conditions: + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "vnfcInstanceIds" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + +GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType" + [Documentation] Test ID: 6.3.4.1.16 + ... Test title: GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "rootCauseFaultyResource.faultyResourceType" + ... Pre-conditions: + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "rootCauseFaultyResource.faultyResourceType" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + +GET information about multiple alarms with attribute-based filter "eventType" + [Documentation] Test ID: 6.3.4.1.17 + ... Test title: GET information about multiple alarms with attribute-based filter "eventType" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType" + ... Pre-conditions: + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "eventType" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + +GET information about multiple alarms with attribute-based filter "perceivedSeverity" + [Documentation] Test ID: 6.3.4.1.18 + ... Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity" + ... Pre-conditions: + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "perceivedSeverity" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms + +GET information about multiple alarms with attribute-based filter "probableCause" + [Documentation] Test ID: 6.3.4.1.19 + ... Test title: GET information about multiple alarms with attribute-based filter "probableCause" + ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause" + ... Pre-conditions: + ... Reference: clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + GET Alarms Task with filter "probableCause" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is alarms *** Keywords *** POST Alarms Task @@ -276,4 +354,57 @@ Check HTTP Response Body Json Schema Is Check LINK in Header ${linkURL}= Get Value From Json ${response.headers} $..Link Should Not Be Empty ${linkURL} + +GET Alarms Task with filter "id" + Log Query VNF The GET method queries information about multiple alarms with filters "id". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?id=${alarmId} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} +GET Alarms Task with filter "vnfcInstanceIds" + Log Query VNF The GET method queries information about multiple alarms with filters "vnfcInstanceIds". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?vnfcInstanceIds=${vnfcInstanceIds} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Alarms Task with filter "rootCauseFaultyResource.faultyResourceType" + Log Query VNF The GET method queries information about multiple alarms with filters "rootCauseFaultyResource.faultyResourceType". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?rootCauseFaultyResource.faultyResourceType=${faultyResourceType} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Alarms Task with filter "eventType" + Log Query VNF The GET method queries information about multiple alarms with filters "eventType". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?eventType=${eventType} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Alarms Task with filter "perceivedSeverity" + Log Query VNF The GET method queries information about multiple alarms with filters "perceivedSeverity". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?perceivedSeverity=${perceivedSeverity} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +GET Alarms Task with filter "probableCause" + Log Query VNF The GET method queries information about multiple alarms with filters "probableCause". + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Log Execute Query and validate response + Get ${apiRoot}/${apiName}/${apiVersion}/alarms?probableCause=${probableCause} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index 355e77ff2..fbfe353ad 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -199,6 +199,83 @@ GET subscriptions - Bad Request Response too Big Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails +GET Subscription with attribute-based filter "id" + [Documentation] Test ID: 6.3.4.4.13 + ... Test title: GET Subscription with attribute-based filter "id" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "id" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + +Get subscriptions with filter "filter.notificationTypes" + [Documentation] Test ID: 6.3.4.4.14 + ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "notificationTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + +Get subscriptions with filter "filter.faultyResourceTypes" + [Documentation] Test ID: 6.3.4.4.15 + ... Test title: GET Subscription with attribute-based filter "filter.faultyResourceTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter.faultyResourceTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + +Get subscriptions with filter "filter.perceivedSeverities" + [Documentation] Test ID: 6.3.4.4.16 + ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter.perceivedSeverities" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + +Get subscriptions with filter "filter.eventTypes" + [Documentation] Test ID: 6.3.4.4.17 + ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter.eventTypes" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions + +Get subscriptions with filter "filter.probableCauses" + [Documentation] Test ID: 6.3.4.4.18 + ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" + ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" + ... Pre-conditions: + ... Reference: clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v2.6.1 + ... Config ID: Config_prod_VNFM + ... Applicability: + ... Post-Conditions: + Get subscriptions with filter "filter.probableCauses" + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is FmSubscriptions *** Keywords *** Post Create subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -316,4 +393,52 @@ Check HTTP Response Body Json Schema Is Check LINK in Header ${linkURL}= Get Value From Json ${response.headers} $..Link - Should Not Be Empty ${linkURL} \ No newline at end of file + Should Not Be Empty ${linkURL} + +Get subscriptions with filter "id" + Log Get the list of active subscriptions using a filter "id" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?id=${subscription_id} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get subscriptions with filter "filter.notificationTypes" + Log Get the list of active subscriptions using a filter "filter.notificationTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.notificationTypes=${notification_type} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get subscriptions with filter "filter.faultyResourceTypes" + Log Get the list of active subscriptions using a filter "filter.faultyResourceTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.faultyResourceTypes=${faultyResourceType} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get subscriptions with filter "filter.perceivedSeverities" + Log Get the list of active subscriptions using a filter "filter.perceivedSeverities" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.perceivedSeverities=${perceivedSeverity} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get subscriptions with filter "filter.eventTypes" + Log Get the list of active subscriptions using a filter "filter.eventTypes" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.eventTypes=${eventType} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} + +Get subscriptions with filter "filter.probableCauses" + Log Get the list of active subscriptions using a filter "filter.probableCauses" + Set Headers {"Accept": "${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.probableCauses=${probableCause} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/environment/variables.txt b/SOL002/VNFFaultManagement-API/environment/variables.txt index 4a93fafa9..c5a291949 100644 --- a/SOL002/VNFFaultManagement-API/environment/variables.txt +++ b/SOL002/VNFFaultManagement-API/environment/variables.txt @@ -36,7 +36,6 @@ ${callback_endpoint_error} /endpoint_404 ${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec - ${notification_request} [] ${notification_response} [] @@ -48,4 +47,13 @@ ${AlarmListRebuiltNotification} {} ${fields} softwareImages,additionalArtifacts -${response}= httpresponse \ No newline at end of file +${response}= httpresponse + +${vnfcInstanceIds} +${faultyResourceType} COMPUTE +${eventType} COMMUNICATIONS_ALARM +${perceivedSeverity} CRITICAL +${probableCause} + +${subscription_id} +${notification_type} AlarmNotification \ No newline at end of file -- GitLab From 86b5d4c4efd1994c462bc6d7c082c8c8f76ff671 Mon Sep 17 00:00:00 2001 From: uihassan Date: Fri, 17 Apr 2020 16:49:13 +0500 Subject: [PATCH 5/5] Added Post-Conditions --- SOL002/VNFFaultManagement-API/Alarms.robot | 43 +++++++++++-- .../Subscriptions.robot | 60 +++++++++++++++---- .../environment/variables.txt | 2 +- 3 files changed, 88 insertions(+), 17 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index 31b90b1ab..d04e45bef 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -5,6 +5,7 @@ Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} Library JSONLibrary Library JSONSchemaLibrary schemas/ Library OperatingSystem +Library Collections *** Test Cases *** POST Alarms - Method not implemented @@ -184,7 +185,8 @@ GET information about alarms with attribute-based filter "id" ... Post-Conditions: GET Alarms Task with filter "id" Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms + Check HTTP Response Body Json Schema Is alarm + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id" GET information about multiple alarms with attribute-based filter "vnfcInstanceIds" [Documentation] Test ID: 6.3.4.1.15 @@ -198,6 +200,7 @@ GET information about multiple alarms with attribute-based filter "vnfcInstanceI GET Alarms Task with filter "vnfcInstanceIds" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "vnfcInstanceIds" GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType" [Documentation] Test ID: 6.3.4.1.16 @@ -208,9 +211,10 @@ GET information about multiple alarms with attribute-based filter "rootCauseFaul ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: - GET Alarms Task with filter "rootCauseFaultyResource.faultyResourceType" + GET Alarms Task with filter "rootCauseFaultyResource_faultyResourceType" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyResource_faultyResourceType" GET information about multiple alarms with attribute-based filter "eventType" [Documentation] Test ID: 6.3.4.1.17 @@ -224,6 +228,7 @@ GET information about multiple alarms with attribute-based filter "eventType" GET Alarms Task with filter "eventType" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" GET information about multiple alarms with attribute-based filter "perceivedSeverity" [Documentation] Test ID: 6.3.4.1.18 @@ -237,6 +242,7 @@ GET information about multiple alarms with attribute-based filter "perceivedSeve GET Alarms Task with filter "perceivedSeverity" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" GET information about multiple alarms with attribute-based filter "probableCause" [Documentation] Test ID: 6.3.4.1.19 @@ -250,6 +256,7 @@ GET information about multiple alarms with attribute-based filter "probableCause GET Alarms Task with filter "probableCause" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is alarms + Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" *** Keywords *** POST Alarms Task @@ -363,6 +370,9 @@ GET Alarms Task with filter "id" Get ${apiRoot}/${apiName}/${apiVersion}/alarms?id=${alarmId} ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "id" + Should Be Equal As Strings ${response['body']['id']} ${alarmId} GET Alarms Task with filter "vnfcInstanceIds" Log Query VNF The GET method queries information about multiple alarms with filters "vnfcInstanceIds". @@ -373,7 +383,12 @@ GET Alarms Task with filter "vnfcInstanceIds" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -GET Alarms Task with filter "rootCauseFaultyResource.faultyResourceType" +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "vnfcInstanceIds" + :FOR ${item} IN @{response['body']} + Lists Should Be Equal ${item['vnfcInstanceIds']} ${vnfcInstanceIds} + END + +GET Alarms Task with filter "rootCauseFaultyResource_faultyResourceType" Log Query VNF The GET method queries information about multiple alarms with filters "rootCauseFaultyResource.faultyResourceType". Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -382,6 +397,11 @@ GET Alarms Task with filter "rootCauseFaultyResource.faultyResourceType" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "rootCauseFaultyResource_faultyResourceType" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['rootCauseFaultyResource']['faultyResourceType']} ${faultyResourceType} + END + GET Alarms Task with filter "eventType" Log Query VNF The GET method queries information about multiple alarms with filters "eventType". Set Headers {"Accept":"${ACCEPT}"} @@ -391,6 +411,11 @@ GET Alarms Task with filter "eventType" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "eventType" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['eventType']} ${eventType} + END + GET Alarms Task with filter "perceivedSeverity" Log Query VNF The GET method queries information about multiple alarms with filters "perceivedSeverity". Set Headers {"Accept":"${ACCEPT}"} @@ -400,6 +425,11 @@ GET Alarms Task with filter "perceivedSeverity" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "perceivedSeverity" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['perceivedSeverity']} ${perceivedSeverity} + END + GET Alarms Task with filter "probableCause" Log Query VNF The GET method queries information about multiple alarms with filters "probableCause". Set Headers {"Accept":"${ACCEPT}"} @@ -407,4 +437,9 @@ GET Alarms Task with filter "probableCause" Log Execute Query and validate response Get ${apiRoot}/${apiName}/${apiVersion}/alarms?probableCause=${probableCause} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable @{response} ${outputResponse} + +Check PostCondition HTTP Response Body alarms Matches the requested attribute-based filter "probableCause" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['probableCause']} ${probableCause} + END \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index fbfe353ad..e2011692b 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -210,7 +210,9 @@ GET Subscription with attribute-based filter "id" ... Post-Conditions: Get subscriptions with filter "id" Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is FmSubscription + Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + Get subscriptions with filter "filter.notificationTypes" [Documentation] Test ID: 6.3.4.4.14 @@ -221,9 +223,10 @@ Get subscriptions with filter "filter.notificationTypes" ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: - Get subscriptions with filter "notificationTypes" + Get subscriptions with filter "filter_notificationTypes" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" Get subscriptions with filter "filter.faultyResourceTypes" [Documentation] Test ID: 6.3.4.4.15 @@ -234,9 +237,10 @@ Get subscriptions with filter "filter.faultyResourceTypes" ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: - Get subscriptions with filter "filter.faultyResourceTypes" + Get subscriptions with filter "filter_faultyResourceTypes" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" Get subscriptions with filter "filter.perceivedSeverities" [Documentation] Test ID: 6.3.4.4.16 @@ -247,9 +251,10 @@ Get subscriptions with filter "filter.perceivedSeverities" ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: - Get subscriptions with filter "filter.perceivedSeverities" + Get subscriptions with filter "filter_perceivedSeverities" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" Get subscriptions with filter "filter.eventTypes" [Documentation] Test ID: 6.3.4.4.17 @@ -260,9 +265,10 @@ Get subscriptions with filter "filter.eventTypes" ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: - Get subscriptions with filter "filter.eventTypes" + Get subscriptions with filter "filter_eventTypes" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" Get subscriptions with filter "filter.probableCauses" [Documentation] Test ID: 6.3.4.4.18 @@ -273,9 +279,11 @@ Get subscriptions with filter "filter.probableCauses" ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: - Get subscriptions with filter "filter.probableCauses" + Get subscriptions with filter "filter_probableCauses" Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is FmSubscriptions + Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" + *** Keywords *** Post Create subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions @@ -403,7 +411,10 @@ Get subscriptions with filter "id" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get subscriptions with filter "filter.notificationTypes" +Check PostCondition HTTP Response Body Subscription Matches the requested attribute-based filter "id" + Should Be Equal As Strings ${response['body']['id']} ${subscription_id} + +Get subscriptions with filter "filter_notificationTypes" Log Get the list of active subscriptions using a filter "filter.notificationTypes" Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -411,7 +422,12 @@ Get subscriptions with filter "filter.notificationTypes" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get subscriptions with filter "filter.faultyResourceTypes" +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_notificationTypes" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['notificationTypes']} ${notification_type} + END + +Get subscriptions with filter "filter_faultyResourceTypes" Log Get the list of active subscriptions using a filter "filter.faultyResourceTypes" Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -419,7 +435,12 @@ Get subscriptions with filter "filter.faultyResourceTypes" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get subscriptions with filter "filter.perceivedSeverities" +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_faultyResourceTypes" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['faultyResourceTypes']} ${faultyResourceType} + END + +Get subscriptions with filter "filter_perceivedSeverities" Log Get the list of active subscriptions using a filter "filter.perceivedSeverities" Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -427,7 +448,12 @@ Get subscriptions with filter "filter.perceivedSeverities" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get subscriptions with filter "filter.eventTypes" +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_perceivedSeverities" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['perceivedSeverities']} ${perceivedSeverity} + END + +Get subscriptions with filter "filter_eventTypes" Log Get the list of active subscriptions using a filter "filter.eventTypes" Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} @@ -435,10 +461,20 @@ Get subscriptions with filter "filter.eventTypes" ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Get subscriptions with filter "filter.probableCauses" +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_eventTypes" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['eventTypes']} ${eventType} + END + +Get subscriptions with filter "filter_probableCauses" Log Get the list of active subscriptions using a filter "filter.probableCauses" Set Headers {"Accept": "${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions?filter.probableCauses=${probableCause} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable @{response} ${outputResponse} + +Check PostCondition HTTP Response Body Subscriptions Matches the requested attribute-based filter "filter_probableCauses" + :FOR ${item} IN @{response['body']} + Should Be Equal As Strings ${item['filter']['probableCauses']} ${probableCause} + END \ No newline at end of file diff --git a/SOL002/VNFFaultManagement-API/environment/variables.txt b/SOL002/VNFFaultManagement-API/environment/variables.txt index c5a291949..87d598780 100644 --- a/SOL002/VNFFaultManagement-API/environment/variables.txt +++ b/SOL002/VNFFaultManagement-API/environment/variables.txt @@ -49,7 +49,7 @@ ${fields} softwareImages,additionalArtifacts ${response}= httpresponse -${vnfcInstanceIds} +${vnfcInstanceIds} [] ${faultyResourceType} COMPUTE ${eventType} COMMUNICATIONS_ALARM ${perceivedSeverity} CRITICAL -- GitLab