From a35e1c095acce237eed0a689de8125b0ff2d1171 Mon Sep 17 00:00:00 2001 From: ETSI CTI Date: Tue, 18 Feb 2020 15:56:03 +0100 Subject: [PATCH 01/27] 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 698545da81e08207638fcec5c9aeb2094e96a228 Mon Sep 17 00:00:00 2001 From: Najam UI Hassan Date: Mon, 20 Jan 2020 08:42:30 +0100 Subject: [PATCH 02/27] Update requirements.txt --- requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.txt b/requirements.txt index 6555fbf2f..7ec119049 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,7 @@ ## To install the libraries, use: # pip -r requirements.txt + robotframework==3.1 RESTinstance==1.0.0rc4 robotframework-dependencylibrary==1.0.0.post1 -- GitLab From 722f6a491fbdaf09d3aa9fe11503e382cc5bad1c Mon Sep 17 00:00:00 2001 From: root Date: Thu, 23 Jan 2020 11:22:42 +0500 Subject: [PATCH 03/27] Bug Fixed --- SOL002/VNFFaultManagement-API/IndividualAlarm.robot | 2 +- SOL002/VNFFaultManagement-API/Subscriptions.robot | 12 ++++++++++-- .../IndividualVNFInstance.robot | 6 +----- .../VnfLcmOperationOccurences.robot | 8 ++++---- SOL005/NSDManagement-API/PNFDContent.robot | 4 ++-- .../ContinueOperationTask.robot | 12 ++++++------ SOL005/NSLifecycleManagement-API/Subscriptions.robot | 6 +++--- 7 files changed, 27 insertions(+), 23 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 06d25b5cd..68cda0982 100644 --- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot @@ -70,7 +70,7 @@ PATCH Alarm PATCH Alarm - Precondition failed [Documentation] Test ID: 6.3.4.2.5 ... Test title: PATCH Alarm - Precondition failed - ... Test objective: The objective is to Modify an individual alarm resource + ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met ... Pre-conditions: The related alarm exists ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index 6da4fc331..ea28925cc 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -14,10 +14,11 @@ Create a new subscription ... Reference: clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: subscription is created + ... Post-Conditions: Resource created successfully Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is FmSubscription + Check resource existance Create a new Subscription - DUPLICATION [Documentation] Test ID: 6.3.4.4.2 @@ -286,4 +287,11 @@ 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 resource existance + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + Integer response status 200 + diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 9faeab3c1..2f85514b5 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -37,7 +37,6 @@ GET Information about an individual VNF Instance GET individual vnfInstance Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is vnfInstance - SET etag PUT Individual VNFInstance - Method not implemented [Documentation] Test ID: 6.3.5.2.3 @@ -136,7 +135,4 @@ Launch another LCM operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfToLevelRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} - Integer response status 202 -SET etag - ${etag} Output response headers ETag - Set Suite Variable ${original_etag} ${etag} + Integer response status 202 diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index c9af09e79..fe980a5e9 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -112,7 +112,7 @@ GET status information about multiple VNF LCM Operation OCC with "exclude_fields Check HTTP Response Body Json Schema Is VnfLcmOpOccs PUT status information about multiple VNF LCM operation occurrences - Method not implemented - [Documentation] Test ID: 6.3.5.11.5 + [Documentation] Test ID: 6.3.5.11.9 ... Test title: PUT status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none @@ -124,7 +124,7 @@ PUT status information about multiple VNF LCM operation occurrences - Method not Check HTTP Response Status Code Is 405 PATCH status information about multiple VNF LCM operation occurrences - Method not implemented - [Documentation] Test ID: 6.3.5.11.6 + [Documentation] Test ID: 6.3.5.11.10 ... Test title: PATCH status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none @@ -136,7 +136,7 @@ PATCH status information about multiple VNF LCM operation occurrences - Method n Check HTTP Response Status Code Is 405 DELETE status information about multiple VNF LCM operation occurrences - Method not implemented - [Documentation] Test ID: 6.3.5.11.7 + [Documentation] Test ID: 6.3.5.11.11 ... Test title: DELETE status information about multiple VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none @@ -145,4 +145,4 @@ DELETE status information about multiple VNF LCM operation occurrences - Method ... Applicability: none ... Post-Conditions: none DELETE VNF LCM OP occurrences - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 diff --git a/SOL005/NSDManagement-API/PNFDContent.robot b/SOL005/NSDManagement-API/PNFDContent.robot index ae0ac9706..a3b3458bf 100644 --- a/SOL005/NSDManagement-API/PNFDContent.robot +++ b/SOL005/NSDManagement-API/PNFDContent.robot @@ -53,7 +53,7 @@ Upload PNFD Content as plain text file ... Test title: Upload PNFD Content as plain text file ... Test objective: The objective is to test the upload of a PNFD Content in plain text format. ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. - ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The uploaded PNFD content is available in the NFVO @@ -67,7 +67,7 @@ Upload PNFD Content with conflict due to onboarding state ... Test title: Upload PNFD Content with conflict due to onboarding state ... Test objective: The objective is to test that the upload of the PNFD Content fails due to a conflict when the PNFD is not in onboarding state CREATED in the NFVO. The test also performs a validation of the JSON schema validation of the failed operation HTTP response ... Pre-conditions: The onboarding state of the PNFD for which the PNFD Content is requested is different from CREATED. - ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 5.4.7.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none diff --git a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot index 2d9f11583..034b36497 100644 --- a/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot +++ b/SOL005/NSLifecycleManagement-API/ContinueOperationTask.robot @@ -60,7 +60,7 @@ GET Continue operation task - Method not implemented Check HTTP Response Status Code Is 405 PUT Continue operation task - Method not implemented - [Documentation] Test ID: 5.3.2.13.5 + [Documentation] Test ID: 5.3.2.12.5 ... Test title: PUT Continue operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none @@ -72,11 +72,11 @@ PUT Continue operation task - Method not implemented Check HTTP Response Status Code Is 405 PATCH Continue operation task - Method not implemented - [Documentation] Test ID: 5.3.2.13.5 + [Documentation] Test ID: 5.3.2.12.6 ... Test title: PATCH Continue operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.13.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -84,11 +84,11 @@ PATCH Continue operation task - Method not implemented Check HTTP Response Status Code Is 405 DELETE Continue operation task - Method not implemented - [Documentation] Test ID: 5.3.2.13.5 + [Documentation] Test ID: 5.3.2.12.7 ... Test title: DELETE Continue operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.14.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.13.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -96,4 +96,4 @@ DELETE Continue operation task - Method not implemented Check HTTP Response Status Code Is 405 - \ No newline at end of file + diff --git a/SOL005/NSLifecycleManagement-API/Subscriptions.robot b/SOL005/NSLifecycleManagement-API/Subscriptions.robot index a7235f29f..c6343a169 100644 --- a/SOL005/NSLifecycleManagement-API/Subscriptions.robot +++ b/SOL005/NSLifecycleManagement-API/Subscriptions.robot @@ -141,7 +141,7 @@ GET subscriptions with "exclude_fields" attribute selector Check HTTP Response Body Json Schema Is FmSubscriptions PUT subscriptions - Method not implemented - [Documentation] Test ID: 5.3.2.15.7 + [Documentation] Test ID: 5.3.2.15.11 ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none @@ -153,7 +153,7 @@ PUT subscriptions - Method not implemented Check HTTP Response Status Code Is 405 PATCH subscriptions - Method not implemented - [Documentation] Test ID: 5.3.2.15.8 + [Documentation] Test ID: 5.3.2.15.12 ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method cannot modify a NS lifecycle management subscription ... Pre-conditions: none @@ -165,7 +165,7 @@ PATCH subscriptions - Method not implemented Check HTTP Response Status Code Is 405 DELETE subscriptions - Method not implemented - [Documentation] Test ID: 5.3.2.15.9 + [Documentation] Test ID: 5.3.2.15.13 ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method cannot modify a NS lifecycle management subscription ... Pre-conditions: none -- GitLab From 02145d843a099e6ebf7e02431dfbcfdfcc51c166 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 24 Jan 2020 13:07:37 +0500 Subject: [PATCH 04/27] bug-fixes --- .../IndividualVNFInstance.robot | 2 +- .../VNFLifecycleManagement-API/Subscriptions.robot | 6 +++--- .../IndividualVNFInstance.robot | 6 +++--- .../VNFLifecycleManagement-API/ScaleVNFTask.robot | 7 ++++--- .../ScaleVNFToLevelTask.robot | 7 ++++--- .../TerminateVNFTask.robot | 4 ++-- .../VNFLifecycleManagement-API/VNFInstances.robot | 13 ++++++++----- .../VnfLcmMntOperationKeywords.robot | 6 +++++- .../VNFLifecycleOperationGranting-API/Grants.robot | 7 ++++--- .../CreateNSInstanceWorkflow.robot | 2 +- .../DeleteNSInstanceWorkflow.robot | 4 ++-- .../HealNSTaskWorkflow.robot | 2 +- .../InstanciateNSTaskWorkflow.robot | 2 +- .../ScaleNSTaskWorkflow.robot | 2 +- .../TerminateNSTaskWorkflow.robot | 2 +- .../UpdateNSTaskWorkflow.robot | 2 +- 16 files changed, 42 insertions(+), 32 deletions(-) diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 2f85514b5..c2db6cbb3 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -67,7 +67,7 @@ PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 6.3.5.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to create a new VNF instance resource - ... Pre-conditions: A precondition given in an HTTP request header is not fulfilled. Typically, this is due to an ETag mismatch, indicating that the resource was modified by another entity + ... Pre-conditions: VNF Instance is Created ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE ... Applicability: diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index d36fd9da2..05fbdda02 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -27,7 +27,7 @@ POST Create a new Subscription - DUPLICATION ... Pre-conditions: none ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE - ... Applicability: none + ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null ... POST Cancel operation task Post Create subscription - DUPLICATION @@ -41,7 +41,7 @@ POST Create a new Subscription - NO-DUPLICATION ... Pre-conditions: none ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE - ... Applicability: none + ... Applicability: SUT should not support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null ... POST Cancel operation task Post Create subscription - NO-DUPLICATION @@ -170,7 +170,7 @@ DELETE subscriptions - Method not implemented ... Reference: clause 5.4.18.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: check that resources are not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index a0de19877..f60fef9e7 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -37,7 +37,6 @@ Get Information about an individual VNF Instance GET individual vnfInstance Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is vnfInstance - SET etag PUT Individual VNFInstance - Method not implemented [Documentation] Test ID: 7.3.1.2.3 @@ -68,7 +67,7 @@ PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 7.3.1.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to create a new VNF instance resource - ... Pre-conditions: ETag mismatch + ... Pre-conditions: VNF Instance created (Test ID 7.3.1.2.2) ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: @@ -110,10 +109,11 @@ DELETE Individual VNFInstance Conflict ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: Resources are not deleted DELETE individual vnfInstance Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails + Check resource existence *** Keywords *** Check resource existence diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot index 6d5d5e302..2ec765914 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot @@ -13,7 +13,7 @@ POST Scale a vnfInstance [Documentation] Test ID: 7.3.1.4.1 ... Test title: POST Scale a vnfInstance ... Test objective: The objective is to scale a VNF instance - ... Pre-conditions: none + ... Pre-conditions: VNF instance resource is in INSTANTIATED state ... Reference: clause 5.4.5.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: @@ -94,9 +94,10 @@ DELETE Scale VNFInstance - Method not implemented ... Reference: clause 5.4.5.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: Resource are not deleted DELETE Scale vnfInstance Check HTTP Response Status Code Is 405 + Check resource existence *** Keywords *** Check resource existence @@ -126,4 +127,4 @@ Launch another LCM operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfToLevelRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} - Integer response status 202 \ No newline at end of file + Integer response status 202 diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index 6fa08f91f..17db5612f 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -12,7 +12,7 @@ POST Scale a vnfInstance to level [Documentation] Test ID: 7.3.1.5.1 ... Test title: POST Scale a vnfInstance to level ... Test objective: The objective is to scale a VNF instance to a target level. - ... Pre-conditions: none + ... Pre-conditions: VNF is Instantiated ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: @@ -95,9 +95,10 @@ DELETE Scale to level VNFInstance - Method not implemented ... Reference: clause 5.4.6.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: Resources are not deleted DELETE Scale vnfInstance to level Check HTTP Response Status Code Is 405 + Check resource existence *** Keywords *** Check resource existence @@ -127,4 +128,4 @@ Launch another LCM operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} - Integer response status 202 \ No newline at end of file + Integer response status 202 diff --git a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot index a4f2fe2cd..fee746276 100644 --- a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -13,7 +13,7 @@ POST Terminate a vnfInstance [Documentation] Test ID: 7.3.1.7.1 ... Test title: POST Terminate a vnfInstance ... Test objective: The objective is to test that POST method terminate a VNF instance - ... Pre-conditions: none + ... Pre-conditions: Resource state is INSTANTIATED ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: none @@ -112,4 +112,4 @@ Launch another LCM operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} - Integer response status 202 \ No newline at end of file + Integer response status 202 diff --git a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot index e0b5a40b5..b0729e238 100644 --- a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot +++ b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot @@ -102,7 +102,7 @@ GET information about multiple VNF instances with "fields" attribute selector Check HTTP Response Body Json Schema Is vnfInstances GET information about multiple VNF instances with "exclude_fields" attribute selector - [Documentation] Test ID: 7.3.1.1.7 + [Documentation] Test ID: 7.3.1.1.8 ... Test title: GET information about multiple VNF instances with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: @@ -115,7 +115,7 @@ GET information about multiple VNF instances with "exclude_fields" attribute sel Check HTTP Response Body Json Schema Is vnfInstances PUT multiples VNFInstances - Method not implemented - [Documentation] Test ID: 7.3.1.1.5 + [Documentation] Test ID: 7.3.1.1.9 ... Test title: PUT multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: @@ -127,7 +127,7 @@ PUT multiples VNFInstances - Method not implemented Check HTTP Response Status Code Is 405 PATCH multiples VNFInstances - Method not implemented - [Documentation] Test ID: 7.3.1.1.6 + [Documentation] Test ID: 7.3.1.1.10 ... Test title: PATCH multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: @@ -139,13 +139,16 @@ PATCH multiples VNFInstances - Method not implemented Check HTTP Response Status Code Is 405 DELETE VNFInstances - Method not implemented - [Documentation] Test ID: 7.3.1.1.7 + [Documentation] Test ID: 7.3.1.1.11 ... Test title: DELETE multiples VNFInstances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: ... Reference: clause 5.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: - ... Post-Conditions: + ... Post-Conditions: resources are not deleted DELETE multiple vnfInstances Check HTTP Response Status Code Is 405 + Verify Resources not Deleted + + diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot index f94a5510c..c3f4267a8 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot @@ -1147,4 +1147,8 @@ GET test endpoint Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Verify Mock Expectation ${req} - Clear Requests ${callback_endpoint} \ No newline at end of file + Clear Requests ${callback_endpoint} +Verify Resources not Deleted + GET multiple vnfInstances + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfInstances \ No newline at end of file diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index c9abf0d88..c3e012431 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -47,7 +47,7 @@ Requests a grant for a particular VNF lifecycle operation - Forbidden [Documentation] Test ID: 7.3.2.1.3 ... Test title: Requests a grant for a particular VNF lifecycle operation - Forbidden ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and check the content of the problem details data structure returned - ... Pre-conditions: The grant should not be accorded + ... Pre-conditions: none ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none @@ -100,9 +100,10 @@ DELETE Grants - Method not implemented ... Reference: clause 9.4.2.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: resources are not deleted Delete Grants Check HTTP Response Status Code Is 405 + Get an individual grant - Successful *** Keywords *** Wait for individual grant successful notification @@ -214,4 +215,4 @@ Delete Grants ${body}= Output response Set Suite Variable &{response} ${body} - \ No newline at end of file + diff --git a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot index db919f10f..348e7e873 100644 --- a/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/CreateNSInstanceWorkflow.robot @@ -10,7 +10,7 @@ Library JSONSchemaLibrary schemas/ *** Test Cases *** NS Instance Creation - [Documentation] Test ID: 5.3.2.17 + [Documentation] Test ID: 5.3.2.18.1 ... Test title: NS Instance Creation ... Test objective: The objective is to test the workflow for Creating a NS instance ... Pre-conditions: none diff --git a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot index 38ca80c7f..157fd6639 100644 --- a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot @@ -8,14 +8,14 @@ Library JSONSchemaLibrary schemas/ *** Test Cases *** NS Instance Deletion - [Documentation] Test ID: 5.3.2.18 + [Documentation] Test ID: 5.3.2.18.2 ... Test title: NS Instance Deletion ... Test objective: The objective is to test the workflow for Deleting a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state ... Reference: clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: Resource should be deleted Check resource not_instantiated DELETE IndividualNSInstance Check HTTP Response Status Code Is 204 diff --git a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot index 5f9018bb4..f6fbfad56 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot @@ -10,7 +10,7 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Heal Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.19 + [Documentation] Test ID: 5.3.2.18.3 ... Test title: Heal Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Healing a NS instance ... Pre-conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot index 8535a8a82..2ef539a46 100644 --- a/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/InstanciateNSTaskWorkflow.robot @@ -10,7 +10,7 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Instantiate Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.20 + [Documentation] Test ID: 5.3.2.18.4 ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot index eb1445037..2624d9949 100644 --- a/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/ScaleNSTaskWorkflow.robot @@ -10,7 +10,7 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Scale Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.21 + [Documentation] Test ID: 5.3.2.18.5 ... Test title: Instantiate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Instantiate a NS instance ... Pre-conditions: the resource is in NOT_INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot index 05681f5cc..383cec244 100644 --- a/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/TerminateNSTaskWorkflow.robot @@ -10,7 +10,7 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Terminate Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.22 + [Documentation] Test ID: 5.3.2.18.6 ... Test title: Terminate Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Terminate a NS instance ... Pre-conditions: the resource is in INSTANTIATED state diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot index 844a85b8d..de681d761 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTaskWorkflow.robot @@ -10,7 +10,7 @@ Suite Teardown Terminate All Processes kill=true *** Test Cases *** Update Flow of NS lifecycle management operations - [Documentation] Test ID: 5.3.2.23 + [Documentation] Test ID: 5.3.2.18.7 ... Test title: Update Flow of NS lifecycle management operations ... Test objective: The objective is to test the workflow for Update a NS instance ... Pre-conditions: the resource is in INSTANTIATED state -- GitLab From a41456b942682a5606689ff9223f355cd5d26b95 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 24 Jan 2020 16:20:10 +0500 Subject: [PATCH 05/27] bug-fixes --- SOL002/VNFFaultManagement-API/Subscriptions.robot | 2 +- .../FaultManagement-APIKeyword.robot | 6 ++++++ SOL003/VNFFaultManagement-API/Subscriptions.robot | 2 ++ .../VnfLcmMntOperationKeywords.robot | 12 ++++++++---- .../DeleteNSInstanceWorkflow.robot | 3 ++- .../NSLCMOperationKeywords.robot | 7 +++++++ 6 files changed, 26 insertions(+), 6 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index ea28925cc..718ed29b5 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -292,6 +292,6 @@ Check HTTP Response Body Json Schema Is Check resource existance Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions//${response['body']['id']} Integer response status 200 diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index fb8d10c4a..736d8d775 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -12,6 +12,12 @@ Library Process ${original_etag} 1234 *** Keywords *** +Check created Subscription existance + ${subscriptionId} = ${response['body']['id']} + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + Integer response status 200 Check Operation Occurrence Id ${opOccId}= Get Value From Json ${response.headers} $..Location Should Not Be Empty ${opOccId} diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index 8b12d1afb..e85bdc4eb 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -21,6 +21,7 @@ Create a new Fault Management alarm subscription Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription + Check created Subscription existance Create a new alarm subscription - DUPLICATION @@ -50,6 +51,7 @@ Create a new alarm subscription - NO DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription + Check created Subscription existance Retrieve a list of alarm subscriptions [Documentation] Test ID: 7.3.5.3.4 diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot index c3f4267a8..a1adf8ee6 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot @@ -1148,7 +1148,11 @@ GET test endpoint Sleep ${sleep_interval} Verify Mock Expectation ${req} Clear Requests ${callback_endpoint} -Verify Resources not Deleted - GET multiple vnfInstances - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is vnfInstances \ No newline at end of file +Verify Resources not Deleted + log Trying to get information about an individual VNF instance + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${response['body']['id']} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot index 157fd6639..6bb18c9c6 100644 --- a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot @@ -19,4 +19,5 @@ NS Instance Deletion Check resource not_instantiated DELETE IndividualNSInstance Check HTTP Response Status Code Is 204 - Check HTTP Response Body Json Schema Is NsIdentifierDeletionNotification \ No newline at end of file + Check HTTP Response Body Json Schema Is NsIdentifierDeletionNotification + Check Instance Deleted \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index fee832556..7e9b0b31b 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -30,6 +30,13 @@ Check subscription existence Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} Integer response status 200 +Check Instance Deleted + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 400 + Check Fail not supported Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/ns_lcm_op_occs/${nsLcmOpOccId} -- GitLab From d1f7d3ac74d9c43f7fe9c7ce26f2379500b661ca Mon Sep 17 00:00:00 2001 From: root Date: Mon, 27 Jan 2020 12:36:28 +0500 Subject: [PATCH 06/27] bug-fixes --- SOL002/VNFFaultManagement-API/Subscriptions.robot | 2 +- SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot | 2 +- SOL003/VNFLifecycleOperationGranting-API/Grants.robot | 3 --- SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index 718ed29b5..f3c2f078d 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -292,6 +292,6 @@ Check HTTP Response Body Json Schema Is Check resource existance Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions//${response['body']['id']} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${response['body']['id']} Integer response status 200 diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index f60fef9e7..1fd4b2c05 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -67,7 +67,7 @@ PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 7.3.1.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to create a new VNF instance resource - ... Pre-conditions: VNF Instance created (Test ID 7.3.1.2.2) + ... Pre-conditions: VNF Instance is created (Test ID 7.3.1.2.2) ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index c3e012431..061e24fb1 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -178,9 +178,6 @@ Get an individual grant - Successful Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 - ${result} Output response body - Validate Json grant.schema.json ${result} - Log Validation OK Get Grants Log Trying to perform a GET. This method should not be implemented diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index 7e9b0b31b..00642dfa8 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -35,7 +35,7 @@ Check Instance Deleted Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} - Integer response status 400 + Integer response status 404 Check Fail not supported Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} -- GitLab From 6bb58542172bd27bbf2d3c86404dfbd392dd75a9 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 Jan 2020 10:49:31 +0500 Subject: [PATCH 07/27] Bug #24 fixed --- .../FaultManagement-APIKeyword.robot | 12 ++++++++++++ SOL003/VNFFaultManagement-API/Subscriptions.robot | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 736d8d775..14a1c93d3 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -68,6 +68,18 @@ Check HTTP Response Header ContentType is Should Be Equal ${response[0]['headers']['Content-Type']} ${expected_contentType} Log Content Type validated +Check Postcondition Subscription Resource Returned in Location Header Is Available + Log Going to check postcondition + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${response['headers']['Location']} + Integer response status 200 + Log Received a 200 OK as expected + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json FMSubscription.schema.json ${result} + Log Validated FMSubscription schema + Send POST request for fault management Alarms log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index e85bdc4eb..9892d09dc 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -37,6 +37,7 @@ Create a new alarm subscription - DUPLICATION Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription + Check created Subscription existance Create a new alarm subscription - NO DUPLICATION [Documentation] Test ID: 7.3.5.3.3 @@ -50,8 +51,7 @@ Create a new alarm subscription - NO DUPLICATION POST Subscription Duplication not permitted Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - Check HTTP Response Body Json Schema Is FmSubscription - Check created Subscription existance + Check Postcondition Subscription Resource Returned in Location Header Is Available Retrieve a list of alarm subscriptions [Documentation] Test ID: 7.3.5.3.4 -- GitLab From 0ec9147bfa95014129fefbfdb14bcd70f89520ab Mon Sep 17 00:00:00 2001 From: root Date: Wed, 12 Feb 2020 10:23:35 +0500 Subject: [PATCH 08/27] bug-fixes --- SOL002/VNFIndicator-API/Subscriptions.robot | 2 +- SOL002/VNFIndicator-API/VNFIndicators.robot | 3 ++- .../VnfIndicatorsInVnfInstanceId.robot | 12 +++++++---- .../VNFPerformanceManagement-API/PMJobs.robot | 2 +- .../Thresholds.robot | 2 +- .../VNFPerformanceManagementKeywords.robot | 3 +-- .../FaultManagement-APIKeyword.robot | 9 ++++++++- .../Subscriptions.robot | 2 +- .../VNFIndicatorsKeywords.robot | 14 ++++++++----- .../VNFPackageManagementKeywords.robot | 4 ++-- .../VNFPerformanceManagement-API/PMJobs.robot | 2 +- .../VNFPerformanceManagementKeywords.robot | 3 +-- SOL005/NSDManagement-API/NSDContent.robot | 5 ++++- .../NSDManagementKeywords.robot | 20 +++++++++++++------ .../environment/variables.txt | 2 ++ .../NSFaultManagement-API/Subscriptions.robot | 1 - .../NSInstances.robot | 8 ++++---- .../NSPerformanceManagementKeywords.robot | 9 ++++++--- .../Subscriptions.robot | 2 +- .../VNFPackageManagementKeywords.robot | 4 ++-- 20 files changed, 69 insertions(+), 40 deletions(-) diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index 21f4d4ac5..51353f633 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -220,7 +220,7 @@ Check Postcondition VNF Indicator Subscription Is Set Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Indicators according to filter - #todo + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${POS_FILTER['callbackUri']} Create Sessions diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot index 92edb2aa0..3af5adf1e 100644 --- a/SOL002/VNFIndicator-API/VNFIndicators.robot +++ b/SOL002/VNFIndicator-API/VNFIndicators.robot @@ -269,4 +269,5 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter - #todo \ No newline at end of file + Should Be True "${response[0]['body']['name']}"=="${POS_FILTER['name']}" and "${response[0]['body']['vnfInstanceId']}"=="${POS_FILTER['vnfInstanceId']}" + \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 70bd4ab96..79a4b97cb 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -196,12 +196,16 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Includes Requested VNF Instance ID Log Check Response includes Indicators according to resource identifier - #todo + Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} Check HTTP Response Body Matches Attribute-Based Filter Log Check Response includes VNF Indicators according to filter - #todo + Should Be Equal As Strings ${response[0]['body']['name']} ${POS_FIELDS['name']} Check Postcondition Indicators for VNF instance Exist - Log Check Response includes VNF Indicators according to filter - #todo + Log Check Postcondition Indicators for VNF instance Exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId} + Should Be Equal ${response.status_code} 200 + diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot index bc6f070f1..4446a1f73 100644 --- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot @@ -324,7 +324,7 @@ Check HTTP Response Body Matches all_fields selector Check HTTP Response Body Matches filter Log Checking that attribute-based filter is matched - #todo + Should Be Equal As Strings ${response[0]['body']['objectInstanceIds']} ${POS_FILTER['objectInstanceIds']} Check HTTP Response Body Does Not Contain reports Log Checking that field element is missing diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index fd436b222..c0a67c903 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -195,7 +195,7 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + Should Be Equal As Strings ${response[0]['body']['objectInstanceId']} ${FILTER_OK['objectInstanceId']} Check HTTP Response Status Code Is [Arguments] ${expected_status} diff --git a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot index 11f17fb7f..ad37a2c9d 100644 --- a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot +++ b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot @@ -283,8 +283,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - # Should Be Equal As Strings ${response['body']['callbackUri']} ${callbackUri} - #TODO + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${callbackUri} Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 14a1c93d3..4823d6ee6 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -17,7 +17,14 @@ Check created Subscription existance Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} - Integer response status 200 + Integer response status 200 +Check Postcondition FaultManagement Subscription Is Set + Log Check Postcondition subscription exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + GET ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 Check Operation Occurrence Id ${opOccId}= Get Value From Json ${response.headers} $..Location Should Not Be Empty ${opOccId} diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index 9892d09dc..dc922d31a 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -37,7 +37,7 @@ Create a new alarm subscription - DUPLICATION Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription - Check created Subscription existance + Check Postcondition FaultManagement Subscription Is Set Create a new alarm subscription - NO DUPLICATION [Documentation] Test ID: 7.3.5.3.3 diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index 426ba2c0c..4b1e77587 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -183,7 +183,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - #TODO + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body Matches the Subscription Log Check Response matches subscription @@ -329,7 +329,7 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter - #todo + Should Be True "${response[0]['body']['name']}"=="${POS_FIELDS['name']}" and "${response[0]['body']['vnfInstanceId']}"=="${POS_FIELDS['vnfInstanceId']}" Get all indicators for a VNF instance Log This resource represents VNF indicators related to a VNF instance. @@ -397,11 +397,15 @@ Send DELETE Request for indicators in VNF instance Check HTTP Response Body Includes Requested VNF Instances ID Log Check Response includes Indicators according to resource identifier - #todo + Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} Check Postcondition Indicators for VNF instance Exist - Log Check Response includes VNF Indicators according to filter - #todo + Log Check Postcondition Indicators for VNF instance Exist + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/indicators/${vnfInstanceId} + Should Be Equal ${response.status_code} 200 + Get Individual Indicator for a VNF instance Log This resource represents a VNF indicator related to a VNF instance. diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 62bd86a74..ce939f4a3 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -54,7 +54,7 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo + Should Be True "${response[0]['body']['vnfdId']}"=="${POS_FILTER['vnfdId']}" and "${response[0]['body']['vnfProvider']}"=="${POS_FILTER['vnfProvider']}" GET VNF Packages with invalid attribute-based filter Log Trying to perform a negative get, filtering by the inexistent filter 'nfvId' @@ -631,7 +631,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Package Management according to filter - #TODO + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body PkgmSubscription Attributes Values Match the Issued Subscription diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot index 801655db0..d21247a58 100644 --- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot @@ -324,7 +324,7 @@ Check HTTP Response Body PmJobs Matches the requested all_fields selector Check HTTP Response Body PmJobs Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo + Should Be Equal As Strings ${response[0]['body']['objectInstanceIds']} ${POS_FILTER['objectInstanceIds']} Check HTTP Response Body Does Not Contain reports Log Checking that field element is missing diff --git a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot index 15d256da0..dd4afd079 100644 --- a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot +++ b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot @@ -283,8 +283,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - # Should Be Equal As Strings ${response['body']['callbackUri']} ${callbackUri} - #TODO + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL005/NSDManagement-API/NSDContent.robot b/SOL005/NSDManagement-API/NSDContent.robot index 6b01def2f..40f529854 100644 --- a/SOL005/NSDManagement-API/NSDContent.robot +++ b/SOL005/NSDManagement-API/NSDContent.robot @@ -147,9 +147,11 @@ Upload NSD Content as Zip file in asynchronous mode ... Reference: clause 5.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: The NFVO supports the upload of NSD contents in asynchronous mode - ... Post-Conditions: none + ... Post-Conditions: NSD Uploaded Send PUT Request to upload NSD Content as zip file in asynchronous mode Check HTTP Response Status Code Is 202 + Check Post Condition NSD Content has been Uploaded + Upload NSD Content as plain text file in asynchronous mode [Documentation] Test ID: 5.3.1.3.12 @@ -162,6 +164,7 @@ Upload NSD Content as plain text file in asynchronous mode ... Post-Conditions: none Send PUT Request to upload NSD Content as plain text file in asynchronous mode Check HTTP Response Status Code Is 202 + Check Post Condition NSD Content has been Uploaded Upload NSD Content as Zip file in synchronous mode [Documentation] Test ID: 5.3.1.3.13 diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index bbdc8f7c6..962bfbf3b 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -32,7 +32,7 @@ GET Network Service Descriptors Information with attribute-based filter Check HTTP Response Body NsdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + GET Network Service Descriptors Information with invalid attribute-based filter Log The GET method queries multiple NS descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -421,6 +421,17 @@ Send PUT Request to upload NSD Content as plain text file in asynchronous mode ${output}= Output response Set Suite Variable ${response} ${output} +Check Post Condition NSD Content has been Uploaded + Log Checking NsdOnboardingNotification Recieved + Wait Untill Keyword Succeeds ${retry} ${interval} Check Response is NsdOnboardingNotification + +Check Response is NsdOnboardingNotification + ${response}= Output response body + Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = NsdOnboardingNotification.schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + Send PUT Request to upload NSD Content as zip file in synchronous mode Log Trying to perform a PUT. This method upload the content of a NSD Set Headers {"Accept": "${ACCEPT_ZIP}"} @@ -501,7 +512,6 @@ GET PNF Descriptors Information with attribute-based filter Check HTTP Response Body PnfdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo GET PNF Descriptors Information with invalid attribute-based filter Log The GET method queries multiple PNF descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -888,12 +898,10 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Is Empty Should Be Empty ${response['body']} Log No json schema is provided. Validation OK - - + Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NSD Management Management according to filter - #TODO - + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL005/NSDManagement-API/environment/variables.txt b/SOL005/NSDManagement-API/environment/variables.txt index 9f9d5956c..9de189269 100644 --- a/SOL005/NSDManagement-API/environment/variables.txt +++ b/SOL005/NSDManagement-API/environment/variables.txt @@ -37,3 +37,5 @@ ${NFVO_ALLOWS_DUPLICATE_SUBS} 1 ${total_polling_time} 2 min ${polling_interval} 10 sec ${response} +${retry} 5x +${interval} 5 sec \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot index 960ac1b10..fb8de8534 100644 --- a/SOL005/NSFaultManagement-API/Subscriptions.robot +++ b/SOL005/NSFaultManagement-API/Subscriptions.robot @@ -49,7 +49,6 @@ Create a new alarm subscription - NO DUPLICATION Post Create subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id - Check HTTP Response Body Json Schema Is FmSubscription Retrieve a list of alarm subscriptions [Documentation] Test ID: 5.3.3.3.4 diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index be75709a5..38a41e51e 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -70,7 +70,7 @@ GET NSInstances with "all_fields" attribute selector ... Post-Conditions: Get NSInstances with all_fields attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances GET NSInstances with "exclude_default" attribute selector [Documentation] Test ID: 5.3.2.1.6 @@ -83,7 +83,7 @@ GET NSInstances with "exclude_default" attribute selector ... Post-Conditions: Get NSInstances with exclude_default attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances GET NSInstances with "fields" attribute selector [Documentation] Test ID: 5.3.2.1.7 @@ -96,7 +96,7 @@ GET NSInstances with "fields" attribute selector ... Post-Conditions: Get NSInstances with fields attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances GET NSInstances with "exclude_fields" attribute selector [Documentation] Test ID: 5.3.2.1.8 @@ -109,7 +109,7 @@ GET NSInstances with "exclude_fields" attribute selector ... Post-Conditions: Get NSInstances with exclude_fields attribute selector Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions + Check HTTP Response Body Json Schema Is NsInstances PUT NSInstances - Method not implemented [Documentation] Test ID: 5.3.2.1.9 diff --git a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot index e688ea436..afdae1142 100644 --- a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot +++ b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot @@ -172,7 +172,9 @@ Check HTTP Response Body PmJobs Matches the requested all_fields selector Check HTTP Response Body PmJobs Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo + ${user}= Get Value From Json ${response['body']} $..userDefinedData + Validate Json UserDefinedData.schema.json ${user[0]} + Log Validation for schema OK Check HTTP Response Body PmJobs Do Not Contain reports Log Checking that field element is missing @@ -420,7 +422,8 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - #todo + Should Be Equal As Strings ${response[0]['body']['objectInstanceId']} ${filter_ok['objectInstanceId']} + GET Individual NS performance Threshold Log Trying to get a Threhsold present in the NFVO @@ -653,7 +656,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NS Package Management according to filter - #TODO + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription diff --git a/SOL005/VNFPackageManagement-API/Subscriptions.robot b/SOL005/VNFPackageManagement-API/Subscriptions.robot index 32fd85cc1..df40b1055 100644 --- a/SOL005/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL005/VNFPackageManagement-API/Subscriptions.robot @@ -37,7 +37,7 @@ Get VNF Package Subscriptions with attribute-based filter ... Post-Conditions: none Get VNF Package Subscriptions with attribute-based filters Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is PkgmSubscription + Check HTTP Response Body Json Schema Is PkgmSubscriptions Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter diff --git a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 618ef76f7..6d06f7923 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -59,7 +59,7 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - #todo + Should Be True "${response[0]['body']['vnfdId']}"=="${POS_FILTER['vnfdId']}" and "${response[0]['body']['vnfProvider']}"=="${POS_FILTER['vnfProvider']}" GET VNF Packages with invalid attribute-based filter Log Trying to perform a negative get, filtering by the inexistent filter 'nfvId' @@ -907,7 +907,7 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Package Management according to filter - #TODO + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body Subscription Identifier matches the requested Subscription Log Trying to check response ID -- GitLab From a4234b5f531a3824cdc0dcfb3bfb4236f2c34bbf Mon Sep 17 00:00:00 2001 From: root Date: Wed, 19 Feb 2020 12:21:05 +0500 Subject: [PATCH 09/27] fixed 5.3.2.1.2 --- SOL005/NSLifecycleManagement-API/NSInstances.robot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index 38a41e51e..85ad87a54 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -25,7 +25,7 @@ GET information about multiple NS instances [Documentation] Test ID: 5.3.2.1.2 ... Test title: GET information about multiple NS instances ... Test objective: The objective is to test the retrieval of all the available NS Instances and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: An existing Ns instance. + ... Pre-conditions: An NS Instance is already created ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none. @@ -145,4 +145,4 @@ DELETE NSInstances - Method not implemented ... Applicability: none ... Post-Conditions: The NS instance is not deleted by the operation DELETE NSInstances - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 -- GitLab From caaf2be26a00207ff5e15e65e199075aeef3b763 Mon Sep 17 00:00:00 2001 From: root Date: Tue, 25 Feb 2020 17:47:09 +0500 Subject: [PATCH 10/27] bug-fixes final list v1 --- SOL002/VNFFaultManagement-API/Alarms.robot | 18 +++++----- .../EscalatePerceivedSeverityTask.robot | 8 ++--- .../IndividualAlarm.robot | 22 ++++++------ .../IndividualSubscription.robot | 3 +- .../VnfIndicatorsInVnfInstanceId.robot | 2 +- .../CancelOperationTask.robot | 2 +- .../ChangeVNFFlavourTask.robot | 2 +- .../IndividualVNFInstance.robot | 4 +-- .../IndividualVnfLcmOperationOccurence.robot | 8 ++--- .../ScaleVNFToLevelTask.robot | 6 ++-- .../Subscriptions.robot | 3 -- .../FaultManagement-APIKeyword.robot | 4 +-- .../Subscriptions.robot | 4 +-- .../VNFIndicatorsKeywords.robot | 2 +- .../FailOperationTask.robot | 6 ++-- .../IndividualVNFInstance.robot | 4 +-- .../Subscriptions.robot | 11 +++--- .../Grants.robot | 8 ++--- .../IndividualGrant.robot | 35 ++++++------------- .../NSDManagementKeywords.robot | 11 +++--- .../environment/nsDescriptors.txt | 2 ++ .../HealNSTaskWorkflow.robot | 2 +- .../IndividualNSInstance.robot | 5 +++ .../NSInstances.robot | 8 ++--- .../NSLCMOperationKeywords.robot | 28 +++++++++++++++ 25 files changed, 113 insertions(+), 95 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index d032b05fb..93f2bbdbd 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -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.2 - ETSI GS NFV-SOL 002 [2] v2.4.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.2 - ETSI GS NFV-SOL 002 [2] v2.4.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.2 - ETSI GS NFV-SOL 002 [2] v2.4.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.2 - ETSI GS NFV-SOL 002 [2] v2.4.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.2 - ETSI GS NFV-SOL 002 [2] v2.4.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.2 - ETSI GS NFV-SOL 002 [2] v2.4.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.3 - ETSI GS NFV-SOL 002 [2] v2.4.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.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: none @@ -140,7 +140,7 @@ 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.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: the alarm is not deleted diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot index 6ec24fe08..ca73cef18 100644 --- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot +++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot @@ -20,7 +20,7 @@ Escalate the perceived severity GET Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.2 ... Test title: GET Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is 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 ... Config ID: Config_prod_VNFM @@ -32,7 +32,7 @@ GET Escalate the perceived severity - Method not implemented PUT Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.3 ... Test title: PUT Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is 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 ... Config ID: Config_prod_VNFM @@ -44,7 +44,7 @@ PUT Escalate the perceived severity - Method not implemented PATCH Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.4 ... Test title: PATCH Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is 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 ... Config ID: Config_prod_VNFM @@ -57,7 +57,7 @@ PATCH Escalate the perceived severity - Method not implemented DELETE Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.5 ... Test title: DELETE Escalate the perceived severity - Method not implemented - ... Test objective: to test that the method is not implemented + ... Test objective: The objective is 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 ... Config ID: Config_prod_VNFM diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 68cda0982..5a8b84509 100644 --- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot @@ -41,9 +41,9 @@ GET information about an individual alarm -PUT Alarm - Method not implemented +PUT Individual Alarm - Method not implemented [Documentation] Test ID: 6.3.4.2.3 - ... Test title: PUT Alarm - Method not implemented + ... Test title: PUT Individual 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 @@ -54,9 +54,9 @@ PUT Alarm - Method not implemented Check HTTP Response Status Code Is 405 -PATCH Alarm +PATCH Individual Alarm [Documentation] Test ID: 6.3.4.2.4 - ... Test title: PATCH Alarm + ... Test title: PATCH Individual 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 @@ -67,10 +67,10 @@ PATCH Alarm Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is alarmModifications -PATCH Alarm - Precondition failed +PATCH Individual Alarm - Precondition failed [Documentation] Test ID: 6.3.4.2.5 - ... Test title: PATCH Alarm - Precondition failed - ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met + ... Test title: PATCH Individual Alarm - Precondition failed + ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met because Alarm was already modified by another entity. ... Pre-conditions: The related alarm exists ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM @@ -80,9 +80,9 @@ PATCH Alarm - Precondition failed Check HTTP Response Status Code Is 412 Check HTTP Response Body Json Schema Is ProblemDetails -PATCH Alarm - Conflict +PATCH Individual Alarm - Conflict [Documentation] Test ID: 6.3.4.2.6 - ... Test title: PATCH Alarm - Conflict + ... Test title: PATCH Individual 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 @@ -94,9 +94,9 @@ PATCH Alarm - Conflict Check HTTP Response Body Json Schema Is ProblemDetails -DELETE Alarm - Method not implemented +DELETE Individual Alarm - Method not implemented [Documentation] Test ID: 6.3.4.2.7 - ... Test title: DELETE Alarm - Method not implemented + ... Test title: DELETE Individual 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 diff --git a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot index a98869517..650f49089 100644 --- a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot @@ -68,7 +68,6 @@ DELETE an individual subscription ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: the subscription is deleted - Check resource existence Delete individual subscription Check HTTP Response Status Code Is 204 @@ -139,4 +138,4 @@ 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 diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 79a4b97cb..c4810ff31 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -196,7 +196,7 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Includes Requested VNF Instance ID Log Check Response includes Indicators according to resource identifier - Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} + Should Be Equal As Strings ${response['body'][0]['vnfInstanceId']} ${vnfInstanceId} Check HTTP Response Body Matches Attribute-Based Filter Log Check Response includes VNF Indicators according to filter diff --git a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot index 74e889246..4eab83540 100644 --- a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot @@ -24,7 +24,7 @@ Post Cancel operation task Post Cancel operation task Conflict [Documentation] Test ID: 6.3.5.16.2 - ... Test title: POST Cancel operation task + ... Test title: POST Cancel operation task Conflict ... Test objective: The POST method is NOT cancelling an ongoing VNF lifecycle operation due to the fact that the VNF instance resource is not in STARTING, PROCESSING or ROLLING_BACK state ... Pre-conditions: operation is not in STARTING, PROCESSING or ROLLING_BACK state ... Reference: clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 diff --git a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot index d4c3ba819..ce033cae2 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot @@ -75,7 +75,7 @@ PUT Change deployment flavour VNFInstance - Method not implemented PATCH Change deployment flavour VNFInstance - Method not implemented [Documentation] Test ID: 6.3.5.6.6 - ... Test title: PATCH Cancel operation task - Method not implemented + ... Test title: PATCH Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none ... Reference: clause 5.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index c2db6cbb3..b89e8e165 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -79,7 +79,7 @@ PATCH Individual VNFInstance Precondition failed PATCH Individual VNFInstance Conflict [Documentation] Test ID: 6.3.5.2.6 ... Test title: PATCH Individual VNFInstance Conflict - ... Test objective: The objective is to create a new VNF instance resource + ... Test objective: The objective is to verify that The PATCH operation cannot be executed currently, due to a conflict with the state of the VNF instance resource because anyother LCM Operation is ongoing. ... Pre-conditions: none ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE @@ -103,7 +103,7 @@ DELETE Individual VNFInstance DELETE Individual VNFInstance Conflict [Documentation] Test ID: 6.3.5.2.8 - ... Test title: DELETE Individual VNFInstance + ... Test title: DELETE Individual VNFInstance Conflict ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot index 8708a7b31..28bcb2646 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot @@ -32,7 +32,7 @@ Get status information about multiple VNF instances PUT status information about multiple VNF instances - Method not implemented [Documentation] Test ID: 6.3.5.12.3 - ... Test title: Put Individual VNF LCM OP occurrences - Method not implemented + ... Test title: PUT status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none ... Reference: clause 5.4.13.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 @@ -44,7 +44,7 @@ PUT status information about multiple VNF instances - Method not implemented PATCH status information about multiple VNF instances - Method not implemented [Documentation] Test ID: 6.3.5.12.4 - ... Test title: Patch Individual VNF LCM OP occurrences - Method not implemented + ... Test title: PATCH status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none ... Reference: clause 5.4.13.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 @@ -56,7 +56,7 @@ PATCH status information about multiple VNF instances - Method not implemented DELETE status information about multiple VNF instances - Method not implemented [Documentation] Test ID: 6.3.5.12.5 - ... Test title: Delete Individual VNF LCM OP occurrences - Method not implemented + ... Test title: DELETE status information about multiple VNF instances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none ... Reference: clause 5.4.13.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 @@ -64,4 +64,4 @@ DELETE status information about multiple VNF instances - Method not implemented ... Applicability: none ... Post-Conditions: none Delete multiple VNF instances - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 diff --git a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index 4bfaec147..7656bc60e 100644 --- a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -38,14 +38,14 @@ POST Scale a vnfInstance to level Conflict (Not-Instantiated) POST Scale a vnfInstance Not Found [Documentation] Test ID: 6.3.5.5.3 ... Test title: POST Scale a vnfInstance Not Found - ... Test objective: The objective is to verify that the operation cannot be executed , because the VNF instance resource cannot be found. + ... Test objective: The objective is to verify that the VNF Scale operation fails when the VNF instance resource is not present ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: POST Scale vnfInstance to level - Check HTTP Response Status Code Is 409 + Check HTTP Response Status Code Is 404 Check HTTP Response Body Json Schema Is ProblemDetails @@ -126,4 +126,4 @@ Launch another LCM operation Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} ${body}= Get File jsons/scaleVnfRequest.json Post ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${vnfInstanceId}/scale ${body} - Integer response status 202 \ No newline at end of file + Integer response status 202 diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index 05fbdda02..343e41613 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -16,7 +16,6 @@ POST Create a new subscription ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null - ... POST Cancel operation task Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is Subscription @@ -29,7 +28,6 @@ POST Create a new Subscription - DUPLICATION ... Config ID: Config_prod_VE ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null - ... POST Cancel operation task Post Create subscription - DUPLICATION Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is Subscription @@ -43,7 +41,6 @@ POST Create a new Subscription - NO-DUPLICATION ... Config ID: Config_prod_VE ... Applicability: SUT should not support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null - ... POST Cancel operation task Post Create subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check Operation Occurrence Id diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 4823d6ee6..60a4c212d 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -266,7 +266,7 @@ POST Subscription ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -POST Subscription Duplication permitted +Send POST Request for duplicated subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 0 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} @@ -277,7 +277,7 @@ POST Subscription Duplication permitted ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -POST Subscription Duplication not permitted +Send POST Request for duplicated subscription not permitted Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index dc922d31a..e9cd11c19 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -33,7 +33,7 @@ Create a new alarm subscription - DUPLICATION ... Config ID: Config_prod_VNFM ... Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created - POST Subscription Duplication permitted + Send POST Request for duplicated subscription Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription @@ -48,7 +48,7 @@ Create a new alarm subscription - NO DUPLICATION ... Config ID: Config_prod_VNFM ... Applicability: the NFVO decides to not create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created - POST Subscription Duplication not permitted + Send POST Request for duplicated subscription not permitted Check HTTP Response Status Code Is 303 Check Operation Occurrence Id Check Postcondition Subscription Resource Returned in Location Header Is Available diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index 4b1e77587..0772a4eb9 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -397,7 +397,7 @@ Send DELETE Request for indicators in VNF instance Check HTTP Response Body Includes Requested VNF Instances ID Log Check Response includes Indicators according to resource identifier - Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} + Should Be Equal As Strings ${response['body'][0]['vnfInstanceId']} ${vnfInstanceId} Check Postcondition Indicators for VNF instance Exist Log Check Postcondition Indicators for VNF instance Exist diff --git a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot index 20e6fca2c..c0ca2560a 100644 --- a/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot +++ b/SOL003/VNFLifecycleManagement-API/FailOperationTask.robot @@ -25,7 +25,7 @@ POST Fail operation task Post Fail operation task Conflict (Not-FAILED_TEMP) # TODO: Need to set the pre-condition of the test. VNF instance shall be in INSTANTIATED state [Documentation] Test ID: 7.3.1.15.2 - ... Test title: Post Fail operation task + ... Test title: Post Fail operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 @@ -39,7 +39,7 @@ Post Fail operation task Conflict (Not-FAILED_TEMP) Post Fail operation task Not Found # TODO: Need to create a vnfInstance which's instantiatedVnfInfo.scaleStatus is absent [Documentation] Test ID: 7.3.1.15.3 - ... Test title: Post Fail operation task + ... Test title: Post Fail operation task Not Found ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation because the operation is not supported ... Pre-conditions: ... Reference: clause 5.4.16.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 @@ -75,7 +75,7 @@ PUT Fail operation task - Method not implemented PATCH Fail operation task - Method not implemented [Documentation] Test ID: 7.3.1.15.6 - ... Test title: GET Fail operation task- Method not implemented + ... Test title: PATCH Fail operation task- Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none ... Reference: clause 5.4.16.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 1fd4b2c05..c411eb05f 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -66,7 +66,7 @@ PATCH Individual VNFInstance PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 7.3.1.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed - ... Test objective: The objective is to create a new VNF instance resource + ... Test objective: The objective is to test a PATCH request when Pre-condition given in HTTP request header failed due to ETag mismatch ... Pre-conditions: VNF Instance is created (Test ID 7.3.1.2.2) ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM @@ -79,7 +79,7 @@ PATCH Individual VNFInstance Precondition failed PATCH Individual VNFInstance Conflict [Documentation] Test ID: 7.3.1.2.6 ... Test title: PATCH Individual VNFInstance Conflict - ... Test objective: The objective is to test the conflict while modifying a VNF instance resource + ... Test objective: The objective is to test the conflict while modifying a VNF instance resource because another LCM operation is ongoing ... Pre-conditions: another LCM operation is ongoing ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM diff --git a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot index 803ba06c7..9335de9f5 100644 --- a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot @@ -21,14 +21,15 @@ POST Create a new subscription Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is Subscription + Create a new Subscription - DUPLICATION [Documentation] Test ID: 7.3.1.17.2 ... Test title: POST Create a new subscription - DUPLICATION - ... Test objective: The POST method creates a duplicate subscription + ... Test objective: The objective is to test that POST method create a duplicate (same cakkbackurl and filter) subscription ... Pre-conditions: none ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM - ... Applicability: The VNFM support the creation of duplicated subscriptions + ... Applicability: duplication is supported by SUT ... Post-Conditions: in response header Location shall not be null Post Create subscription - DUPLICATION Check HTTP Response Status Code Is 201 @@ -37,11 +38,11 @@ Create a new Subscription - DUPLICATION Create a new Subscription - NO-DUPLICATION [Documentation] Test ID: 7.3.1.17.3 ... Test title: POST Create a new subscription - NO-DUPLICATION - ... Test objective: The POST method cannot create a duplicate subscription + ... Test objective: The objective is to test that POST method does not create a duplicate (same callbackurl and filter) subscription ... Pre-conditions: none ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM - ... Applicability: The VNFM does not support the creation of duplicated subscriptions + ... Applicability: duplication is not supported by SUT ... Post-Conditions: in response header Location shall not be null Post Create subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 @@ -174,4 +175,4 @@ DELETE subscriptions - Method not implemented ... Post-Conditions: subscription not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 - \ No newline at end of file + diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index 061e24fb1..ee2b8c49e 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -16,7 +16,7 @@ ${polling} 10 sec Requests a grant for a particular VNF lifecycle operation - Synchronous mode [Documentation] Test ID: 7.3.2.1.1 ... Test title: Requests a grant for a particular VNF lifecycle operation - Synchronous mode - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure ... Pre-conditions: ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO @@ -31,7 +31,7 @@ Requests a grant for a particular VNF lifecycle operation - Synchronous mode Requests a grant for a particular VNF lifecycle operation - Asynchronous mode [Documentation] Test ID: 7.3.2.1.2 ... Test title: Requests a grant for a particular VNF lifecycle operation - Asynchronous mode - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and perform a JSON schema validation on the returned grant data structure ... Pre-conditions: ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO @@ -52,7 +52,7 @@ Requests a grant for a particular VNF lifecycle operation - Forbidden ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Send Request a new Grant Forbidden + Send Request a new Grant Forbidden Operation Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails @@ -130,7 +130,7 @@ Send Request Grant Request in Asynchronous mode ${body}= Output response Set Suite Variable &{response} ${body} -Send Request a new Grant Forbidden +Send Request a new Grant Forbidden Operation Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants Log The grant request should be rejected Set Headers {"Accept": "${ACCEPT}"} diff --git a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot index 2cd9a3d6f..a2e1d55e4 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot @@ -27,13 +27,13 @@ POST Individual Grant - Method not implemented GET an individual grant - Successful [Documentation] Test ID: 7.3.2.2.2 ... Test title: GET an individual grant - Successful - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to successfully request a grant for a particular VNF lifecycle operation ... Pre-conditions: The grant information is available to the VNFM ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Get individual grant success + Get individual grant Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is grant @@ -41,7 +41,7 @@ GET an individual grant - Process ongoing [Tags] no-synchronous-mode [Documentation] Test ID: 7.3.2.2.3 ... Test title: GET an individual grant - Process ongoing - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation when process is ongoing and no grant is avaliable yet ... Pre-conditions: The process of creating the grant is ongoing, no grant is available yet. ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO @@ -55,13 +55,13 @@ GET an individual grant - grant rejected [Tags] no-synchronous-mode [Documentation] Test ID: 7.3.2.2.4 ... Test title: GET an individual grant - grant rejected - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation when grant is rejected ... Pre-conditions: ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The grant is rejected - Get individual grant rejected + ... Post-Conditions: none + Get individual grant Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails @@ -97,27 +97,12 @@ DELETE an individual grant - Method not implemented ... Reference: clause 9.4.3.3.5 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: grant not deleted + ... Post-Conditions: none Delete individual Grant Check HTTP Response Status Code Is 405 -*** Keywords *** -Get individual grant rejected - log Trying to read an individual grant - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} - ${body}= Output response - Set Suite Variable &{response} ${body} -Get individual grant on-going - log Trying to read an individual grant - Set Headers {"Accept":"${ACCEPT}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} - ${body}= Output response - Set Suite Variable &{response} ${body} - -Get individual grant success +*** Keywords *** +Get individual grant log Trying to read an individual grant Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -177,4 +162,4 @@ Check HTTP Response Header Contains Check HTTP Response Body Json Schema Is [Arguments] ${input} ${schema} = Catenate ${input} .schema.json - Validate Json ${schema} ${response[0]['body']} \ No newline at end of file + Validate Json ${schema} ${response[0]['body']} diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index 962bfbf3b..f82737129 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -26,13 +26,13 @@ GET Network Service Descriptors Information with attribute-based filter Log The GET method queries multiple NS descriptors using Attribute-based filtering parameters Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors?${POS_FIELDS} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors?${NSD_NAME} ${output}= Output response Set Suite Variable ${response} ${output} Check HTTP Response Body NsdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - + Should Be Equal As Strings ${response['body'][0]['nsdName']} ${NSD_NAME['nsdName']} GET Network Service Descriptors Information with invalid attribute-based filter Log The GET method queries multiple NS descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -422,7 +422,7 @@ Send PUT Request to upload NSD Content as plain text file in asynchronous mode Set Suite Variable ${response} ${output} Check Post Condition NSD Content has been Uploaded - Log Checking NsdOnboardingNotification Recieved + Log Checking NsdOnboardingNotification Recieved Wait Untill Keyword Succeeds ${retry} ${interval} Check Response is NsdOnboardingNotification Check Response is NsdOnboardingNotification @@ -506,12 +506,13 @@ GET PNF Descriptors Information with attribute-based filter Log The GET method queries multiple PNF descriptors using Attribute-based filtering parameters Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/pnf_descriptors?${POS_FIELDS} + GET ${apiRoot}/${apiName}/${apiVersion}/pnf_descriptors?${PNFD_NAME} ${output}= Output response Set Suite Variable ${response} ${output} Check HTTP Response Body PnfdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched + Should Be Equal As Strings ${response['body'][0]['pnfdName']} ${PNFD_NAME['pnfdName']} GET PNF Descriptors Information with invalid attribute-based filter Log The GET method queries multiple PNF descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -901,7 +902,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NSD Management Management according to filter - Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} ${filter_ok['callbackUri']} Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL005/NSDManagement-API/environment/nsDescriptors.txt b/SOL005/NSDManagement-API/environment/nsDescriptors.txt index 1ac118a28..7f1abcc9f 100644 --- a/SOL005/NSDManagement-API/environment/nsDescriptors.txt +++ b/SOL005/NSDManagement-API/environment/nsDescriptors.txt @@ -29,3 +29,5 @@ ${wrong_etag} abcd ${usageState} state ${length} 1024 ${createdNsdInfoId} f27200b1-1d8b-48c2-9d98-a993b8ab117f +${NSD_NAME} nsdName=onBoardedNSD +${PNFD_NAME} pnfdName=onBoardedPNFD \ No newline at end of file diff --git a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot index f6fbfad56..ceb72fb82 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot @@ -17,7 +17,7 @@ Heal Flow of NS lifecycle management operations ... Reference: clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: Resource Instantiated Check resource instantiated POST Heal NSInstance Check HTTP Response Status Code Is 202 diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot index c4a19e193..db44553fc 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot @@ -19,6 +19,7 @@ POST Individual NSInstance - Method not implemented ... Post-Conditions: The NS instance is not created on the NFVO POST IndividualNSInstance Check HTTP Response Status Code Is 405 + Check Postcondition NS Instance is not crerated GET Information about an individual NS Instance [Documentation] Test ID: 5.3.2.2.2 @@ -44,6 +45,7 @@ PUT Individual NSInstance - Method not implemented ... Post-Conditions: The NS instance is not modified on the NFVO PUT IndividualNSInstance Check HTTP Response Status Code Is 405 + Check Postcondition NS Instance is not modified PATCH Individual NSInstance - Method not implemented [Documentation] Test ID: 5.3.2.2.4 @@ -56,6 +58,7 @@ PATCH Individual NSInstance - Method not implemented ... Post-Conditions: The NS instance is not modified on the NFVO PATCH IndividualNSInstance Check HTTP Response Status Code Is 405 + Check Postcondition NS Instance is not modified DELETE Individual NSInstance [Documentation] Test ID: 5.3.2.2.5 @@ -68,6 +71,7 @@ DELETE Individual NSInstance ... Post-Conditions: The NS instance is deleted from the NFVO DELETE IndividualNSInstance Check HTTP Response Status Code Is 204 + Check Postcondition NS Instance is deleted DELETE Individual NSInstance Conflict [Documentation] Test ID: 5.3.2.2.6 @@ -81,3 +85,4 @@ DELETE Individual NSInstance Conflict DELETE IndividualNSInstance Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails + Check Postcondition NS Instance is not deleted diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index 85ad87a54..6f16103c1 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -37,8 +37,8 @@ GET information about multiple NS instances GET information about multiple NS instances Bad Request Invalid attribute-based filtering parameters [Documentation] Test ID: 5.3.2.1.3 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute-based filtering parameters - ... Test objective: The objective is to test the retrieval of all the available NS Instances using attribute-based filter and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: A Ns instance is instantiated, a bad filter parameter (filter parameters are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v2.4.1). + ... Test objective: The objective is to query information about multiple NS instances with Invalid attribute-based filtering parameters + ... Pre-conditions: A Ns instance is instantiated, a bad attribute-based filter parameter is either malformed or syntactically incorrect (filter parameters are listed in Table 6.4.2.3.2-1 - SOL005 v2.4.1) ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none. @@ -50,8 +50,8 @@ GET information about multiple NS instances Bad Request Invalid attribute-based GET information about multiple NS instances Bad Request Invalid attribute selector [Documentation] Test ID: 5.3.2.1.4 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute selector - ... Test objective: The objective is to test the retrieval of all the available NS Instances using attribute-based filter and perform a JSON schema and content validation of the collected instance data structure - ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector (attribute selectors are listed in Table 6.4.2.3.2-1 - ETSI GS NFV-SOL 005 [3] v2.4.1). + ... Test objective: The objective is to query information about multiple NS instances with Invalid attribute selector + ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector parameter is either malformed or syntactically incorrect (filter parameters are listed in Table 6.4.2.3.2-1 - SOL005 v2.4.1) ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none. diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index 00642dfa8..ee294594a 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -6,6 +6,7 @@ Library Process Library JSONSchemaLibrary schemas/ Library OperatingSystem Library MockServerLibrary +Library Collections *** Keywords *** Initialize System @@ -157,12 +158,32 @@ Check resource existence Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} Integer response status 200 +Check Postcondition NS Instance is not crerated + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 404 + Check HTTP Response Status Code Is [Arguments] ${expected_status} Log Validate Status code Should Be Equal as Strings ${response[0]['status']} ${expected_status} Log Status code validated +Check Postcondition NS Instance is deleted + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 404 + +Check Postcondition NS Instance is not modified + GET IndividualNSInstance + ${resp_dict}= evaluate json.loads('''${response[0]['body']}''') json + ${body}= Get File jsons/CreateNsRequest.json + Dictionaries Should Be Equal ${resp_dict} ${body} values=True + Check HTTP Response Header Contains [Arguments] ${HEADER_TOCHECK} Should Contain ${response[0]['headers']} ${HEADER_TOCHECK} @@ -174,6 +195,13 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response[0]['body']} Log Json Schema Validation OK +Check Postcondition NS Instance is not deleted + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} + Integer response status 200 + Check HTTP Response Header ContentType is [Arguments] ${expected_contentType} Log Validate content type -- GitLab From bde52e2298655765a4051fea9c0322bfe0f0d43f Mon Sep 17 00:00:00 2001 From: root Date: Tue, 25 Feb 2020 17:50:30 +0500 Subject: [PATCH 11/27] bug-fixes final list v2 --- SOL003/VNFLifecycleOperationGranting-API/Grants.robot | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index ee2b8c49e..1dbba51e8 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -46,9 +46,9 @@ Requests a grant for a particular VNF lifecycle operation - Asynchronous mode Requests a grant for a particular VNF lifecycle operation - Forbidden [Documentation] Test ID: 7.3.2.1.3 ... Test title: Requests a grant for a particular VNF lifecycle operation - Forbidden - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and check the content of the problem details data structure returned + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and the grant is rejected ... Pre-conditions: none - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none -- GitLab From c1b2a655fe118a42afc87ae0fe417350ff1f537a Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Feb 2020 13:13:30 +0500 Subject: [PATCH 12/27] bug-fixes final list v3 --- .../VNFLifecycleManagement-API/IndividualVNFInstance.robot | 2 +- SOL005/NSLifecycleManagement-API/UpdateNSTask.robot | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index c411eb05f..21b0a22a0 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -67,7 +67,7 @@ PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 7.3.1.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to test a PATCH request when Pre-condition given in HTTP request header failed due to ETag mismatch - ... Pre-conditions: VNF Instance is created (Test ID 7.3.1.2.2) + ... Pre-conditions: VNF Instance is already created (Test ID 7.3.1.2.2) ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: diff --git a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot index 6c7cf1e6b..a042cafad 100644 --- a/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot +++ b/SOL005/NSLifecycleManagement-API/UpdateNSTask.robot @@ -12,7 +12,7 @@ POST Update a NSInstance [Documentation] Test ID: 5.3.2.5.1 ... Test title: POST Update a NSInstance ... Test objective: The objective is to test that POST method update a NS instance - ... Pre-conditions: an existing NS Instance + ... Pre-conditions: An Ns Instance is already created. ... Reference: clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none @@ -25,7 +25,7 @@ POST Update a NSInstance Conflict [Documentation] Test ID: 5.3.2.5.2 ... Test title: POST Update a NSInstance Conflict ... Test objective: The objective is to test that POST method fail if a NS Instance is not existing or is not in NOT_INSTANTIATED state - ... Pre-conditions: an existing NS Instance + ... Pre-conditions: An Ns Instance is already created ... Reference: clause 6.4.6.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none @@ -82,4 +82,4 @@ DELETE Update NSInstance - Method not implemented DELETE Update NSInstance Check HTTP Response Status Code Is 405 - \ No newline at end of file + -- GitLab From 83fa70a503935d90198d8dbf46ec914fb369d445 Mon Sep 17 00:00:00 2001 From: root Date: Thu, 23 Jan 2020 11:22:42 +0500 Subject: [PATCH 14/27] Bug Fixed --- SOL002/VNFFaultManagement-API/IndividualAlarm.robot | 4 ++-- SOL002/VNFFaultManagement-API/Subscriptions.robot | 4 ++-- .../VnfLcmOperationOccurences.robot | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 5a8b84509..29f26677e 100644 --- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot @@ -70,7 +70,7 @@ PATCH Individual Alarm PATCH Individual Alarm - Precondition failed [Documentation] Test ID: 6.3.4.2.5 ... Test title: PATCH Individual Alarm - Precondition failed - ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met because Alarm was already modified by another entity. + ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met ... Pre-conditions: The related alarm exists ... Reference: clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM @@ -184,4 +184,4 @@ 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 diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index f3c2f078d..c9a96e525 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -18,7 +18,7 @@ Create a new subscription Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is FmSubscription - Check resource existance + Check resource existence Create a new Subscription - DUPLICATION [Documentation] Test ID: 6.3.4.4.2 @@ -289,7 +289,7 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response['body']} Log Json Schema Validation OK -Check resource existance +Check resource existence Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${response['body']['id']} diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index fe980a5e9..2130f165f 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -143,6 +143,6 @@ DELETE status information about multiple VNF LCM operation occurrences - Method ... Reference: clause 5.4.12.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE ... Applicability: none - ... Post-Conditions: none - DELETE VNF LCM OP occurrences + ... Post-Conditions: Verify that resources are not deleted + DELETE VNF LCM OP occurences Check HTTP Response Status Code Is 405 -- GitLab From 5ccf1c2a7dbab281deef0b10e71afadc13ba1e5a Mon Sep 17 00:00:00 2001 From: root Date: Fri, 24 Jan 2020 13:07:37 +0500 Subject: [PATCH 15/27] bug-fixes --- .../IndividualVNFInstance.robot | 4 ++-- .../ScaleVNFToLevelTask.robot | 2 +- .../TerminateVNFTask.robot | 2 +- .../VnfLcmMntOperationKeywords.robot | 12 ++++-------- .../VNFLifecycleOperationGranting-API/Grants.robot | 7 +++++-- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 21b0a22a0..9af273e23 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -66,7 +66,7 @@ PATCH Individual VNFInstance PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 7.3.1.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed - ... Test objective: The objective is to test a PATCH request when Pre-condition given in HTTP request header failed due to ETag mismatch + ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: VNF Instance is already created (Test ID 7.3.1.2.2) ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM @@ -79,7 +79,7 @@ PATCH Individual VNFInstance Precondition failed PATCH Individual VNFInstance Conflict [Documentation] Test ID: 7.3.1.2.6 ... Test title: PATCH Individual VNFInstance Conflict - ... Test objective: The objective is to test the conflict while modifying a VNF instance resource because another LCM operation is ongoing + ... Test objective: The objective is to test the conflict while modifying a VNF instance resource ... Pre-conditions: another LCM operation is ongoing ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index 17db5612f..021d5ceed 100644 --- a/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL003/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -12,7 +12,7 @@ POST Scale a vnfInstance to level [Documentation] Test ID: 7.3.1.5.1 ... Test title: POST Scale a vnfInstance to level ... Test objective: The objective is to scale a VNF instance to a target level. - ... Pre-conditions: VNF is Instantiated + ... Pre-conditions: VNF instance resource is in INSTANTIATED state ... Reference: clause 5.4.6.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: diff --git a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot index fee746276..df4d0e2a3 100644 --- a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -13,7 +13,7 @@ POST Terminate a vnfInstance [Documentation] Test ID: 7.3.1.7.1 ... Test title: POST Terminate a vnfInstance ... Test objective: The objective is to test that POST method terminate a VNF instance - ... Pre-conditions: Resource state is INSTANTIATED + ... Pre-conditions: Resource state should be INSTANTIATED ... Reference: clause 5.4.8.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: none diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot index a1adf8ee6..c245f0cc3 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot @@ -1148,11 +1148,7 @@ GET test endpoint Sleep ${sleep_interval} Verify Mock Expectation ${req} Clear Requests ${callback_endpoint} -Verify Resources not Deleted - log Trying to get information about an individual VNF instance - Set Headers {"Accept":"${ACCEPT}"} - Set Headers {"Content-Type": "${CONTENT_TYPE}"} - Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${response['body']['id']} - ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file +Verify Resources not Deleted + GET multiple vnfInstances + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is vnfInstances diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index 1dbba51e8..6ecca096f 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -46,9 +46,9 @@ Requests a grant for a particular VNF lifecycle operation - Asynchronous mode Requests a grant for a particular VNF lifecycle operation - Forbidden [Documentation] Test ID: 7.3.2.1.3 ... Test title: Requests a grant for a particular VNF lifecycle operation - Forbidden - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and the grant is rejected + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and check the content of the problem details data structure returned ... Pre-conditions: none - ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -178,6 +178,9 @@ Get an individual grant - Successful Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 + ${result} Output response body + Validate Json grant.schema.json ${result} + Log Validation OK Get Grants Log Trying to perform a GET. This method should not be implemented -- GitLab From 8f8f9bac98dced478c0cb75b18432beb116030b4 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 24 Jan 2020 16:20:10 +0500 Subject: [PATCH 16/27] bug-fixes --- .../FaultManagement-APIKeyword.robot | 6 +++--- SOL003/VNFFaultManagement-API/Subscriptions.robot | 6 +++--- .../VnfLcmMntOperationKeywords.robot | 12 ++++++++---- .../NSLCMOperationKeywords.robot | 4 ++-- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 60a4c212d..2a0354047 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -266,7 +266,7 @@ POST Subscription ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send POST Request for duplicated subscription +POST Subscription Duplication permitted Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 0 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} @@ -277,7 +277,7 @@ Send POST Request for duplicated subscription ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -Send POST Request for duplicated subscription not permitted +POST Subscription Duplication not permitted Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} @@ -401,4 +401,4 @@ DELETE Individual Subscription Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} Delete ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response - Set Global Variable @{response} ${outputResponse} \ No newline at end of file + Set Global Variable @{response} ${outputResponse} diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index e9cd11c19..2755aaf83 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -33,7 +33,7 @@ Create a new alarm subscription - DUPLICATION ... Config ID: Config_prod_VNFM ... Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created - Send POST Request for duplicated subscription + POST Subscription Duplication permitted Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription @@ -48,7 +48,7 @@ Create a new alarm subscription - NO DUPLICATION ... Config ID: Config_prod_VNFM ... Applicability: the NFVO decides to not create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created - Send POST Request for duplicated subscription not permitted + POST Subscription Duplication not permitted Check HTTP Response Status Code Is 303 Check Operation Occurrence Id Check Postcondition Subscription Resource Returned in Location Header Is Available @@ -178,4 +178,4 @@ DELETE subscriptions - Method not implemented ... Applicability: none ... Post-Conditions: subscription is not deleted DELETE Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 diff --git a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot index c245f0cc3..52952aa7c 100644 --- a/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot +++ b/SOL003/VNFLifecycleManagement-API/VnfLcmMntOperationKeywords.robot @@ -1148,7 +1148,11 @@ GET test endpoint Sleep ${sleep_interval} Verify Mock Expectation ${req} Clear Requests ${callback_endpoint} -Verify Resources not Deleted - GET multiple vnfInstances - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is vnfInstances +Verify Resources not Deleted + log Trying to get information about an individual VNF instance + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/vnf_instances/${response['body']['id']} + ${outputResponse}= Output response + Set Global Variable @{response} ${outputResponse} diff --git a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot index ee294594a..a1968087f 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -158,7 +158,7 @@ Check resource existence Get ${apiRoot}/${apiName}/${apiVersion}/ns_instances/${nsInstanceId} Integer response status 200 -Check Postcondition NS Instance is not crerated +Check Postcondition NS Instance is not created Set Headers {"Accept":"${ACCEPT}"} Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} @@ -1101,4 +1101,4 @@ PUT notification Verify Mock Expectation ${req} Log Cleaning the endpoint Clear Requests ${callback_endpoint} - \ No newline at end of file + -- GitLab From 93af9149021ab6abb3bfded0b8d708d5c2fa97fd Mon Sep 17 00:00:00 2001 From: root Date: Mon, 27 Jan 2020 12:36:28 +0500 Subject: [PATCH 17/27] bug-fixes --- SOL003/VNFLifecycleOperationGranting-API/Grants.robot | 3 --- 1 file changed, 3 deletions(-) diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index 6ecca096f..ee2b8c49e 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -178,9 +178,6 @@ Get an individual grant - Successful Get ${response['headers']['Location']} Log Validate Status code Integer response status 200 - ${result} Output response body - Validate Json grant.schema.json ${result} - Log Validation OK Get Grants Log Trying to perform a GET. This method should not be implemented -- GitLab From 1adc7f91ba536c2f4c71410738fe2d26bbf7866e Mon Sep 17 00:00:00 2001 From: root Date: Wed, 12 Feb 2020 10:23:35 +0500 Subject: [PATCH 18/27] bug-fixes --- .../VnfIndicatorsInVnfInstanceId.robot | 2 +- .../VNFIndicatorsKeywords.robot | 2 +- .../NSDManagementKeywords.robot | 22 ++++++++----------- 3 files changed, 11 insertions(+), 15 deletions(-) diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index c4810ff31..79a4b97cb 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -196,7 +196,7 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Includes Requested VNF Instance ID Log Check Response includes Indicators according to resource identifier - Should Be Equal As Strings ${response['body'][0]['vnfInstanceId']} ${vnfInstanceId} + Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} Check HTTP Response Body Matches Attribute-Based Filter Log Check Response includes VNF Indicators according to filter diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index 0772a4eb9..4b1e77587 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -397,7 +397,7 @@ Send DELETE Request for indicators in VNF instance Check HTTP Response Body Includes Requested VNF Instances ID Log Check Response includes Indicators according to resource identifier - Should Be Equal As Strings ${response['body'][0]['vnfInstanceId']} ${vnfInstanceId} + Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} Check Postcondition Indicators for VNF instance Exist Log Check Postcondition Indicators for VNF instance Exist diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index f82737129..94c38ed2e 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -421,17 +421,8 @@ Send PUT Request to upload NSD Content as plain text file in asynchronous mode ${output}= Output response Set Suite Variable ${response} ${output} -Check Post Condition NSD Content has been Uploaded - Log Checking NsdOnboardingNotification Recieved - Wait Untill Keyword Succeeds ${retry} ${interval} Check Response is NsdOnboardingNotification - -Check Response is NsdOnboardingNotification - ${response}= Output response body - Should Contain ${response['headers']['Content-Type']} application/json - ${schema} = NsdOnboardingNotification.schema.json - Validate Json ${schema} ${response['body']} - Log Json Schema Validation OK - +==== BASE ==== +==== BASE ==== Send PUT Request to upload NSD Content as zip file in synchronous mode Log Trying to perform a PUT. This method upload the content of a NSD Set Headers {"Accept": "${ACCEPT_ZIP}"} @@ -512,7 +503,9 @@ GET PNF Descriptors Information with attribute-based filter Check HTTP Response Body PnfdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - Should Be Equal As Strings ${response['body'][0]['pnfdName']} ${PNFD_NAME['pnfdName']} +==== BASE ==== + #todo +==== BASE ==== GET PNF Descriptors Information with invalid attribute-based filter Log The GET method queries multiple PNF descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -902,7 +895,10 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NSD Management Management according to filter - Should Be Equal As Strings ${response['body'][0]['callbackUri']} ${filter_ok['callbackUri']} +==== BASE ==== + #TODO + +==== BASE ==== Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription -- GitLab From 04481a868d2552232fe7f9133a8560b19868f085 Mon Sep 17 00:00:00 2001 From: uihassan Date: Fri, 28 Feb 2020 12:01:03 +0500 Subject: [PATCH 19/27] TD# 7.3.1.1.3/4 --- SOL003/VNFLifecycleManagement-API/VNFInstances.robot | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot index b0729e238..4c5505291 100644 --- a/SOL003/VNFLifecycleManagement-API/VNFInstances.robot +++ b/SOL003/VNFLifecycleManagement-API/VNFInstances.robot @@ -38,7 +38,7 @@ GET information about multiple VNF instances GET information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters [Documentation] Test ID: 7.3.1.1.3 ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters - ... Test objective: The objective is to query information about multiple VNF instances with Invalid attribute-based filtering parameters + ... Test objective: The objective is to test that the retrieval of VNF Instances fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF is instantiated, a bad filter selector (filter selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v2.4.1). ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM @@ -52,9 +52,8 @@ GET information about multiple VNF instances Bad Request Invalid attribute-based GET information about multiple VNF instances Bad Request Invalid attribute selector [Documentation] Test ID: 7.3.1.1.4 ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute selector - ... Test objective: The objective is to query information about multiple VNF instances with Invalid attribute selector - ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - ETSI GS NFV-SOL 003 [1] v2.4.1). - ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Test objective: The objective is to test that the retrieval of VNF Instances fails when using invalid attribute selector, and perform the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: A VNF is instantiated, a bad attribute selector (attribute selectors are listed in Table 5.4.2.3.2-1 - SOL003 v2.4.1). ... Reference: clause 5.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: -- GitLab From 9ae2a5b5f7c74a6a667e76c4bb99fa1c15351c87 Mon Sep 17 00:00:00 2001 From: uihassan Date: Tue, 3 Mar 2020 11:40:50 +0500 Subject: [PATCH 20/27] bug-fixes final list v5 --- SOL002/VNFIndicator-API/Subscriptions.robot | 6 +++--- SOL002/VNFIndicator-API/VNFIndicators.robot | 6 ++++-- .../VnfIndicatorsInVnfInstanceId.robot | 3 ++- .../VNFIndicator-API/environment/subscriptions.txt | 1 + .../environment/vnfIndicatorinVnfInstance.txt | 1 + .../VNFIndicator-API/environment/vnfIndicators.txt | 2 ++ .../VNFLifecycleManagement-API/Subscriptions.robot | 2 +- SOL002/VNFPerformanceManagement-API/PMJobs.robot | 3 ++- .../VNFPerformanceManagement-API/Thresholds.robot | 3 ++- .../VNFPerformanceManagementKeywords.robot | 2 +- .../environment/pmJobs.txt | 1 + .../environment/subscriptions.txt | 4 ++-- .../environment/thresholds.txt | 1 + .../FaultManagement-APIKeyword.robot | 2 +- SOL003/VNFFaultManagement-API/Subscriptions.robot | 2 +- .../VNFIndicator-API/VNFIndicatorsKeywords.robot | 7 +++++-- .../VNFIndicator-API/environment/vnfIndicators.txt | 2 ++ .../IndividualVNFInstance.robot | 2 +- .../VNFPackageManagementKeywords.robot | 9 ++++++--- .../environment/subscriptions.txt | 1 + .../environment/vnfPackages.txt | 2 ++ SOL003/VNFPerformanceManagement-API/PMJobs.robot | 3 ++- .../VNFPerformanceManagementKeywords.robot | 2 +- .../environment/pmJobs.txt | 1 + .../environment/subscriptions.txt | 4 ++-- .../NSDManagement-API/NSDManagementKeywords.robot | 14 ++++++-------- .../environment/nsDescriptors.txt | 3 ++- .../environment/subscriptions.txt | 1 + SOL005/NSFaultManagement-API/Subscriptions.robot | 2 +- .../NSPerformanceManagementKeywords.robot | 9 +++++---- .../environment/subscriptions.txt | 1 + .../environment/thresholds.txt | 3 ++- .../VNFPackageManagementKeywords.robot | 10 +++++++--- .../environment/subscriptions.txt | 3 ++- .../environment/vnfPackages.txt | 2 ++ 35 files changed, 77 insertions(+), 43 deletions(-) diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index 51353f633..323810ca3 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -220,9 +220,9 @@ Check Postcondition VNF Indicator Subscription Is Set Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Indicators according to filter - Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${POS_FILTER['callbackUri']} - - + @{words} = Split String ${POS_FILTER} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] + Create Sessions Pass Execution If ${VNFM_CHECKS_NOTIF_ENDPOINT} == 0 MockServer not necessary to run Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot index 3af5adf1e..967316258 100644 --- a/SOL002/VNFIndicator-API/VNFIndicators.robot +++ b/SOL002/VNFIndicator-API/VNFIndicators.robot @@ -269,5 +269,7 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter - Should Be True "${response[0]['body']['name']}"=="${POS_FILTER['name']}" and "${response[0]['body']['vnfInstanceId']}"=="${POS_FILTER['vnfInstanceId']}" - \ No newline at end of file + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_name} = Split String @{attr}[0] ,${SEPERATOR} + @{var_id} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]" \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 79a4b97cb..00bbffa1d 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -200,7 +200,8 @@ Check HTTP Response Body Includes Requested VNF Instance ID Check HTTP Response Body Matches Attribute-Based Filter Log Check Response includes VNF Indicators according to filter - Should Be Equal As Strings ${response[0]['body']['name']} ${POS_FIELDS['name']} + @{words} = Split String ${POS_FIELDS} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['name']} @{words}[1] Check Postcondition Indicators for VNF instance Exist Log Check Postcondition Indicators for VNF instance Exist diff --git a/SOL002/VNFIndicator-API/environment/subscriptions.txt b/SOL002/VNFIndicator-API/environment/subscriptions.txt index 401b374f6..ec4b63ac0 100644 --- a/SOL002/VNFIndicator-API/environment/subscriptions.txt +++ b/SOL002/VNFIndicator-API/environment/subscriptions.txt @@ -7,3 +7,4 @@ ${NEG_FILTER} callback=http://127.0.0.1/subscribe ${response}= httpresponse ${total_polling_time} 2 min ${polling_interval} 10 sec +${SEPERATOR} = \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt b/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt index 4ebe54882..8651dee3d 100644 --- a/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt +++ b/SOL002/VNFIndicator-API/environment/vnfIndicatorinVnfInstance.txt @@ -4,3 +4,4 @@ ${erroneousVnfInstanceId} erroneousVnfInstanceId ${POS_FIELDS} name=vnfIndicator ${NEG_FIELDS} wrongName=any_value ${response}= httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt index 8b1a56f48..3613a9997 100644 --- a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt +++ b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt @@ -3,3 +3,5 @@ ${POS_FIELDS} name=vnfIndicator&vnfInstanceId=80b0deba-c398-445b-bef0-ac0fe7 ${NEG_FIELDS} wrongName=wrongValue ${response} some_response_object ${vnfIndicators} +${SEPERATOR} = +${VAR_SEPERATOR} & \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index 343e41613..c5fe1272a 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -61,7 +61,7 @@ GET Subscriptions GET Subscription - Filter [Documentation] Test ID: 6.3.5.17.5 ... Test title: GET Subscriptions - Filter - ... Test objective: The objective is Get the list of active subscriptions using a filter + ... Test objective: The objective is Get the list of active subscriptions using a "filter" ... Pre-conditions: none ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot index 4446a1f73..b9c9991b5 100644 --- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot @@ -324,7 +324,8 @@ Check HTTP Response Body Matches all_fields selector Check HTTP Response Body Matches filter Log Checking that attribute-based filter is matched - Should Be Equal As Strings ${response[0]['body']['objectInstanceIds']} ${POS_FILTER['objectInstanceIds']} + @{words} = Split String ${POS_FILTER} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceIds']} @{words}[1] Check HTTP Response Body Does Not Contain reports Log Checking that field element is missing diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index c0a67c903..606c0bb61 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -195,7 +195,8 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - Should Be Equal As Strings ${response[0]['body']['objectInstanceId']} ${FILTER_OK['objectInstanceId']} + @{words} = Split String ${FILTER_OK} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] Check HTTP Response Status Code Is [Arguments] ${expected_status} diff --git a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot index ad37a2c9d..47eec5aa5 100644 --- a/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot +++ b/SOL002/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot @@ -283,7 +283,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${callbackUri} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} ${callbackUri_Sub} Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt b/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt index 6c80ca057..f1675679e 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/pmJobs.txt @@ -3,3 +3,4 @@ ${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${NEG_FILTER} criteriaPmJob=erroneousAttributeName ${fields} criteria,reports ${response}= httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt b/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt index a450bb1b8..c49045743 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/subscriptions.txt @@ -1,6 +1,6 @@ *** Variables *** -${callbackUri} http://172.22.1.7:9091/vnfpm/subscriptions -${filter_ok} callbackUri=${callbackUri} +${callbackUri_Sub} http://172.22.1.7:9091/vnfpm/subscriptions +${filter_ok} callbackUri=${callbackUri_Sub} ${filter_ko} erroneousFilter=erroneous ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt index 256e2c909..b044c053e 100644 --- a/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt +++ b/SOL002/VNFPerformanceManagement-API/environment/thresholds.txt @@ -2,3 +2,4 @@ ${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter ${response}= httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 2a0354047..05c29e0bc 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -12,7 +12,7 @@ Library Process ${original_etag} 1234 *** Keywords *** -Check created Subscription existance +Check created Subscription existence ${subscriptionId} = ${response['body']['id']} Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index 2755aaf83..67b733ecb 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -21,7 +21,7 @@ Create a new Fault Management alarm subscription Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription - Check created Subscription existance + Check created Subscription existence Create a new alarm subscription - DUPLICATION diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index 4b1e77587..6a5d23a11 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -329,8 +329,11 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter - Should Be True "${response[0]['body']['name']}"=="${POS_FIELDS['name']}" and "${response[0]['body']['vnfInstanceId']}"=="${POS_FIELDS['vnfInstanceId']}" - + @{attr} = Split String ${POS_FIELDS} ,${VAR_SEPERATOR} + @{var_name} = Split String @{attr}[0] ,${SEPERATOR} + @{var_id} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]" + Get all indicators for a VNF instance Log This resource represents VNF indicators related to a VNF instance. Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL003/VNFIndicator-API/environment/vnfIndicators.txt b/SOL003/VNFIndicator-API/environment/vnfIndicators.txt index 626c660fc..b4ca7ceaa 100644 --- a/SOL003/VNFIndicator-API/environment/vnfIndicators.txt +++ b/SOL003/VNFIndicator-API/environment/vnfIndicators.txt @@ -1,3 +1,5 @@ *** Variables *** ${POS_FIELDS} name=vnfIndicator&vnfInstanceId=80b0deba-c398-445b-bef0-ac0fe733e3d0 ${NEG_FIELDS} wrongName=wrongValue +${SEPERATOR} = +${VAR_SEPERATOR} & \ No newline at end of file diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 9af273e23..8074476aa 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -66,7 +66,7 @@ PATCH Individual VNFInstance PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 7.3.1.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed - ... Test objective: The objective is to create a new VNF instance resource + ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Instance because pre-condition failed ... Pre-conditions: VNF Instance is already created (Test ID 7.3.1.2.2) ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index ce939f4a3..2411b8b8b 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -54,7 +54,10 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - Should Be True "${response[0]['body']['vnfdId']}"=="${POS_FILTER['vnfdId']}" and "${response[0]['body']['vnfProvider']}"=="${POS_FILTER['vnfProvider']}" + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_id} = Split String @{attr}[0] ,${SEPERATOR} + @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]" GET VNF Packages with invalid attribute-based filter Log Trying to perform a negative get, filtering by the inexistent filter 'nfvId' @@ -631,8 +634,8 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Package Management according to filter - Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} - + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body PkgmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL003/VNFPackageManagement-API/environment/subscriptions.txt b/SOL003/VNFPackageManagement-API/environment/subscriptions.txt index 171d18624..ca34ee831 100644 --- a/SOL003/VNFPackageManagement-API/environment/subscriptions.txt +++ b/SOL003/VNFPackageManagement-API/environment/subscriptions.txt @@ -4,3 +4,4 @@ ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant f ${callbackUri} http://172.22.1.7:9091/vnfpkgm/subscriptions ${total_polling_time} 2 min ${polling_interval} 10 sec +${SEPERATOR} = \ No newline at end of file diff --git a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt index 9786732e6..ff87485e0 100644 --- a/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt +++ b/SOL003/VNFPackageManagement-API/environment/vnfPackages.txt @@ -3,3 +3,5 @@ ${POS_FILTER} vnfdId=41fdd38a-3d4c-465c-83e0-f80e014425f8 ,vnfProvider=NXW ${NEG_FILTER} nfvId=41fdd38a-3d4c-465c-83e0-f80e014425f8 # Negative case, using wrong name of field ${fields} softwareImages,additionalArtifacts ${response} httpresponse +${SEPERATOR} = +${VAR_SEPERATOR} & \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot index d21247a58..d3cac1bf4 100644 --- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot @@ -324,7 +324,8 @@ Check HTTP Response Body PmJobs Matches the requested all_fields selector Check HTTP Response Body PmJobs Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - Should Be Equal As Strings ${response[0]['body']['objectInstanceIds']} ${POS_FILTER['objectInstanceIds']} + @{words} = Split String ${POS_FILTER} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceIds']} @{words}[1] Check HTTP Response Body Does Not Contain reports Log Checking that field element is missing diff --git a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot index dd4afd079..a1587b8e3 100644 --- a/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot +++ b/SOL003/VNFPerformanceManagement-API/VNFPerformanceManagementKeywords.robot @@ -283,7 +283,7 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Performance Management according to filter - Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} + Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${callbackUri_Sub} Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt b/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt index 30b6682ef..9891d3fed 100644 --- a/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt +++ b/SOL003/VNFPerformanceManagement-API/environment/pmJobs.txt @@ -3,3 +3,4 @@ ${POS_FILTER} objectInstanceIds=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${NEG_FILTER} criteriaPmJob=erroneousAttributeName ${fields} criteria,objectInstanceIds ${response} httpresponse +${SEPERATOR} = \ No newline at end of file diff --git a/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt b/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt index 304f9a2c2..46984c68e 100644 --- a/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt +++ b/SOL003/VNFPerformanceManagement-API/environment/subscriptions.txt @@ -1,6 +1,6 @@ *** Variables *** -${callbackUri} http://172.22.1.7:9091/vnfpm/subscriptions -${filter_ok} callbackUri=${callbackUri} +${callbackUri_Sub} http://172.22.1.7:9091/vnfpm/subscriptions +${filter_ok} callbackUri=${callbackUri_Sub} ${filter_ko} erroneousFilter=erroneous ${total_polling_time} 2 min ${polling_interval} 10 sec diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index 94c38ed2e..4c8d10611 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -32,7 +32,8 @@ GET Network Service Descriptors Information with attribute-based filter Check HTTP Response Body NsdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - Should Be Equal As Strings ${response['body'][0]['nsdName']} ${NSD_NAME['nsdName']} + @{words} = Split String ${NSD_NAME} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['nsdName']} @{words}[1] GET Network Service Descriptors Information with invalid attribute-based filter Log The GET method queries multiple NS descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -503,9 +504,8 @@ GET PNF Descriptors Information with attribute-based filter Check HTTP Response Body PnfdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched -==== BASE ==== - #todo -==== BASE ==== + @{words} = Split String ${PNFD_NAME} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['pnfdName']} @{words}[1] GET PNF Descriptors Information with invalid attribute-based filter Log The GET method queries multiple PNF descriptors using Attribute-based filtering parameters. Negative case, with erroneous attribute name @@ -895,10 +895,8 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NSD Management Management according to filter -==== BASE ==== - #TODO - -==== BASE ==== + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL005/NSDManagement-API/environment/nsDescriptors.txt b/SOL005/NSDManagement-API/environment/nsDescriptors.txt index 7f1abcc9f..b16e19ee9 100644 --- a/SOL005/NSDManagement-API/environment/nsDescriptors.txt +++ b/SOL005/NSDManagement-API/environment/nsDescriptors.txt @@ -30,4 +30,5 @@ ${usageState} state ${length} 1024 ${createdNsdInfoId} f27200b1-1d8b-48c2-9d98-a993b8ab117f ${NSD_NAME} nsdName=onBoardedNSD -${PNFD_NAME} pnfdName=onBoardedPNFD \ No newline at end of file +${PNFD_NAME} pnfdName=onBoardedPNFD +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/NSDManagement-API/environment/subscriptions.txt b/SOL005/NSDManagement-API/environment/subscriptions.txt index 553e803c8..d8c041102 100644 --- a/SOL005/NSDManagement-API/environment/subscriptions.txt +++ b/SOL005/NSDManagement-API/environment/subscriptions.txt @@ -1,3 +1,4 @@ *** Variables *** ${filter_ok} callbackUri=http://172.22.1.7:9091/nsd/subscriptions ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot index fb8de8534..80d37a1de 100644 --- a/SOL005/NSFaultManagement-API/Subscriptions.robot +++ b/SOL005/NSFaultManagement-API/Subscriptions.robot @@ -175,4 +175,4 @@ DELETE subscriptions - Method not implemented ... Applicability: none ... Post-Conditions: subscription is not deleted DELETE Subscriptions - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 diff --git a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot index afdae1142..660310863 100644 --- a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot +++ b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot @@ -351,7 +351,7 @@ GET Performance Thresholds with attribute-based filter Log Trying to get thresholds present in the NFVO with filter Set Headers {"Accept": "${ACCEPT_JSON}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": ${AUTHORIZATION}"} - GET ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK} + GET ${apiRoot}/${apiName}/${apiVersion}/thresholds?${FILTER_OK_Threshold} ${output}= Output response Set Suite Variable ${response} ${output} @@ -422,7 +422,8 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - Should Be Equal As Strings ${response[0]['body']['objectInstanceId']} ${filter_ok['objectInstanceId']} + @{words} = Split String ${FILTER_OK_Threshold} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] GET Individual NS performance Threshold @@ -656,8 +657,8 @@ Check HTTP Response Body Is Empty Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes NS Package Management according to filter - Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} - + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body PmSubscription Attributes Values Match the Issued Subscription Log Check Response matches subscription diff --git a/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt b/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt index fec8c84b5..78a574197 100644 --- a/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt +++ b/SOL005/NSPerformanceManagement-API/environment/subscriptions.txt @@ -1,3 +1,4 @@ *** Variables *** ${filter_ok} callbackUri=http://localhost/subscriptions ${filter_ko} erroneousFilter=erroneous +${SEPERATOR} = diff --git a/SOL005/NSPerformanceManagement-API/environment/thresholds.txt b/SOL005/NSPerformanceManagement-API/environment/thresholds.txt index 49461a095..587560f0d 100644 --- a/SOL005/NSPerformanceManagement-API/environment/thresholds.txt +++ b/SOL005/NSPerformanceManagement-API/environment/thresholds.txt @@ -1,3 +1,4 @@ *** Variables *** -${FILTER_OK} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a +${FILTER_OK_Threshold} objectInstanceId=1f50d68b-82e8-4deb-bd40-c934d4d1ac0a ${FILTER_KO} criterias=erroneousFilter +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 6d06f7923..67cfbe57f 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -59,8 +59,11 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - Should Be True "${response[0]['body']['vnfdId']}"=="${POS_FILTER['vnfdId']}" and "${response[0]['body']['vnfProvider']}"=="${POS_FILTER['vnfProvider']}" - + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_id} = Split String @{attr}[0] ,${SEPERATOR} + @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} + Should Be True "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]" + GET VNF Packages with invalid attribute-based filter Log Trying to perform a negative get, filtering by the inexistent filter 'nfvId' Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -907,7 +910,8 @@ Check HTTP Response Body Json Schema Is Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter Log Check Response includes VNF Package Management according to filter - Should Be Equal As Strings ${response[0]['body']['callbackUri']} ${filter_ok['callbackUri']} + @{words} = Split String ${filter_ok} ,${SEPERATOR} + Should Be Equal As Strings ${response['body'][0]['callbackUri']} @{words}[1] Check HTTP Response Body Subscription Identifier matches the requested Subscription Log Trying to check response ID diff --git a/SOL005/VNFPackageManagement-API/environment/subscriptions.txt b/SOL005/VNFPackageManagement-API/environment/subscriptions.txt index cddf01eef..ca34ee831 100644 --- a/SOL005/VNFPackageManagement-API/environment/subscriptions.txt +++ b/SOL005/VNFPackageManagement-API/environment/subscriptions.txt @@ -3,4 +3,5 @@ ${filter_ok} callbackUri=http://172.22.1.7:9091/vnfpkgm/subscriptions ${filter_ko} nfvId=f9f130e4-05eb-4082-a676-4c97d13a883d # Not existant filter attribute-based ${callbackUri} http://172.22.1.7:9091/vnfpkgm/subscriptions ${total_polling_time} 2 min -${polling_interval} 10 sec \ No newline at end of file +${polling_interval} 10 sec +${SEPERATOR} = \ No newline at end of file diff --git a/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt b/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt index e7e4eecb2..8f599ef60 100644 --- a/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt +++ b/SOL005/VNFPackageManagement-API/environment/vnfPackages.txt @@ -6,3 +6,5 @@ ${fields} softwareImages,additionalArtifacts ${response} httpresponse ${NEG_AUTHORIZATION} Bearer negativetoken ${BAD_AUTHORIZATION} Bear sometoken +${SEPERATOR} = +${VAR_SEPERATOR} & -- GitLab From 099b478eb7603e234b7992b01406f6ddd1f46be8 Mon Sep 17 00:00:00 2001 From: uihassan Date: Thu, 12 Mar 2020 16:46:14 +0500 Subject: [PATCH 21/27] bug_fixes review --- SOL002/VNFFaultManagement-API/Alarms.robot | 53 ----------------- .../EscalatePerceivedSeverityTask.robot | 6 +- .../Subscriptions.robot | 54 ----------------- .../IndividualVNFInstance.robot | 4 +- .../Subscriptions.robot | 1 + .../FaultManagement-APIKeyword.robot | 4 +- .../Subscriptions.robot | 56 +----------------- .../VNFIndicatorsKeywords.robot | 2 +- .../IndividualVNFInstance.robot | 8 +-- .../Subscriptions.robot | 58 +------------------ .../Grants.robot | 8 +-- .../IndividualGrant.robot | 4 +- SOL005/NSFaultManagement-API/Alarms.robot | 55 +----------------- .../NSFaultManagement-API/Subscriptions.robot | 54 +---------------- .../IndividualNSInstance.robot | 10 ++-- .../NSInstances.robot | 26 ++++----- 16 files changed, 44 insertions(+), 359 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index 93f2bbdbd..2245d3b04 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -57,59 +57,6 @@ GET information about multiple alarms with invalid attribute-based filter GET Alarms Task with invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails - -GET information about multiple alarms with "all_fields" attribute selector - [Documentation] Test ID: 6.3.4.1.5 - ... 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.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - GET Alarms Task with all_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms - -GET information about multiple alarms with exclude_default attribute selector - [Documentation] Test ID: 6.3.4.1.6 - ... 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.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - GET Alarms Task with exclude_default attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms - - -GET information about multiple alarms with fields attribute selector - [Documentation] Test ID: 6.3.4.1.7 - ... 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.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - GET Alarms Task with fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms - -GET information about multiple alarms with "exclude_fields" attribute selector - [Documentation] Test ID: 6.3.4.1.8 - ... 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.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: none - GET Alarms Task with exclude_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms PUT Alarms - Method not implemented [Documentation] Test ID: 6.3.4.1.9 diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot index ca73cef18..d25671ed0 100644 --- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot +++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot @@ -20,7 +20,7 @@ Escalate the perceived severity GET Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.2 ... Test title: GET Escalate the perceived severity - Method not implemented - ... Test objective: The objective is to test that the method is not implemented + ... Test objective: The objective is to test that the escalate perceived severity method is not implemented ... Pre-conditions: ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM @@ -32,7 +32,7 @@ GET Escalate the perceived severity - Method not implemented PUT Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.3 ... Test title: PUT Escalate the perceived severity - Method not implemented - ... Test objective: The objective is to test that the method is not implemented + ... Test objective: The objective is to test that the escalate perceived severity method is not implemented ... Pre-conditions: ... Reference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM @@ -44,7 +44,7 @@ PUT Escalate the perceived severity - Method not implemented PATCH Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.4 ... Test title: PATCH Escalate the perceived severity - Method not implemented - ... Test objective: The objective is to test that the method is not implemented + ... Test objective: The objective is to test that the escalate perceived severity method is not implemented ... Pre-conditions: ... Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index c9a96e525..b24fc27a1 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -83,60 +83,6 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters Get subscriptions - invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails - -GET subscriptions with "all_fields" attribute selector - [Documentation] Test ID: 6.3.4.4.8 - ... 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 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with all_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "exclude_default" attribute selector - [Documentation] Test ID: 6.3.4.4.9 - ... 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 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with exclude_default attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "fields" attribute selector - [Documentation] Test ID: 6.3.4.4.10 - ... 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 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "exclude_fields" attribute selector - [Documentation] Test ID: 6.3.4.4.11 - ... 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 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with exclude_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - - PUT subscriptions - Method not implemented [Documentation] Test ID: 6.3.4.4.8 diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index b89e8e165..a632aa101 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -79,7 +79,7 @@ PATCH Individual VNFInstance Precondition failed PATCH Individual VNFInstance Conflict [Documentation] Test ID: 6.3.5.2.6 ... Test title: PATCH Individual VNFInstance Conflict - ... Test objective: The objective is to verify that The PATCH operation cannot be executed currently, due to a conflict with the state of the VNF instance resource because anyother LCM Operation is ongoing. + ... Test objective: The objective is to verify that modification operation cannot be executed currently, due to a conflict with the state of the VNF instance resource because another LCM Operation is ongoing. ... Pre-conditions: none ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE @@ -104,7 +104,7 @@ DELETE Individual VNFInstance DELETE Individual VNFInstance Conflict [Documentation] Test ID: 6.3.5.2.8 ... Test title: DELETE Individual VNFInstance Conflict - ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. + ... Test objective: The objective is to verify that The operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. ... Pre-conditions: VNF instance resource is in INSTANTIATED state ... Reference: clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VE diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index c5fe1272a..a65cd4a60 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -19,6 +19,7 @@ POST Create a new subscription Post Create subscription Check HTTP Response Status Code Is 201 Check HTTP Response Body Json Schema Is Subscription + POST Create a new Subscription - DUPLICATION [Documentation] Test ID: 6.3.5.17.2 ... Test title: POST Create a new subscription - DUPLICATION diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index 05c29e0bc..a82a0a9cf 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -266,7 +266,7 @@ POST Subscription ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -POST Subscription Duplication permitted +Send POST Request for duplicated subscription Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 0 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} @@ -277,7 +277,7 @@ POST Subscription Duplication permitted ${outputResponse}= Output response Set Global Variable @{response} ${outputResponse} -POST Subscription Duplication not permitted +Send POST Request for duplicated subscription not permitted Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiVersion}/subscriptions Pass Execution If ${VNFM_DUPLICATION} == 1 NVFO is not permitting duplication. Skipping the test Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL003/VNFFaultManagement-API/Subscriptions.robot b/SOL003/VNFFaultManagement-API/Subscriptions.robot index 67b733ecb..0ffe46fe4 100644 --- a/SOL003/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL003/VNFFaultManagement-API/Subscriptions.robot @@ -33,7 +33,7 @@ Create a new alarm subscription - DUPLICATION ... Config ID: Config_prod_VNFM ... Applicability: the NFVO allows creating a subscription resource if another subscription resource with the same filter and callbackUri already exists ... Post-Conditions: duplicated subscription is created - POST Subscription Duplication permitted + Send POST Request for duplicated subscription Check HTTP Response Status Code Is 201 Check Operation Occurrence Id Check HTTP Response Body Json Schema Is FmSubscription @@ -48,7 +48,7 @@ Create a new alarm subscription - NO DUPLICATION ... Config ID: Config_prod_VNFM ... Applicability: the NFVO decides to not create a duplicate subscription resource ... Post-Conditions: duplicated subscription is not created - POST Subscription Duplication not permitted + Send POST Request for duplicated subscription not permitted Check HTTP Response Status Code Is 303 Check Operation Occurrence Id Check Postcondition Subscription Resource Returned in Location Header Is Available @@ -92,58 +92,6 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails -GET subscriptions with "all_fields" attribute selector - [Documentation] Test ID: 7.3.5.3.7 - ... 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.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with all_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "exclude_default" attribute selector - [Documentation] Test ID: 7.3.5.3.8 - ... 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.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with exclude_default attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "fields" attribute selector - [Documentation] Test ID: 7.3.5.3.9 - ... 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.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "exclude_fields" attribute selector - [Documentation] Test ID: 7.3.5.3.10 - ... 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.4.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: - ... Post-Conditions: - Get subscriptions with exclude_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - PUT subscriptions - Method not implemented [Documentation] Test ID: 7.3.5.3.11 ... Test title:PUT subscriptions - Method not implemented diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index 6a5d23a11..f58c7a086 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -400,7 +400,7 @@ Send DELETE Request for indicators in VNF instance Check HTTP Response Body Includes Requested VNF Instances ID Log Check Response includes Indicators according to resource identifier - Should Be Equal As Strings ${response['body']['vnfInstanceId']} ${vnfInstanceId} + Should Be Equal As Strings ${response['body'][0]['vnfInstanceId']} ${vnfInstanceId} Check Postcondition Indicators for VNF instance Exist Log Check Postcondition Indicators for VNF instance Exist diff --git a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 8074476aa..ad160761e 100644 --- a/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL003/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -66,8 +66,8 @@ PATCH Individual VNFInstance PATCH Individual VNFInstance Precondition failed [Documentation] Test ID: 7.3.1.2.5 ... Test title: PATCH Individual VNFInstance Precondition failed - ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Instance because pre-condition failed - ... Pre-conditions: VNF Instance is already created (Test ID 7.3.1.2.2) + ... Test objective: The objective is to test the failure of modification of a vnf instance due to Etag Mismatch. The test also check the JSON schema of failed operation HTTP response. + ... Pre-conditions: VNF Instance is already instantiated. ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: @@ -79,8 +79,8 @@ PATCH Individual VNFInstance Precondition failed PATCH Individual VNFInstance Conflict [Documentation] Test ID: 7.3.1.2.6 ... Test title: PATCH Individual VNFInstance Conflict - ... Test objective: The objective is to test the conflict while modifying a VNF instance resource - ... Pre-conditions: another LCM operation is ongoing + ... Test objective: The objective is to test the conflict while modifying a VNF instance resource because another LCM Operation is ongoing. + ... Pre-conditions: Another LCM operation is ongoing ... Reference: clause 5.4.3.3.4 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: diff --git a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot index 9335de9f5..15a50340a 100644 --- a/SOL003/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL003/VNFLifecycleManagement-API/Subscriptions.robot @@ -25,7 +25,7 @@ POST Create a new subscription Create a new Subscription - DUPLICATION [Documentation] Test ID: 7.3.1.17.2 ... Test title: POST Create a new subscription - DUPLICATION - ... Test objective: The objective is to test that POST method create a duplicate (same cakkbackurl and filter) subscription + ... Test objective: The objective is to test request to create a duplicate (same cakkbackurl and filter) subscription ... Pre-conditions: none ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM @@ -38,7 +38,7 @@ Create a new Subscription - DUPLICATION Create a new Subscription - NO-DUPLICATION [Documentation] Test ID: 7.3.1.17.3 ... Test title: POST Create a new subscription - NO-DUPLICATION - ... Test objective: The objective is to test that POST method does not create a duplicate (same callbackurl and filter) subscription + ... Test objective: The objective is to test the request that does not create a duplicate (same callbackurl and filter) subscription ... Pre-conditions: none ... Reference: clause 5.4.18.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_VNFM @@ -87,59 +87,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters Get subscriptions - invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails - -GET subscriptions with all_fields attribute selector - [Documentation] Test ID: 7.3.1.17.7 - ... Test title: GET subscriptions with all_fields attribute selector - ... Test objective: The objective is Get the list of active subscriptions - ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: none - ... Post-Conditions: none - Get subscriptions with all_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is Subscriptions - -GET subscriptions with exclude_default attribute selector - [Documentation] Test ID: 7.3.1.17.8 - ... Test title: GET subscriptions with exclude_default attribute selector - ... Test objective: The objective is Get the list of active subscriptions - ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: none - ... Post-Conditions: none - Get subscriptions with exclude_default attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is Subscriptions - -GET subscriptions with fields attribute selector - [Documentation] Test ID: 7.3.1.17.9 - ... Test title: GET subscriptions with fields attribute selector - ... Test objective: The objective is Get the list of active subscriptions - ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: none - ... Post-Conditions: none - Get subscriptions with fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is Subscriptions - -GET subscriptions with exclude_fields attribute selector - [Documentation] Test ID: 7.3.1.17.10 - ... Test title: GET subscriptions with exclude_fields attribute selector - ... Test objective: The objective is Get the list of active subscriptions - ... Pre-conditions: none - ... Reference: clause 5.4.18.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 - ... Config ID: Config_prod_VNFM - ... Applicability: none - ... Post-Conditions: none - Get subscriptions with exclude_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is Subscriptions - + PUT subscriptions - Method not implemented [Documentation] Test ID: 7.3.1.17.11 ... Test title: PUT subscriptions - Method not implemented diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index ee2b8c49e..f96fcf2db 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot @@ -46,13 +46,13 @@ Requests a grant for a particular VNF lifecycle operation - Asynchronous mode Requests a grant for a particular VNF lifecycle operation - Forbidden [Documentation] Test ID: 7.3.2.1.3 ... Test title: Requests a grant for a particular VNF lifecycle operation - Forbidden - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and check the content of the problem details data structure returned + ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation and the grant is rejected ... Pre-conditions: none - ... Reference: clause 9.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 + ... Reference: clause 9.4.2.3.1 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Send Request a new Grant Forbidden Operation + Send Request for a new Grant Forbiden Operation Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails @@ -130,7 +130,7 @@ Send Request Grant Request in Asynchronous mode ${body}= Output response Set Suite Variable &{response} ${body} -Send Request a new Grant Forbidden Operation +Send Request for a new Grant Forbiden Operation Log Request a new Grant for a VNF LCM operation by POST to ${apiRoot}/${apiName}/${apiVersion}/grants Log The grant request should be rejected Set Headers {"Accept": "${ACCEPT}"} diff --git a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot index a2e1d55e4..b56f6f78f 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot @@ -47,7 +47,7 @@ GET an individual grant - Process ongoing ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Get individual grant on-going + Get individual grant Check HTTP Response Status Code Is 202 Check HTTP Response Body Json Schema Is grant @@ -56,7 +56,7 @@ GET an individual grant - grant rejected [Documentation] Test ID: 7.3.2.2.4 ... Test title: GET an individual grant - grant rejected ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation when grant is rejected - ... Pre-conditions: + ... Pre-conditions: none ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none diff --git a/SOL005/NSFaultManagement-API/Alarms.robot b/SOL005/NSFaultManagement-API/Alarms.robot index a4f600f14..83003c204 100644 --- a/SOL005/NSFaultManagement-API/Alarms.robot +++ b/SOL005/NSFaultManagement-API/Alarms.robot @@ -57,60 +57,7 @@ GET information about multiple alarms Bad Request Invalid attribute-based filter GET Alarms With Invalid Filters Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails - -GET information about multiple alarms with "all_fields" attribute selector - [Documentation] Test ID: 5.3.3.1.5 - ... 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 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: - GET Alarms Task with all_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms - -GET information about multiple alarms with exclude_default attribute selector - [Documentation] Test ID: 5.3.3.1.6 - ... 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 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: - GET Alarms Task with exclude_default attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms - - -GET information about multiple alarms with fields attribute selector - [Documentation] Test ID: 5.3.3.1.7 - ... 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 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: - GET Alarms Task with fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms - -GET information about multiple alarms with "exclude_fields" attribute selector - [Documentation] Test ID: 5.3.3.1.8 - ... 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 8.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: none - GET Alarms Task with exclude_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is alarms - + PUT Alarms - Method not implemented [Documentation] Test ID: 5.3.3.1.5 ... Test title: PUT Alarms - Method not implemented diff --git a/SOL005/NSFaultManagement-API/Subscriptions.robot b/SOL005/NSFaultManagement-API/Subscriptions.robot index 80d37a1de..7dbfa2153 100644 --- a/SOL005/NSFaultManagement-API/Subscriptions.robot +++ b/SOL005/NSFaultManagement-API/Subscriptions.robot @@ -88,59 +88,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters GET Subscriptions with Invalid filter Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails - -GET subscriptions with "all_fields" attribute selector - [Documentation] Test ID: 5.3.3.3.7 - ... 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 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: - Get subscriptions with all_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "exclude_default" attribute selector - [Documentation] Test ID: 5.3.3.3.8 - ... 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 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: - Get subscriptions with exclude_default attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "fields" attribute selector - [Documentation] Test ID: 5.3.3.3.9 - ... 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 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: - Get subscriptions with fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - -GET subscriptions with "exclude_fields" attribute selector - [Documentation] Test ID: 5.3.3.3.10 - ... 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 8.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 - ... Config ID: Config_prod_NFVO - ... Applicability: - ... Post-Conditions: - Get subscriptions with exclude_fields attribute selector - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is FmSubscriptions - + PUT subscriptions - Method not implemented [Documentation] Test ID: 5.3.3.3.11 ... Test title:PUT subscriptions - Method not implemented diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot index db44553fc..0461ed7a2 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot @@ -16,7 +16,7 @@ POST Individual NSInstance - Method not implemented ... Reference: clause 6.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not created on the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not created POST IndividualNSInstance Check HTTP Response Status Code Is 405 Check Postcondition NS Instance is not crerated @@ -42,7 +42,7 @@ PUT Individual NSInstance - Method not implemented ... Reference: clause 6.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not modified on the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not modified PUT IndividualNSInstance Check HTTP Response Status Code Is 405 Check Postcondition NS Instance is not modified @@ -55,7 +55,7 @@ PATCH Individual NSInstance - Method not implemented ... Reference: clause 6.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not modified on the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not modified PATCH IndividualNSInstance Check HTTP Response Status Code Is 405 Check Postcondition NS Instance is not modified @@ -68,7 +68,7 @@ DELETE Individual NSInstance ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is deleted from the NFVO + ... Post-Conditions: Check Postcondition NS Instance is deleted DELETE IndividualNSInstance Check HTTP Response Status Code Is 204 Check Postcondition NS Instance is deleted @@ -81,7 +81,7 @@ DELETE Individual NSInstance Conflict ... Reference: clause 6.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The NS instance is not deleted from the NFVO + ... Post-Conditions: Check Postcondition NS Instance is not deleted DELETE IndividualNSInstance Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index 6f16103c1..eb83646a8 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -11,8 +11,8 @@ POST Create a new NsInstance [Documentation] Test ID: 5.3.2.1.1 ... Test title: POST Create a new NsInstance ... Test objective: The objective is to test the creation of a new Ns Instances and perform a JSON schema validation of the collected instance data structure - ... Pre-conditions: None. - ... Reference: clause 6.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Pre-conditions: An NS Instance is already created + ... Reference: clause 6.4.2.3.1 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: A Ns instance is instantiated. @@ -26,7 +26,7 @@ GET information about multiple NS instances ... Test title: GET information about multiple NS instances ... Test objective: The objective is to test the retrieval of all the available NS Instances and perform a JSON schema and content validation of the collected instance data structure ... Pre-conditions: An NS Instance is already created - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -38,8 +38,8 @@ GET information about multiple NS instances Bad Request Invalid attribute-based [Documentation] Test ID: 5.3.2.1.3 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to query information about multiple NS instances with Invalid attribute-based filtering parameters - ... Pre-conditions: A Ns instance is instantiated, a bad attribute-based filter parameter is either malformed or syntactically incorrect (filter parameters are listed in Table 6.4.2.3.2-1 - SOL005 v2.4.1) - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Pre-conditions: An Ns instance is instantiated, a bad attribute-based filter parameter is either malformed or syntactically incorrect (filter parameters are listed in Table 6.4.2.3.2-1 - SOL005 v2.4.1) + ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -52,7 +52,7 @@ GET information about multiple NS instances Bad Request Invalid attribute select ... Test title: GET information about multiple NS instances Bad Request Invalid attribute selector ... Test objective: The objective is to query information about multiple NS instances with Invalid attribute selector ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector parameter is either malformed or syntactically incorrect (filter parameters are listed in Table 6.4.2.3.2-1 - SOL005 v2.4.1) - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none. ... Post-Conditions: none. @@ -64,7 +64,7 @@ GET NSInstances with "all_fields" attribute selector ... Test title: GET NSInstances with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -77,7 +77,7 @@ GET NSInstances with "exclude_default" attribute selector ... Test title: GET NSInstances with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -90,7 +90,7 @@ GET NSInstances with "fields" attribute selector ... Test title: GET NSInstances with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -103,7 +103,7 @@ GET NSInstances with "exclude_fields" attribute selector ... Test title: GET NSInstances with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active NSInstances with attribute selector ... Pre-conditions: - ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: ... Post-Conditions: @@ -116,7 +116,7 @@ PUT NSInstances - Method not implemented ... Test title: PUT Individual NS instance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.3 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not modified by the operation @@ -128,7 +128,7 @@ PATCH NSInstances - Method not implemented ... Test title: PATCH NSInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.4 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not modified by the operation @@ -140,7 +140,7 @@ DELETE NSInstances - Method not implemented ... Test title: DELETE NSInstances - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: clause 6.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v2.4.1 + ... Reference: clause 6.4.2.3.5 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: The NS instance is not deleted by the operation -- GitLab From 2fd0f202de91545d28d4315fb4dd91f51188a9f6 Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 18 Mar 2020 09:22:30 +0500 Subject: [PATCH 22/27] fixed issues in EscalatePerceivedServerity --- .../EscalatePerceivedSeverityTask.robot | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot index d25671ed0..87c44a93b 100644 --- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot +++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot @@ -20,7 +20,7 @@ Escalate the perceived severity GET Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.2 ... Test title: GET Escalate the perceived severity - Method not implemented - ... Test objective: The objective is to test that the escalate perceived severity method is not implemented + ... Test objective: The objective is to test that the GET HTTP method not implemented for escalate perceived severity ... Pre-conditions: ... Reference: clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM @@ -32,7 +32,7 @@ GET Escalate the perceived severity - Method not implemented PUT Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.3 ... Test title: PUT Escalate the perceived severity - Method not implemented - ... Test objective: The objective is to test that the escalate perceived severity method is not implemented + ... Test objective: The objective is to test that the PUT HTTP method not implemented for escalate perceived severity ... Pre-conditions: ... Reference: clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM @@ -44,7 +44,7 @@ PUT Escalate the perceived severity - Method not implemented PATCH Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.4 ... Test title: PATCH Escalate the perceived severity - Method not implemented - ... Test objective: The objective is to test that the escalate perceived severity method is not implemented + ... Test objective: The objective is to test that the PATCH HTTP method not implemented for escalate perceived severity ... Pre-conditions: ... Reference: clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM @@ -57,7 +57,7 @@ PATCH Escalate the perceived severity - Method not implemented DELETE Escalate the perceived severity - Method not implemented [Documentation] Test ID: 6.3.4.3.5 ... Test title: DELETE Escalate the perceived severity - Method not implemented - ... Test objective: The objective is to test that the method is not implemented + ... Test objective: The objective is to test that the DELETE HTTP method not implemented for escalate perceived severity ... Pre-conditions: ... Reference: clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v2.4.1 ... Config ID: Config_prod_VNFM -- GitLab From 5f5861bf47ab3fbdfc3c4833b16bd44be20a9d4f Mon Sep 17 00:00:00 2001 From: uihassan Date: Wed, 8 Apr 2020 15:05:29 +0500 Subject: [PATCH 23/27] fixed post-condition issues --- .../Subscriptions.robot | 1 + .../VnfLcmOperationKeywords.robot | 16 +++++++++++++++- .../VnfLcmOperationOccurences.robot | 1 + .../DeleteNSInstanceWorkflow.robot | 2 +- .../HealNSTaskWorkflow.robot | 2 +- 5 files changed, 19 insertions(+), 3 deletions(-) diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index a65cd4a60..b92279547 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -171,4 +171,5 @@ DELETE subscriptions - Method not implemented ... Post-Conditions: check that resources are not deleted DELETE subscriptions Check HTTP Response Status Code Is 405 + Check Subscription resource exist \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot index d0737e0c0..2be255d9f 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot @@ -922,4 +922,18 @@ GET test endpoint Create Mock Expectation ${req} ${rsp} Sleep ${sleep_interval} Verify Mock Expectation ${req} - Clear Requests ${callback_endpoint} \ No newline at end of file + Clear Requests ${callback_endpoint} + +Check LCM OP OCC resource exist + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/vnf_lcm_op_occs + Integer response status 200 + +Check Subscription resource exist + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions + Integer response status 200 \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index 2130f165f..86df8cacb 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -146,3 +146,4 @@ DELETE status information about multiple VNF LCM operation occurrences - Method ... Post-Conditions: Verify that resources are not deleted DELETE VNF LCM OP occurences Check HTTP Response Status Code Is 405 + Check LCM OP OCC resource exist diff --git a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot index 6bb18c9c6..289debbfd 100644 --- a/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/DeleteNSInstanceWorkflow.robot @@ -15,7 +15,7 @@ NS Instance Deletion ... Reference: clause 6.3.2 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: Resource should be deleted + ... Post-Conditions: NS Instance resource is deleted Check resource not_instantiated DELETE IndividualNSInstance Check HTTP Response Status Code Is 204 diff --git a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot index ceb72fb82..af83a9b20 100644 --- a/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot +++ b/SOL005/NSLifecycleManagement-API/HealNSTaskWorkflow.robot @@ -17,7 +17,7 @@ Heal Flow of NS lifecycle management operations ... Reference: clause 6.4.7 - ETSI GS NFV-SOL 005 [3] v2.4.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: Resource Instantiated + ... Post-Conditions: NS Instance still in INSTANTIATED state Check resource instantiated POST Heal NSInstance Check HTTP Response Status Code Is 202 -- GitLab From deb0087890ea60e4346d0d1bec0eeec4532e9403 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 10 Apr 2020 11:37:12 +0200 Subject: [PATCH 24/27] added missing robot library string --- SOL002/VNFIndicator-API/Subscriptions.robot | 3 ++- SOL002/VNFIndicator-API/VNFIndicators.robot | 5 +++-- SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot | 1 + SOL002/VNFIndicator-API/environment/vnfIndicators.txt | 5 +++-- SOL002/VNFPerformanceManagement-API/PMJobs.robot | 1 + SOL002/VNFPerformanceManagement-API/Thresholds.robot | 1 + .../FaultManagement-APIKeyword.robot | 3 +-- SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot | 5 +++-- SOL003/VNFPerformanceManagement-API/PMJobs.robot | 1 + SOL005/NSDManagement-API/NSDManagementKeywords.robot | 7 +++---- SOL005/NSLifecycleManagement-API/NSInstances.robot | 2 +- .../NSPerformanceManagementKeywords.robot | 3 ++- .../VNFPackageManagementKeywords.robot | 7 ++++--- 13 files changed, 26 insertions(+), 18 deletions(-) diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index 323810ca3..f0c3ed2b7 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -5,7 +5,8 @@ Resource environment/subscriptions.txt Library OperatingSystem Library JSONLibrary Library Process -Library MockServerLibrary +Library MockServerLibrary +Library String Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false Suite Setup Create Sessions Suite Teardown Terminate All Processes kill=true diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot index 967316258..d4f7aadd5 100644 --- a/SOL002/VNFIndicator-API/VNFIndicators.robot +++ b/SOL002/VNFIndicator-API/VNFIndicators.robot @@ -3,6 +3,7 @@ Documentation This clause defines all the resources and methods provided by Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary +Library String Resource environment/vnfIndicators.txt Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false @@ -270,6 +271,6 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} - @{var_name} = Split String @{attr}[0] ,${SEPERATOR} - @{var_id} = Split String @{attr}[1] ,${SEPERATOR} + @{var_name} = Split String @{attr}[0] ,${SEPERATOR} + @{var_id} = Split String @{attr}[1] ,${SEPERATOR} Should Be True "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]" \ No newline at end of file diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 00bbffa1d..ffc1d081d 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -4,6 +4,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource environment/vnfIndicatorinVnfInstance.txt Library JSONLibrary +Library String Library REST ${EM-VNF_SCHEMA}://${EM-VNF_HOST}:${EM-VNF_PORT} ssl_verify=false *** Test Cases *** diff --git a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt index 3613a9997..847659079 100644 --- a/SOL002/VNFIndicator-API/environment/vnfIndicators.txt +++ b/SOL002/VNFIndicator-API/environment/vnfIndicators.txt @@ -2,6 +2,7 @@ ${POS_FIELDS} name=vnfIndicator&vnfInstanceId=80b0deba-c398-445b-bef0-ac0fe733e3d0 ${NEG_FIELDS} wrongName=wrongValue ${response} some_response_object -${vnfIndicators} +${vnfIndicators} = ${SEPERATOR} = -${VAR_SEPERATOR} & \ No newline at end of file +${VAR_SEPERATOR} & +${POS_FILTER} = \ No newline at end of file diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot index b9c9991b5..859e67ab6 100644 --- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot @@ -3,6 +3,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Library OperatingSystem +Library String Resource environment/pmJobs.txt Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index 606c0bb61..419bcf8e3 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -2,6 +2,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary +Library String Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Resource environment/thresholds.txt Library OperatingSystem diff --git a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot index a82a0a9cf..e049bbe10 100644 --- a/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot +++ b/SOL003/VNFFaultManagement-API/FaultManagement-APIKeyword.robot @@ -13,10 +13,9 @@ ${original_etag} 1234 *** Keywords *** Check created Subscription existence - ${subscriptionId} = ${response['body']['id']} Set Headers {"Accept":"${ACCEPT}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} - Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${subscriptionId} + Get ${apiRoot}/${apiName}/${apiVersion}/subscriptions/${response['body']['id']} Integer response status 200 Check Postcondition FaultManagement Subscription Is Set Log Check Postcondition subscription exist diff --git a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot index f58c7a086..fbdd736ce 100644 --- a/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot +++ b/SOL003/VNFIndicator-API/VNFIndicatorsKeywords.robot @@ -13,6 +13,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** Get All VNF Indicators Subscriptions @@ -330,8 +331,8 @@ Check Postcondition VNF Indicators Exist Check HTTP Response Body vnfIndicators Matches the requested attribute-based filter Log Check Response includes VNF Indicators according to filter @{attr} = Split String ${POS_FIELDS} ,${VAR_SEPERATOR} - @{var_name} = Split String @{attr}[0] ,${SEPERATOR} - @{var_id} = Split String @{attr}[1] ,${SEPERATOR} + @{var_name} = Split String @{attr}[0] ,${SEPERATOR} + @{var_id} = Split String @{attr}[1] ,${SEPERATOR} Should Be True "${response['body'][0]['name']}"=="@{var_name}[1]" and "${response['body'][0]['vnfInstanceId']}"=="@{var_id}[1]" Get all indicators for a VNF instance diff --git a/SOL003/VNFPerformanceManagement-API/PMJobs.robot b/SOL003/VNFPerformanceManagement-API/PMJobs.robot index d3cac1bf4..e47a3ac9c 100644 --- a/SOL003/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL003/VNFPerformanceManagement-API/PMJobs.robot @@ -3,6 +3,7 @@ Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Library JSONLibrary Library OperatingSystem +Library String Resource environment/pmJobs.txt Library REST ${VNFM_SCHEMA}://${VNFM_HOST}:${VNFM_PORT} ssl_verify=false Library MockServerLibrary diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index 4c8d10611..96abb7912 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -12,6 +12,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** GET all Network Service Descriptors Information @@ -32,7 +33,7 @@ GET Network Service Descriptors Information with attribute-based filter Check HTTP Response Body NsdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - @{words} = Split String ${NSD_NAME} ,${SEPERATOR} + @{words} = Split String ${NSD_NAME} ,${SEPERATOR} Should Be Equal As Strings ${response['body'][0]['nsdName']} @{words}[1] GET Network Service Descriptors Information with invalid attribute-based filter @@ -422,8 +423,6 @@ Send PUT Request to upload NSD Content as plain text file in asynchronous mode ${output}= Output response Set Suite Variable ${response} ${output} -==== BASE ==== -==== BASE ==== Send PUT Request to upload NSD Content as zip file in synchronous mode Log Trying to perform a PUT. This method upload the content of a NSD Set Headers {"Accept": "${ACCEPT_ZIP}"} @@ -504,7 +503,7 @@ GET PNF Descriptors Information with attribute-based filter Check HTTP Response Body PnfdInfos Matches the requested attribute-based filter Log Checking that attribute-based filter is matched - @{words} = Split String ${PNFD_NAME} ,${SEPERATOR} + @{words} = Split String ${PNFD_NAME} ,${SEPERATOR} Should Be Equal As Strings ${response['body'][0]['pnfdName']} @{words}[1] GET PNF Descriptors Information with invalid attribute-based filter diff --git a/SOL005/NSLifecycleManagement-API/NSInstances.robot b/SOL005/NSLifecycleManagement-API/NSInstances.robot index eb83646a8..72121da41 100644 --- a/SOL005/NSLifecycleManagement-API/NSInstances.robot +++ b/SOL005/NSLifecycleManagement-API/NSInstances.robot @@ -50,7 +50,7 @@ GET information about multiple NS instances Bad Request Invalid attribute-based GET information about multiple NS instances Bad Request Invalid attribute selector [Documentation] Test ID: 5.3.2.1.4 ... Test title: GET information about multiple NS instances Bad Request Invalid attribute selector - ... Test objective: The objective is to query information about multiple NS instances with Invalid attribute selector + ... Test objective: The objective is to query information about multiple NS instances with Invalid attribute selector ... Pre-conditions: A Ns instance is instantiated, a bad attribute selector parameter is either malformed or syntactically incorrect (filter parameters are listed in Table 6.4.2.3.2-1 - SOL005 v2.4.1) ... Reference: clause 6.4.2.3.2 - ETSI GS NFV-SOL 005 v2.4.1 ... Config ID: Config_prod_NFVO diff --git a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot index 660310863..eaa4fb63f 100644 --- a/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot +++ b/SOL005/NSPerformanceManagement-API/NSPerformanceManagementKeywords.robot @@ -15,6 +15,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** GET all NS Performance Monitoring Jobs @@ -422,7 +423,7 @@ Check Postcondition Threshold Exists Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched - @{words} = Split String ${FILTER_OK_Threshold} ,${SEPERATOR} + @{words} = Split String ${FILTER_OK_Threshold} ,${SEPERATOR} Should Be Equal As Strings ${response['body'][0]['objectInstanceId']} @{words}[1] diff --git a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 67cfbe57f..eb8c08db4 100644 --- a/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL005/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -14,6 +14,7 @@ Library JSONLibrary Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false Library Process Library MockServerLibrary +Library String *** Keywords *** @@ -59,9 +60,9 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} - @{var_id} = Split String @{attr}[0] ,${SEPERATOR} - @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_id} = Split String @{attr}[0] ,${SEPERATOR} + @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} Should Be True "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]" GET VNF Packages with invalid attribute-based filter -- GitLab From ba915f31035b8ded9c10fb57bdc7bc838b1b2346 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 10 Apr 2020 11:55:03 +0200 Subject: [PATCH 25/27] fixed indentation problems --- .../VNFPackageManagementKeywords.robot | 7 ++++--- SOL005/NSDManagement-API/NSDManagementKeywords.robot | 12 ++++++++++++ .../IndividualNSInstance.robot | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 2411b8b8b..00839ae3c 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -15,6 +15,7 @@ Library JSONLibrary Library Collections Library JSONSchemaLibrary schemas/ Library Process +Library String *** Keywords *** @@ -54,9 +55,9 @@ GET VNF Packages with attribute-based filter Check HTTP Response Body VnfPkgsInfo Matches the requested Attribute-Based Filter Log Checking that attribute-based filter is matched - @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} - @{var_id} = Split String @{attr}[0] ,${SEPERATOR} - @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} + @{attr} = Split String ${POS_FILTER} ,${VAR_SEPERATOR} + @{var_id} = Split String @{attr}[0] ,${SEPERATOR} + @{var_provider} = Split String @{attr}[1] ,${SEPERATOR} Should Be True "${response['body'][0]['vnfdId']}"=="@{var_id}[1]" and "${response['body'][0]['vnfProvider']}"=="@{var_provider}[1]" GET VNF Packages with invalid attribute-based filter diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index 96abb7912..c6888eedc 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -445,6 +445,18 @@ Send PUT Request to upload NSD Content as plain text file in synchronous mode ${output}= Output response Set Suite Variable ${response} ${output} +Check Post Condition NSD Content has been Uploaded + Log Checking NsdOnboardingNotification Recieved + Wait Until Keyword Succeeds ${retry} ${interval} Check Response is NsdOnboardingNotification + +Check Response is NsdOnboardingNotification + ${response}= Output response body + Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= NsdOnboardingNotification .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + + Check Postcondition NSD Content is uploaded and available in the NFVO Get single file NSD Content in Plain or Zip Format Check HTTP Response Status Code Is 200 diff --git a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot index 0461ed7a2..8114b240f 100644 --- a/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot +++ b/SOL005/NSLifecycleManagement-API/IndividualNSInstance.robot @@ -19,7 +19,7 @@ POST Individual NSInstance - Method not implemented ... Post-Conditions: Check Postcondition NS Instance is not created POST IndividualNSInstance Check HTTP Response Status Code Is 405 - Check Postcondition NS Instance is not crerated + Check Postcondition NS Instance is not created GET Information about an individual NS Instance [Documentation] Test ID: 5.3.2.2.2 -- GitLab From 88a05937783ec085d81c1e324018509540590fbe Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 13 Apr 2020 11:15:05 +0500 Subject: [PATCH 26/27] Updated Objectives of 7.3.2.2.2-4 --- .gitignore | 1 + .../VNFLifecycleOperationGranting-API/IndividualGrant.robot | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index a40199d34..3667399ca 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /red.xml build/ dist/ +/libspecs/ diff --git a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot index b56f6f78f..e6622a3b6 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot @@ -27,7 +27,7 @@ POST Individual Grant - Method not implemented GET an individual grant - Successful [Documentation] Test ID: 7.3.2.2.2 ... Test title: GET an individual grant - Successful - ... Test objective: The objective is to successfully request a grant for a particular VNF lifecycle operation + ... Test objective: The objective is to retrieve a grant for ta particular VNF Lifecycle Operation. ... Pre-conditions: The grant information is available to the VNFM ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO @@ -41,7 +41,7 @@ GET an individual grant - Process ongoing [Tags] no-synchronous-mode [Documentation] Test ID: 7.3.2.2.3 ... Test title: GET an individual grant - Process ongoing - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation when process is ongoing and no grant is avaliable yet + ... Test objective: The objective is to retrieve a grant for a particular VNF lifecycle operation when process is ongoing and no grant is available yet. ... Pre-conditions: The process of creating the grant is ongoing, no grant is available yet. ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO @@ -55,7 +55,7 @@ GET an individual grant - grant rejected [Tags] no-synchronous-mode [Documentation] Test ID: 7.3.2.2.4 ... Test title: GET an individual grant - grant rejected - ... Test objective: The objective is to request a grant for a particular VNF lifecycle operation when grant is rejected + ... Test objective: The objective is to retrieve a grant for a particular VNF Lifecycle Operation but error returned because grant has been rejected. ... Pre-conditions: none ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO -- GitLab From 23e060f719e111d9f3cf0dd9b6d165a4bce44995 Mon Sep 17 00:00:00 2001 From: uihassan Date: Mon, 13 Apr 2020 12:38:58 +0500 Subject: [PATCH 27/27] typo fixed --- SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot index e6622a3b6..e7d7962b1 100644 --- a/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot +++ b/SOL003/VNFLifecycleOperationGranting-API/IndividualGrant.robot @@ -27,7 +27,7 @@ POST Individual Grant - Method not implemented GET an individual grant - Successful [Documentation] Test ID: 7.3.2.2.2 ... Test title: GET an individual grant - Successful - ... Test objective: The objective is to retrieve a grant for ta particular VNF Lifecycle Operation. + ... Test objective: The objective is to retrieve a grant for a particular VNF Lifecycle Operation. ... Pre-conditions: The grant information is available to the VNFM ... Reference: clause 9.4.3.3.2 - ETSI GS NFV-SOL 003 [1] v2.4.1 ... Config ID: Config_prod_NFVO -- GitLab