From fbde710f15197aef38b86f40da82e69607c977b0 Mon Sep 17 00:00:00 2001 From: Najam UI Hassan Date: Mon, 20 Jan 2020 08:42:30 +0100 Subject: [PATCH 1/7] 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 eede2a5376095e67d982c08c590a18802e1dc0aa Mon Sep 17 00:00:00 2001 From: root Date: Thu, 23 Jan 2020 11:22:42 +0500 Subject: [PATCH 2/7] 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 | 8 ++++---- SOL005/NSLifecycleManagement-API/Subscriptions.robot | 6 +++--- 7 files changed, 25 insertions(+), 21 deletions(-) diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 62969d9b8..121aa163f 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 - SOL002 v2.4.1 ... Config ID: Config_prod_VNFM diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index cd55dab6a..b17eb5f7e 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 - SOL002 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 ab6aa6a08..3e1a278c6 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 e6ac315c1..bd5b6db18 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,13 +136,13 @@ 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 ... Reference: clause 5.4.12.3.5 - SOL002 v2.4.1 ... Config ID: Config_prod_VE ... Applicability: none - ... Post-Conditions: none + ... Post-Conditions: Verify that resources are not deleted DELETE VNF LCM OP occurences Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSDManagement-API/PNFDContent.robot b/SOL005/NSDManagement-API/PNFDContent.robot index 9d7c91c65..3c80bc14c 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 - SOL005 v2.4.1 + ... Reference: clause 5.4.7.3.3 - SOL005 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 - SOL005 v2.4.1 + ... Reference: clause 5.4.7.3.3 - SOL005 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 59e92f09f..87a868417 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,7 +72,7 @@ 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 @@ -84,7 +84,7 @@ 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 @@ -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 f88cf939f..4fba281db 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 can't 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 can't 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 can't modify a NS lifecycle management subscription ... Pre-conditions: none -- GitLab From ec146a44ff49dc30c1be7454b35413d06d2f0ff4 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 24 Jan 2020 13:07:37 +0500 Subject: [PATCH 3/7] bug-fixes --- .../IndividualVNFInstance.robot | 2 +- .../VNFLifecycleManagement-API/Subscriptions.robot | 6 +++--- .../IndividualVNFInstance.robot | 6 +++--- .../VNFLifecycleManagement-API/ScaleVNFTask.robot | 7 ++++--- .../ScaleVNFToLevelTask.robot | 7 ++++--- .../TerminateVNFTask.robot | 6 +++--- .../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, 43 insertions(+), 33 deletions(-) diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 3e1a278c6..71623bb86 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 - SOL002 v2.4.1 ... Config ID: Config_prod_VE ... Applicability: diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index 6a73197cf..d5afeb8df 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 - SOL002 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 - SOL002 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 - SOL002 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 1a6a8c3bb..7b9026910 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 - SOL003 v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: @@ -110,10 +109,11 @@ DELETE Individual VNFInstance Conflict ... Reference: clause 5.4.3.3.5 - SOL003 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 existance *** Keywords *** Check resource existance diff --git a/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot b/SOL003/VNFLifecycleManagement-API/ScaleVNFTask.robot index fa5070f15..2c7668a4b 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 - SOL003 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 - SOL003 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 existance *** Keywords *** Check resource existance @@ -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 fd9b0c19d..b84eed28b 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 instance resource is in INSTANTIATED state ... Reference: clause 5.4.6.3.1 - SOL003 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 - SOL003 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 existance *** Keywords *** Check resource existance @@ -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 3f744e5cd..f5e96aadc 100644 --- a/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL003/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -13,8 +13,8 @@ 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 - ... Reference: clause 5.4.8.3.1 - SOL003 v2.4.1 + ... Pre-conditions: resource state should be INSTANTIATED + ... Reference: clause 5.4.8.3.1 - SOL003 v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: @@ -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 390026c2f..4a7c1e2f2 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 - SOL003 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 c96fc2c78..cc0fa5c6a 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 - SOL003 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 - SOL003 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 563080bc8..8ec45ec06 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 948c81c67..f37726ebf 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 - SOL005 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 12686a206..a267fc660 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 0544139c0..92bf4c184 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 b720cfb98..cc6a77677 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 e4178bdd8..77f114194 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 19fe1dbd0..147fe7260 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 a3873b7c1c75691c925cf764affe9ed49490a9ff Mon Sep 17 00:00:00 2001 From: root Date: Fri, 24 Jan 2020 16:20:10 +0500 Subject: [PATCH 4/7] 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 b17eb5f7e..c38b64e5f 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 d433752a9..07e02b459 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 738c7beb4..11b447f38 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 f37726ebf..e7186ea74 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 1ad0bf928..eb4f075b4 100644 --- a/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot +++ b/SOL005/NSLifecycleManagement-API/NSLCMOperationKeywords.robot @@ -30,6 +30,13 @@ Check subscription existance 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 e533844304e0de655bdff2a8402e5d8ef1c92601 Mon Sep 17 00:00:00 2001 From: root Date: Mon, 27 Jan 2020 12:36:28 +0500 Subject: [PATCH 5/7] 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 c38b64e5f..056c48706 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 7b9026910..a479fd642 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 - SOL003 v2.4.1 ... Config ID: Config_prod_VNFM ... Applicability: diff --git a/SOL003/VNFLifecycleOperationGranting-API/Grants.robot b/SOL003/VNFLifecycleOperationGranting-API/Grants.robot index cc0fa5c6a..ed93f353a 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 eb4f075b4..c8bb9ae8c 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 8d0a0939ffc9ffbbe36fb188da1822581c3fafba Mon Sep 17 00:00:00 2001 From: root Date: Wed, 29 Jan 2020 10:49:31 +0500 Subject: [PATCH 6/7] 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 07e02b459..ad6d28463 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 11b447f38..ef851a969 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 d2c29e38b5202c926ddd3eca0f63a49706bd33da Mon Sep 17 00:00:00 2001 From: root Date: Wed, 12 Feb 2020 10:23:35 +0500 Subject: [PATCH 7/7] 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 eda2da16b..563034acd 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 7aa95b8bf..afc834dfe 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 f3c536127..d9456984b 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 4dcfc97f5..3ddd35e24 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 6ca7297ea..c35d0e36f 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 ad6d28463..1a32ed84b 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 ef851a969..31ff07995 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 e6a788ee1..ffad88fd0 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 08a20cc6b..a9eb415b2 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 - SOL005 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 693d7d62b..e8820bb6b 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 34a88e137..da1bfaa21 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 bb5d2f3e1..6c43e808f 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