From 604b196ad9cbdf04c7075c786011491f1e5b9172 Mon Sep 17 00:00:00 2001 From: uihassan Date: Tue, 20 Oct 2020 15:28:11 +0500 Subject: [PATCH] New Resource PNFD added --- SOL005/NSDManagement-API/NSD.robot | 2 +- .../NSDManagementKeywords.robot | 102 ++++++++++- SOL005/NSDManagement-API/PNFD.robot | 162 ++++++++++++++++++ .../PNFDArchiveContent.robot | 5 +- 4 files changed, 267 insertions(+), 4 deletions(-) create mode 100644 SOL005/NSDManagement-API/PNFD.robot diff --git a/SOL005/NSDManagement-API/NSD.robot b/SOL005/NSDManagement-API/NSD.robot index b70f7ab8..f91965ca 100644 --- a/SOL005/NSDManagement-API/NSD.robot +++ b/SOL005/NSDManagement-API/NSD.robot @@ -8,7 +8,7 @@ Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_veri Library OperatingSystem *** Test Cases *** -Get single file NSD Content in Plain Format +Get single file NSD in Plain Format [Documentation] Test ID: 5.3.1.10.1 ... Test title: Get single file NSD in Plain Format ... Test objective: The objective is to test the retrieval of the NSD in plain format within a NSD archive and perform a validation that returned content is in plain format diff --git a/SOL005/NSDManagement-API/NSDManagementKeywords.robot b/SOL005/NSDManagement-API/NSDManagementKeywords.robot index 60d89bf4..a07d543c 100644 --- a/SOL005/NSDManagement-API/NSDManagementKeywords.robot +++ b/SOL005/NSDManagement-API/NSDManagementKeywords.robot @@ -1171,4 +1171,104 @@ Send DELETE Request for NSD Archive Manifest Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} DELETE ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${nsdInfoIdZip}/manifest ${output}= Output response - Set Suite Variable ${response} ${output} \ No newline at end of file + Set Suite Variable ${response} ${output} + +Get single file PNFD in Plain Format + Log Trying to get a PNFD present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get PNFD in Zip Format + Log Trying to get a PNFD present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get single file PNFD in Plain or Zip Format + Log Trying to get a PNFD present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get multi file PNFD in Plain or Zip Format + Log Trying to get a VNFD from a given PNFD Management present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get multi file PNFD in Plain Format + Log Trying to get a negative case performing a get on a PNFD present in the NFVO Catalogue. Accept will be text/plain but PNFD is composed my multiple files. + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get PNFD with invalid resource identifier + Log Trying to perform a negative get, using an erroneous package ID + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${erroneous_PNFDInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get PNFD with conflict due to onboarding state + Log Trying to get a VNFD from a given PNFD Management present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Set Headers {"Accept": "${ACCEPT_PLAIN}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${onboardingStatePnfdId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Get PNFD with security information + Log Trying to get a PNFD present in the NFVO Catalogue + Set Headers {"Accept": "${ACCEPT_ZIP}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd/include_signatures + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send POST Request for PNFD + Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. + Log Trying to perform a POST. This method should not be implemented + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PUT Request for PNFD + Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. + Log Trying to perform a PATCH. This method should not be implemented + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PUT ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send PATCH Request for PNFD + Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. + Log Trying to perform a PATCH. This method should not be implemented + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + PATCH ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send DELETE Request for PNFD + Pass Execution If ${testOptionalMethods} == 0 optional methods are not implemented on the FUT. Skipping test. + Log Trying to perform a DELETE. This method should not be implemented + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiVersion}/ns_descriptors/${pnfdInfoId}/pnfd + ${output}= Output response + Set Suite Variable ${response} ${output} diff --git a/SOL005/NSDManagement-API/PNFD.robot b/SOL005/NSDManagement-API/PNFD.robot new file mode 100644 index 00000000..e1bdb91c --- /dev/null +++ b/SOL005/NSDManagement-API/PNFD.robot @@ -0,0 +1,162 @@ +*** Settings *** +Documentation This Clause defines the content of the individual NS descriptor, i.e. PNFD content +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource environment/pnfDescriptors.txt # Specific PNFDescriptors Parameters +Resource NSDManagementKeywords.robot +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library OperatingSystem + +*** Test Cases *** +Get single file PNFD in Plain Format + [Documentation] Test ID: 5.3.1.11.1 + ... Test title: Get single file PNFD in Plain Format + ... Test objective: The objective is to test the retrieval of the PNFD in plain format within a PNFD archive and perform a validation that returned content is in plain format + ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The PNFD is implemented as a single file + ... Post-Conditions: none + Get single file PNFD in Plain Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is text/plain + +Get PNFD in Zip Format + [Documentation] Test ID: 5.3.1.11.2 + ... Test title: Get PNFD in Zip Format + ... Test objective: The objective is to test the retrieval of the PNFD in zip format within a PNFD archive and perform a validation that returned content is in zip format + ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get PNFD in Zip Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/zip + +Get single file PNFD in Plain or Zip Format + [Documentation] Test ID: 5.3.1.11.3 + ... Test title: Get single file PNFDin Plain or Zip Format + ... Test objective: The objective is to test the retrieval of the single file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that response is in Plain or Zip format + ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The PNFD is implemented as a single file + ... Post-Conditions: none + Get single file PNFD in Plain or Zip Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is Any of text/plain application/zip + +Get multi file PNFD in Plain or Zip Format + [Documentation] Test ID: 5.3.1.11.4 + ... Test title: Get multi file PNFD in Plain or Zip Format + ... Test objective: The objective is to test the retrieval of the multi file PNFD within a PNFD archive when requesting Plain or Zip format to NFVO by including both formats in the request, and perform a validation that returned content is in Zip format + ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The PNFD is implemented as a multi file + ... Post-Conditions: none + Get multi file PNFD in Plain or Zip Format + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/zip + +Get multi file PNFD in Plain Format + [Documentation] Test ID: 5.3.1.11.5 + ... Test title: Get multi file PNFD in Plain Format + ... Test objective: The objective is to test that the retrieval of the multi file PNFD within a PNFD archive fails when requesting it in Plain format, and perform a validation of the JSON schema validation of the failed operation HTTP response + ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The PNFD is implemented as a multi file + ... Post-Conditions: none + Get multi file PNFD in Plain Format + Check HTTP Response Status Code Is 406 + Check HTTP Response Body Json Schema Is ProblemDetails + +Get PNFD Content with invalid resource identifier + [Documentation] Test ID: 5.3.1.11.6 + ... Test title: Get PNFD Content with invalid resource identifier + ... Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails when using an invalid resource identifier + ... Pre-conditions: none + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get PNFD with invalid resource identifier + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +Get PNFD with conflict due to onboarding state + [Documentation] Test ID: 5.3.1.11.7 + ... Test title: Get PNFD with conflict due to onboarding state + ... Test objective: The objective is to test that the retrieval of the PNFD within a PNFD archive fails due to a conflict when the PNFD is not in onboarding state ONBOARDED 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 is different from ONBOARDED. + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get PNFD with conflict due to onboarding state + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + +Get PNFD with security information + [Documentation] Test ID: 5.3.1.11.8 + ... Test title: Get PNFD with security information + ... Test objective: The objective is to test the retrieval of the PNFD within a PNFD archive shall include in the ZIP archive the security information when requested with "include_signature" parameter + ... Pre-conditions: One or more PNFDs are onboarded in the NFVO. + ... Reference: Clause 5.4.7a.3.2 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get PNFD with security information + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Content-Type Is application/zip + +POST PNFD - Method not implemented + [Documentation] Test ID: 5.3.1.11.9 + ... Test title: POST PNFD - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create a new PNFD + ... Pre-conditions: none + ... Reference: Clause 5.4.7a.3.1 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send POST Request for PNFD + Check HTTP Response Status Code Is 405 + +PUT PNFD - Method not implemented + [Documentation] Test ID: 5.3.1.11.10 + ... Test title: PUT PNFD - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update PNFD + ... Pre-conditions: none + ... Reference: Clause 5.4.7a.3.3 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PUT Request for PNFD + Check HTTP Response Status Code Is 405 + +PATCH PNFD - Method not implemented + [Documentation] Test ID: 5.3.1.11.11 + ... Test title: PATCH PNFD - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update PNFD + ... Pre-conditions: none + ... Reference: Clause 5.4.7a.3.4 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send PATCH Request for PNFD + Check HTTP Response Status Code Is 405 + +DELETE PNFD - Method not implemented + [Documentation] Test ID: 5.3.1.11.12 + ... Test title: DELETE PNFD - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete PNFD + ... Pre-conditions: none + ... Reference: Clause 5.4.7a.3.5 - ETSI GS NFV-SOL 005 [3] v2.6.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send DELETE Request for PNFD + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSDManagement-API/PNFDArchiveContent.robot b/SOL005/NSDManagement-API/PNFDArchiveContent.robot index ccf003da..7a1697cc 100644 --- a/SOL005/NSDManagement-API/PNFDArchiveContent.robot +++ b/SOL005/NSDManagement-API/PNFDArchiveContent.robot @@ -33,6 +33,7 @@ Get PNFD Content with invalid resource identifier ... Post-Conditions: none Get PNFD Content with invalid resource identifier Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails Get PNFD Content with conflict due to onboarding state [Documentation] Test ID: 5.3.1.6.3 @@ -105,10 +106,9 @@ DELETE PNFD Content - Method not implemented ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 005 [3] v2.7.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: The PNFD content is not deleted by the failed operation + ... Post-Conditions: none Send DELETE Request for PNFD Content Check HTTP Response Status Code Is 405 - Check Postcondition PNFD Content Exists Get PNFD Content with Range Request and NFVO supporting Range Requests [Documentation] Test ID: 5.3.1.6.9 @@ -135,6 +135,7 @@ Get PNFD Content with invalid Range Request ... Post-Conditions: none Get PNFD Content with invalid Range Request Check HTTP Response Status Code Is 416 + Check HTTP Response Body Json Schema Is ProblemDetails Upload PNFD Archive Content [Documentation] Test ID: 5.3.1.6.11 -- GitLab