From ec9ff6a36d5d9ef7afeceebf079298404863c1a6 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Fri, 28 May 2021 18:23:53 +0200 Subject: [PATCH] added tests for nextpage_opaque_marker SOL003 VNFPckg --- .../Subscriptions.robot | 14 ++++++- .../VNFPackageManagementKeywords.robot | 38 ++++++++++++++++++- .../VNFPackages.robot | 32 ++++++++++++++-- .../environment/variables.txt | 1 + 4 files changed, 78 insertions(+), 7 deletions(-) diff --git a/SOL003/VNFPackageManagement-API/Subscriptions.robot b/SOL003/VNFPackageManagement-API/Subscriptions.robot index 7c2fddc7..fa9fca3c 100644 --- a/SOL003/VNFPackageManagement-API/Subscriptions.robot +++ b/SOL003/VNFPackageManagement-API/Subscriptions.robot @@ -156,12 +156,24 @@ Get All VNF Package Subscriptions as Paged Response ... Pre-conditions: At least one VNF package subscription is available in the NFVO. ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 ... Config ID: Config_prod_NFVO - ... Applicability: none + ... Applicability: The VNFM supports response paging for the subscription resources ... Post-Conditions: none Get all VNF Package Subscriptions Check HTTP Response Status Code Is 200 Check HTTP Response Header Contain Link +GET All VNF Package Subscriptions as a Paged Response with nextpage_opauque_marker parameter + [Documentation] Test ID: 7.3.3.6.11a + ... Test title: GET All VNF Package Subscriptions as a Paged Response with nextpage_opauque_marker parameter + ... Test objective: The objective is to query information about all VNF package subscriptions as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter + ... Pre-conditions: A request for retrieving all VNF package subscriptions as a paged response has been successfully issued (Test ID: 7.3.3.6.11) + ... Reference: Clause 10.4.7.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFM supports response paging for the subscription resources + ... Post-Conditions: none + GET All VNF Package Subscriptions with nextpage_opaque_marker parameter + Check HTTP Response Status Code Is 200 + Get VNF Package Subscriptions - Bad Request Response too Big [Documentation] Test ID: 7.3.3.6.12 ... Test title: Get VNF Package Subscriptions - Bad Request Response too Big diff --git a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot index 8c9d542b..bad2ad8b 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackageManagementKeywords.robot @@ -21,6 +21,15 @@ Get all VNF Packages ${output}= Output response Set Suite Variable ${response} ${output} +Get all VNF Packages with nextpage_opaque_marker parameter + Log Get next page of packages + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Log Execute Query using the URI provided in the previous GET request and validate response + Get ${nextPageUri} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + Check HTTP Response Body Does Not Contain softwareImages Log Checking that field element is missing ${softwareImages}= Get Value From Json ${response['body']} $..softwareImages @@ -360,7 +369,16 @@ Get all VNF Package Subscriptions GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${output}= Output response Set Suite Variable ${response} ${output} - + +GET All VNF Package Subscriptions with nextpage_opaque_marker parameter + Log Get next page of subscriptions + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Log Execute Query using the URI provided in the previous GET request and validate response + Get ${nextPageUri} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + Get VNF Package Subscriptions with attribute-based filters Log Trying to get the list of subscriptions using filters Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -769,6 +787,13 @@ Check Notification Endpoint Check HTTP Response Header Contain Link ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL} + Log Check that Link header contains rel set to next + Should Contain ${linkURL} rel="next" + Log Check that Link header contains URI to next page between <> + ${linkHeaderUri}= Get Regexp Matches ${linkURL} (?<=\<)(.*?)(?=\>) + ${length}= Get Length ${linkHeaderUri} + Should Be Equal As Integers ${length} 0 + Set Global Variable ${nextPageUri} ${linkHeaderUri[0]} Get all OnBoarded VNF Packages Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue @@ -777,7 +802,16 @@ Get all OnBoarded VNF Packages GET ${apiRoot}/${apiName}/${apiMajorVersion}/onboarded_vnf_packages ${output}= Output response Set Suite Variable ${response} ${output} - + +Get all OnBoarded VNF Packages with nextpage_opaque_marker parameter + Log Get next page of packages + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Log Execute Query using the URI provided in the previous GET request and validate response + Get ${nextPageUri} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + GET OnBoarded VNF Packages with attribute-based filter Log Trying to get all OnBoarded VNF Packages present in the NFVO Catalogue, using filter params Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL003/VNFPackageManagement-API/VNFPackages.robot b/SOL003/VNFPackageManagement-API/VNFPackages.robot index e99b3741..944147c8 100644 --- a/SOL003/VNFPackageManagement-API/VNFPackages.robot +++ b/SOL003/VNFPackageManagement-API/VNFPackages.robot @@ -172,12 +172,24 @@ GET all VNF Packages as a Paged Response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 ... Config ID: Config_prod_NFVO - ... Applicability: none + ... Applicability: The VNFM supports response paging for the VNF package resources ... Post-Conditions: none GET all VNF Packages Check HTTP Response Status Code Is 200 Check HTTP Response Header Contain Link - + +GET all VNF Packages as a Paged Response with nextpage_opauque_marker parameter + [Documentation] Test ID: 7.3.3.1.13a + ... Test title: GET all VNF Packages as a Paged Response with nextpage_opauque_marker parameter + ... Test objective: The objective is to query information about all VNF packages as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter + ... Pre-conditions: A request for retrieving all VNF packages as a paged response has been successfully issued (Test ID: 7.3.3.1.13) + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFM supports response paging for the VNF package resources + ... Post-Conditions: none + GET all VNF Packages with nextpage_opaque_marker parameter + Check HTTP Response Status Code Is 200 + GET VNF Packages - Bad Request Response too Big [Documentation] Test ID: 7.3.3.1.14 ... Test title: GET VNF Packages - Bad Request Response too Big @@ -357,12 +369,24 @@ GET all OnBoarded VNF Packages as a Paged Response ... Pre-conditions: One or more VNF packages are onboarded in the NFVO. ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 ... Config ID: Config_prod_NFVO - ... Applicability: none + ... Applicability: The VNFM supports response paging for the VNF package resources ... Post-Conditions: none Get all OnBoarded VNF Packages Check HTTP Response Status Code Is 200 Check HTTP Response Header Contain Link - + +GET all OnBoarded VNF Packages as a Paged Response with nextpage_opauque_marker parameter + [Documentation] Test ID: 7.3.3.1.27a + ... Test title: GET all OnBoarded VNF Packages as a Paged Response with nextpage_opauque_marker parameter + ... Test objective: The objective is to query information about all onBoarded VNF packages as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter + ... Pre-conditions: A request for retrieving all onBoarded VNF packages as a paged response has been successfully issued (Test ID: 7.3.3.1.27) + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 003 [1] v2.8.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The VNFM supports response paging for the VNF package resources + ... Post-Conditions: none + GET all Onboarded VNF Packages with nextpage_opaque_marker parameter + Check HTTP Response Status Code Is 200 + GET OnBoarded VNF Packages - Bad Request Response too Big [Documentation] Test ID: 7.3.3.1.28 ... Test title: GET OnBoarded VNF Packages - Bad Request Response too Big diff --git a/SOL003/VNFPackageManagement-API/environment/variables.txt b/SOL003/VNFPackageManagement-API/environment/variables.txt index 18ab0c53..ad883bc3 100644 --- a/SOL003/VNFPackageManagement-API/environment/variables.txt +++ b/SOL003/VNFPackageManagement-API/environment/variables.txt @@ -36,6 +36,7 @@ ${sleep_interval} 20s ${total_polling_time} 2 min ${polling_interval} 10 sec +${nextPageUri} /some_uri ${notification_request} [] ${notification_response} [] -- GitLab