diff --git a/SOL002/VNFConfiguration-API/ApiVersion.robot b/SOL002/VNFConfiguration-API/ApiVersion.robot index 7e0d66f44423ac9116214e995d9bae00d3f791f9..621fcc74618a0d1c155cc29b6536775fc8b49dc8 100644 --- a/SOL002/VNFConfiguration-API/ApiVersion.robot +++ b/SOL002/VNFConfiguration-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFConfiguration-API/Configuration.robot b/SOL002/VNFConfiguration-API/Configuration.robot index 2b7feaf57cfd5b8139b2079fc8e0561aa29fe662..0d2720bc0e8faa4662f4c6028771cb22f5ab3ad7 100644 --- a/SOL002/VNFConfiguration-API/Configuration.robot +++ b/SOL002/VNFConfiguration-API/Configuration.robot @@ -14,7 +14,7 @@ Set new VNF Configuration ... Test title: Set a new VNF Configuration ... Test objective: The objective is to test the creation of a new VNF configuration and perform a JSON schema validation of the returned configuration data structure ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The configuration is successfully set in the VNF and it matches the issued configuration @@ -30,7 +30,7 @@ Get information about a VNF configuration ... Test title: Get information about a VNF configuration ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -44,7 +44,7 @@ Get information about a VNF configuration with HTTP Etag ... Test title: Get information about a VNF configuration with HTTP Etag ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration, check the generation by the VNF of an HTTP Etag opaque identifier, and perform a JSON schema validation of the collected configuration data structure ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: none @@ -59,7 +59,7 @@ Set new VNF Configuration - HTTP Etag precondition unsuccessful ... Test title: Set a new VNF Configuration - HTTP Etag precondition unsuccessful ... Test objective: The objective is to test the unsuccess in setting a duplication of VNF configuration identified by an already used HTTP Etag identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured (Test ID 6.3.1.1.1) with a given HTTP Etag identifier. - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The VNF configuration is not modified by the unsuccessful operation and it matches the configuration issued in Test ID 6.3.1.1.1 @@ -73,7 +73,7 @@ POST VNF Configuration - Method not implemented ... Test title: POST VNF Configuration - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ PUT VNF Configuration - Method not implemented ... Test title: PUT VNF Configuration - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ DELETE VNF Configuration - Method not implemented ... Test title: Delete VNF Configuration - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF configuration ... Pre-conditions: none - ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ Set new VNF Configuration With Attribute vnfConfigurationData ... Test title: Set a new VNF Configuration with Attribute vnfConfigurationData ... Test objective: The objective is to test the creation of a new VNF configuration and perform a JSON schema validation of the returned configuration data structure ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The configuration is successfully set in the VNF and it matches the issued configuration @@ -124,7 +124,7 @@ Set new VNF Configuration With Attribute vnfcConfigurationData ... Test title: Set a new VNF Configuration with Attribute vnfcConfigurationData ... Test objective: The objective is to test the creation of a new VNF configuration and perform a JSON schema validation of the returned configuration data structure ... Pre-conditions: A VNF instance is instantiated - ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation of HTTP Etag opaque identifiers ... Post-Conditions: The configuration is successfully set in the VNF and it matches the issued configuration @@ -139,7 +139,7 @@ Get information about a VNF configuration with permitted authorization scope ... Test title: Get information about a VNF configuration with permitted authorization scope ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration and perform a JSON schema validation of the collected configuration data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -152,7 +152,7 @@ Get information about a VNF configuration with NOT permitted authorization scope ... Test title: Get information about a VNF configuration with not permitted authorization scope ... Test objective: The objective is to test the retrieval of an existing VNF instance configuration and perform a JSON schema validation of the collected configuration data structure with not permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. The VNF instance is already configured. - ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 9.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/Alarms.robot b/SOL002/VNFFaultManagement-API/Alarms.robot index a1654b64e6720078751fa4b10f0eaff58d6795ed..a1f2e05352fa53e08c2eabbdbbe0d10aeb55d779 100644 --- a/SOL002/VNFFaultManagement-API/Alarms.robot +++ b/SOL002/VNFFaultManagement-API/Alarms.robot @@ -14,7 +14,7 @@ POST Alarms - Method not implemented ... Test title: POST Alarms - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET information about multiple alarms ... Test title: GET information about multiple alarms ... Test objective: The objective is to retrieve information about the alarm list ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,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 with attribute-based filter ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,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: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,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: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,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: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,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: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,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: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,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: none - ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,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: none - ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,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: none - ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -153,7 +153,7 @@ GET information about multiple alarms to get Paged Response ... Test title: GET information about multiple alarms to get Paged Response ... Test objective: The objective is to retrieve information about the alarms to get paged response ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ GET information about multiple alarms for Bad Request Response too big ... Test title: GET information about multiple alarms for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about Alarms when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -179,7 +179,7 @@ GET information about alarms with attribute-based filter "id" ... Test title: GET information about alarms with attribute-based filter "id" ... Test objective: The objective is to retrieve information about the alarm list with alarm filter "id" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -193,7 +193,7 @@ GET information about multiple alarms with attribute-based filter "vnfcInstanceI ... Test title: GET information about multiple alarms with attribute-based filter "vnfcInstanceIds" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "vnfcInstanceIds" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -207,7 +207,7 @@ GET information about multiple alarms with attribute-based filter "rootCauseFaul ... Test title: GET information about multiple alarms with attribute-based filter "rootCauseFaultyResource.faultyResourceType" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "rootCauseFaultyResource.faultyResourceType" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -221,7 +221,7 @@ GET information about multiple alarms with attribute-based filter "eventType" ... Test title: GET information about multiple alarms with attribute-based filter "eventType" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "eventType" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -235,7 +235,7 @@ GET information about multiple alarms with attribute-based filter "perceivedSeve ... Test title: GET information about multiple alarms with attribute-based filter "perceivedSeverity" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "perceivedSeverity" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -249,7 +249,7 @@ GET information about multiple alarms with attribute-based filter "probableCause ... Test title: GET information about multiple alarms with attribute-based filter "probableCause" ... Test objective: The objective is to retrieve information about the alarm list with attribute filter "probableCause" ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -262,7 +262,7 @@ GET information about multiple alarms with permitted authorization scope ... Test title: GET information about multiple alarms with permitted authorization scope ... Test objective: The objective is to retrieve information about the alarm list with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -274,7 +274,7 @@ GET information about multiple alarms with not permitted authorization scope ... Test title: GET information about multiple alarms with not permitted authorization scope ... Test objective: The objective is to retrieve information about the alarm list with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/ApiVersion.robot b/SOL002/VNFFaultManagement-API/ApiVersion.robot index 5a64fe97e088c1db303c279681b84fbcc192aa30..f7937d8999a7daaed499d81e52bb7d53e5e3e23d 100644 --- a/SOL002/VNFFaultManagement-API/ApiVersion.robot +++ b/SOL002/VNFFaultManagement-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot index caed10319bc78540b8c92a631b822bd442e7ddf4..2acf4517eb05cd08758ea6f1442e87af3884eed9 100644 --- a/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot +++ b/SOL002/VNFFaultManagement-API/EscalatePerceivedSeverityTask.robot @@ -13,7 +13,7 @@ Escalate the perceived severity ... Test title: Escalate the perceived severity ... Test objective: To enable the consumer to escalate the perceived severity of an alarm that is represented by an individual alarm resource. ... Pre-conditions: The resource representing the individual alarm has been created - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET Escalate the perceived severity - Method not implemented ... Test title: GET Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the GET HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ PUT Escalate the perceived severity - Method not implemented ... Test title: PUT Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the PUT HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PATCH Escalate the perceived severity - Method not implemented ... Test title: PATCH Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the PATCH HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ DELETE Escalate the perceived severity - Method not implemented ... Test title: DELETE Escalate the perceived severity - Method not implemented ... Test objective: The objective is to test that the DELETE HTTP method not implemented for escalate perceived severity ... Pre-conditions: none - ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ Escalate the perceived severity with permitted authorization scope ... Test title: Escalate the perceived severity with permitted authorization scope ... Test objective: To enable the consumer to escalate the perceived severity of an alarm that is represented by an individual alarm resource with permitted authorization scope. ... Pre-conditions: The resource representing the individual alarm has been created - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -83,7 +83,7 @@ Escalate the perceived severity with NOT permitted authorization scope ... Test title: Escalate the perceived severity with NOT permitted authorization scope ... Test objective: To enable the consumer to escalate the perceived severity of an alarm that is represented by an individual alarm resource with NOT permitted authorization scope. ... Pre-conditions: The resource representing the individual alarm has been created - ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot index 79f9e66ff25d03376d1d63edf99eae60d0f91dca..52c9ff53873b3adf371b8d0a8bd1d6d885688d98 100644 --- a/SOL002/VNFFaultManagement-API/IndividualAlarm.robot +++ b/SOL002/VNFFaultManagement-API/IndividualAlarm.robot @@ -16,7 +16,7 @@ POST Alarm - Method not implemented ... Test title: POST Alarm - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET information about an individual alarm ... Test title: GET information about an individual alarm ... Test objective: The objective is to read an individual alarm. ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ PUT Individual 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: none - ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ PATCH Individual 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] v5.1.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ PATCH Individual Alarm - Precondition failed ... 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 ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The alarm resource is not modified @@ -82,7 +82,7 @@ PATCH Individual 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] v5.1.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The alarm resource is not modified @@ -96,7 +96,7 @@ DELETE Individual 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: none - ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -108,7 +108,7 @@ GET information about an individual alarm - Not Found ... Test title: GET information about an individual alarm - Not Found ... Test objective: The objective is to test that GET method fail retrieving status information about individaual Alarms when alarm is not present. ... Pre-conditions: The related alarm doesnot exists - ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -120,7 +120,7 @@ PATCH Individual Alarm with permitted authorization scope ... Test title: PATCH Individual Alarm with permitted authorization scope ... Test objective: The objective is to Modify an individual alarm resource with permitted authorization scope ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -133,7 +133,7 @@ PATCH Individual Alarm with NOT permitted authorization scope ... Test title: PATCH Individual Alarm with NOT permitted authorization scope ... Test objective: The objective is to Modify an individual alarm resource with NOT permitted authorization scope ... Pre-conditions: The related alarm exists - ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot index f5186f140981968f8def8e2720fc5cc193d4af28..6ef5cc5be448efbeefbce8d7a4e2f19bfc94def0 100644 --- a/SOL002/VNFFaultManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFFaultManagement-API/IndividualSubscription.robot @@ -14,7 +14,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Information about an individual subscription ... Test title: GET Information about an individual subscription ... Test objective: The objective is to read an individual subscription for VNF alarms subscribed by the client ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH an individual subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ DELETE an individual subscription ... Test title: DELETE an individual subscription ... Test objective: The objective is to test that the deletion of a individual subscription resource. ... Pre-conditions: one or more subscription already exsist - ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: the subscription is deleted @@ -76,7 +76,7 @@ GET Information about an individual subscription - Not Found ... Test title: GET Information about an individual subscription - Not Found ... Test objective: The objective is to test that GET method fail retrieving individual subscription for VNF alarms subscribed by the client because it is not present. ... Pre-conditions: The subscription with the given id donot exists - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ GET Information about an individual subscription with permitted authorization sc ... Test title: GET Information about an individual subscription with permitted authorization scope ... Test objective: The objective is to read an individual subscription for VNF alarms subscribed by the client with the permitted authorization scope ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ GET Information about an individual subscription with NOT permitted authorizatio ... Test title: GET Information about an individual subscription with NOT permitted authorization scope ... Test objective: The objective is to read an individual subscription for VNF alarms subscribed by the client with not permitted authorization scope ... Pre-conditions: The subscription with the given id exists - ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot index bda114542234e2dbbb6f12725da3dc60d5e5bc41..df31134d7744c77ef35b6f5f43ff7ec0bdd29d52 100644 --- a/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFFaultManagement-API/NotificationEndpoint.robot @@ -13,7 +13,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test that VNF Fault Alarm Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test that VNF Fault Alarm Cleared Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault List Rebuilt Alarm List Rebuilt Notification ... Test objective: The objective is to test that VNF Fault Alarm List Rebuilt Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -59,7 +59,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 7.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 7.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -81,7 +81,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 7.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/Notifications.robot b/SOL002/VNFFaultManagement-API/Notifications.robot index 18600c3c7d0617529db69ac19019ab853829c4aa..6b76a56ef8d8dd30e4c9ed6e4831d5e5effb167b 100644 --- a/SOL002/VNFFaultManagement-API/Notifications.robot +++ b/SOL002/VNFFaultManagement-API/Notifications.robot @@ -15,7 +15,7 @@ VNF Fault Alarm Notification ... Test title: VNF Fault Alarm Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Notification when a virtualised resource within an VNF instance fails, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, and a subscription for fault alarm notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ VNF Fault Alarm Cleared Notification ... Test title: VNF Fault Alarm Cleared Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm Cleared Notification when a faulty virtualised resource within an VNF instance is cleared, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, a virtualised resource is in faulty state, and a subscription for fault alarm cleared notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Fault Alarm List Rebuilt Notification ... Test title: VNF Fault Alarm List Rebuilt Notification ... Test objective: The objective is to test the dispatch of VNF Fault Alarm List Rebuilt Notification when the VNFM decides to rebuild the list of its VNF alarms, e.g. due to a corruption in the alarm storage, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance is instantiated, one or more virtualised resource are in faulty state, and a subscription for fault alarm list rebuilt notifications is available in the VNFM. - ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFFaultManagement-API/Subscriptions.robot b/SOL002/VNFFaultManagement-API/Subscriptions.robot index 262d4e7c226bf1914805690232e48a1b6eebbd70..1e382e062e1f3b0dc732eb1128c09aeb2091c6aa 100644 --- a/SOL002/VNFFaultManagement-API/Subscriptions.robot +++ b/SOL002/VNFFaultManagement-API/Subscriptions.robot @@ -17,7 +17,7 @@ Create a new subscription ... Test title: Create a new subscription ... Test objective: The objective is to create a new subscription. ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: Resource created successfully @@ -27,13 +27,14 @@ Create a new subscription Check HTTP Response Body Json Schema Is FmSubscription Check HTTP Response Header Contain Link Check Postcondition resource exists + Check Postcondition Resource Returned in Location Header Is Available Create a duplicated Subscription [Documentation] Test ID: 6.3.4.4.2 ... Test title: Create a duplicated Subscription ... Test objective: The objective is to create a duplicate subscription. ... Pre-conditions: subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: ... Post-Conditions: duplicated subscription is created if the IUT allows duplications, otherwise the duplicated subscription is not created @@ -57,7 +58,7 @@ GET Subscriptions ... Test title: GET Subscriptions ... Test objective: The objective is to retrieve the list of active subscriptions ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -70,7 +71,7 @@ GET Subscription - Filter ... Test title: GET Subscription - Filter ... Test objective: The objective is to retrieve the list of active subscriptions with filter ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -83,7 +84,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to retrieve the list of active subscriptions with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -96,7 +97,7 @@ GET subscriptions with "all_fields" attribute selector ... Test title: GET subscriptions with "all_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +110,7 @@ GET subscriptions with "exclude_default" attribute selector ... Test title: GET subscriptions with "exclude_default" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -122,7 +123,7 @@ GET subscriptions with "fields" attribute selector ... Test title: GET subscriptions with "fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -135,7 +136,7 @@ GET subscriptions with "exclude_fields" attribute selector ... Test title: GET subscriptions with "exclude_fields" attribute selector ... Test objective: The objective is to retrieve the list of active subscriptions with attribute selector ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -148,7 +149,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -160,7 +161,7 @@ PATCH subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -172,7 +173,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -184,7 +185,7 @@ GET Subscriptions to get Paged Response ... Test title: GET Subscriptions to get Paged Response ... Test objective: The objective is to retrieve the list of active subscriptions to get paged response ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -197,7 +198,7 @@ GET subscriptions - Bad Request Response too Big ... Test title: GET subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that GET method fail retrieving list of active subscription because Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -210,7 +211,7 @@ GET Subscription with attribute-based filter "id" ... Test title: GET Subscription with attribute-based filter "id" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "id" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -224,7 +225,7 @@ Get subscriptions with filter "filter.notificationTypes" ... Test title: GET Subscription with attribute-based filter "filter.notificationTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.notificationTypes" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -238,7 +239,7 @@ Get subscriptions with filter "filter.faultyResourceTypes" ... Test title: GET Subscription with attribute-based filter "filter.faultyResourceTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.faultyResourceTypes" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -252,7 +253,7 @@ Get subscriptions with filter "filter.perceivedSeverities" ... Test title: GET Subscription with attribute-based filter "filter.perceivedSeverities" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.perceivedSeverities" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -266,7 +267,7 @@ Get subscriptions with filter "filter.eventTypes" ... Test title: GET Subscription with attribute-based filter "filter.eventTypes" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.eventTypes" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -280,7 +281,7 @@ Get subscriptions with filter "filter.probableCauses" ... Test title: GET Subscription with attribute-based filter "filter.probableCauses" ... Test objective: The objective is to retrieve the list of active subscriptions with filter "filter.probableCauses" ... Pre-conditions: none - ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -294,7 +295,7 @@ POST Create a new Subscription - Unprocessable Content ... Test title: POST Create a new Subscription - Unprocessable Content ... Test objective: The objective is to test that content type of the message content is supported and the message content of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -306,7 +307,7 @@ Create a new subscription with permitted authorization scope ... Test title: Create a new subscription with permitted authorization scope ... Test objective: The objective is to create a new subscription with permitted authorization scope. ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: Resource created successfully @@ -315,12 +316,14 @@ Create a new subscription with permitted authorization scope Check HTTP Response Body Json Schema Is FmSubscription Check HTTP Response Header Contain Link Check Postcondition resource exists + Check HTTP Response Header Contains Location + Check Postcondition Resource Returned in Location Header Is Available Create a new subscription with not permitted authorization scope [Documentation] Test ID: 6.3.4.4.24 ... Test title: Create a new subscription with not permitted authorization scope ... Test objective: The objective is to create a new subscription with not permitted authorization scope. ... Pre-conditions: no subscription with the same filter and callbackUri exists - ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 7.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: Resource created successfully @@ -565,6 +568,15 @@ Check Postcondition resource exists Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} Integer response status 200 +Check Postcondition Resource Returned in Location Header Is Available + Log Fetching resource pointed by Location header + GET ${response['headers']['Location']} + Integer response status 200 + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json schemas/FmSubscription.schema.json ${result} + Log Subscription resource validated Check Postcondition Duplicate Subscription exsist Should Not Be Equal As Strings ${response['body']['callbackUri']} ${subscriptionId} diff --git a/SOL002/VNFIndicator-API/ApiVersion.robot b/SOL002/VNFIndicator-API/ApiVersion.robot index 728274e98eb3f0069ad1fd66cc21d5b193748a05..be42d0f93a041093a2aeb55261c4179a7f086a92 100644 --- a/SOL002/VNFIndicator-API/ApiVersion.robot +++ b/SOL002/VNFIndicator-API/ApiVersion.robot @@ -13,7 +13,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -111,7 +111,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -123,7 +123,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/IndividualSubscription.robot b/SOL002/VNFIndicator-API/IndividualSubscription.robot index 7f67726c53d3a1af55972d3af5d6568fa18820c3..ffcec620c203885e62073833de1cfd820271ff28 100644 --- a/SOL002/VNFIndicator-API/IndividualSubscription.robot +++ b/SOL002/VNFIndicator-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ GET Individual VNF Indicator Subscription ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test the retrieval of individual VNF performance indicator subscription and perform a JSON schema validation of the returned subscription data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -24,7 +24,7 @@ GET Individual VNF Indicator Subscription with invalid resource identifier ... Test title: Get individual subscription to VNF performance indicators ... Test objective: The objective is to test that the retrieval of individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -37,7 +37,7 @@ DELETE Individual VNF Indicator Subscription ... Test title: Delete individual subscription to VNF performance indicators ... Test objective: The objective is to test the deletion of an individual VNF performance indicator subscription. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: The subscription to VNF performance indicators is deleted @@ -50,7 +50,7 @@ DELETE Individual VNF Indicator Subscription with invalid resource identifier ... Test title: Delete individual subscription to VNF performance indicators ... Test objective: The objective is to test that the deletion of an individual VNF performance indicator subscription fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: clause 8.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -63,7 +63,7 @@ PUT Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -75,7 +75,7 @@ PATCH Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -87,7 +87,7 @@ POST Individual VNF Indicator Subscription - Method not implemented ... Test title: PUT individual VNF indicator subscription - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an individual VNF performance indicator subscription ... Pre-conditions: none - ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -98,7 +98,7 @@ GET Individual VNF Indicator Subscription with permitted authorization scope ... Test title: Get individual subscription to VNF performance indicators with permitted authorization scope ... Test objective: The objective is to test the retrieval of individual VNF performance indicator subscription and perform a JSON schema validation of the returned subscription data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -110,7 +110,7 @@ GET Individual VNF Indicator Subscription with NOT permitted authorization scope ... Test title: Get individual subscription to VNF performance indicators with NOT permitted authorization scope ... Test objective: The objective is to test the retrieval of individual VNF performance indicator subscription and perform a JSON schema validation of the returned subscription data structure with NOT permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot index dbcf58e65105cc4962dc8ba60fd6155bd691b3bb..45766f5dc115a399331a8f6f4ac7d533860c9a0e 100644 --- a/SOL002/VNFIndicator-API/IndividualVNFindicator.robot +++ b/SOL002/VNFIndicator-API/IndividualVNFindicator.robot @@ -10,7 +10,7 @@ Get Individual Indicator for VNF Instance ... Test title: Get individual performance indicator for a VNF instance ... Test objective: The objective is to test the retrieval of a performance indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -25,7 +25,7 @@ Get Individual Indicator for VNF Instance with invalid indicator identifier ... Test title: Get individual performance indicator for a VNF instance with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of a performance indicator for a given VNF instance fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -38,7 +38,7 @@ POST Individual VNF Indicator - Method not implemented ... Test title: POST individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Individual VNF Indicator - Method not implemented ... Test title: PUT individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Individual VNF Indicator - Method not implemented ... Test title: PATCH individual performance indicator for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Individual VNF Indicator - Method not implemented ... Test title: DELETE individual performance indicator indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -86,7 +86,7 @@ Get Individual Performance Indicator ... Test title: Get Individual Performance Indicator ... Test objective: The objective is to test the retrieval of a performance indicator and perform a JSON schema validation of the returned indicator data structure ... Pre-conditions: At least one measure of performance indicator is available.. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -100,7 +100,7 @@ Get Individual Performance Indicator with invalid indicator identifier ... Test title: Get Individual Performance Indicator with invalid indicator identifier ... Test objective: The objective is to test that the retrieval of a performance indicator fails when using an invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: At least one measure of performance indicator is available. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -113,7 +113,7 @@ POST Individual Performance Indicator - Method not implemented ... Test title: POST Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -125,7 +125,7 @@ PUT Individual Performance Indicator - Method not implemented ... Test title: PUT Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -137,7 +137,7 @@ PATCH Individual Performance Indicator - Method not implemented ... Test title: PATCH Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -149,7 +149,7 @@ DELETE Individual Performance Indicator - Method not implemented ... Test title: DELETE Individual Performance Indicator - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing performance indicator. ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -160,7 +160,7 @@ Get Individual Indicator for VNF Instance with permitted authorization scope ... Test title: Get individual performance indicator for a VNF instance with permitted authorization scope ... Test objective: The objective is to test the retrieval of a performance indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -174,7 +174,7 @@ Get Individual Indicator for VNF Instance with NOT permitted authorization scope ... Test title: Get individual performance indicator for a VNF instance with NOT permitted authorization scope ... Test objective: The objective is to test the retrieval of a performance indicator for a given VNF instance and perform a JSON schema validation of the returned indicator data structure with NOT permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. At least one measure of performance indicator is available for the given VNF instance. - ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/NotificationEndpoint.robot b/SOL002/VNFIndicator-API/NotificationEndpoint.robot index e3e228ce79320f10d3281a87ee495bdb932216c8..ff0b1aef9e4607d88dd81803b768d9f01af9a453 100644 --- a/SOL002/VNFIndicator-API/NotificationEndpoint.robot +++ b/SOL002/VNFIndicator-API/NotificationEndpoint.robot @@ -12,7 +12,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test that the POST request triggers VNF Indicator Value Change Notification . ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Supported Indicators Change Notification ... Test title: Supported Indicators Change Notification ... Test objective: The objective is to test that the POST request triggers Supported Indicators Change Notification . ... Pre-conditions: A VNF is instantiated, and a subscription for supported indicators change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ Test the Notification Endpoint - NOT FOUND ... Test title: Test the Notification Endpoint - UNREACHABLE ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: The notification endpoint is unreachable by the API producer. ... Post-Conditions: none @@ -61,7 +61,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 8.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/Notifications.robot b/SOL002/VNFIndicator-API/Notifications.robot index 584225b9e7faaaba982597738fbf4ef47d48f5fc..abfd3fdbdd0b0cb278e9257b4670f829061b1faf 100644 --- a/SOL002/VNFIndicator-API/Notifications.robot +++ b/SOL002/VNFIndicator-API/Notifications.robot @@ -16,7 +16,7 @@ VNF Indicator Value Change Notification ... Test title: VNF Indicator Value Change Notification ... Test objective: The objective is to test the dispatch of VNF Indicator Value Change Notification when new indicator values are available in the VNF, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF is instantiated, and a subscription for indicator value change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNF ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ Supported Indicators Change Notification ... Test title: Supported Indicators Change Notification ... Test objective: The objective is to test the dispatch of Supported Indicators Change Notification when new indicator values are available in the VNF, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF is instantiated, and a subscription for supported indicators change notifications is available in the VNF. - ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNF ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/Subscriptions.robot b/SOL002/VNFIndicator-API/Subscriptions.robot index 47662285dcc2708d17521d758e919c10d23ea7e2..8059e05206a96c0267006d2a746198893790b2df 100644 --- a/SOL002/VNFIndicator-API/Subscriptions.robot +++ b/SOL002/VNFIndicator-API/Subscriptions.robot @@ -17,7 +17,7 @@ GET VNF Indicators Subscriptions ... Test title: GET VNF Indicators Subscriptions ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions and perform a JSON schema validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -30,7 +30,7 @@ GET VNF Indicators Subscriptions with attribute-based filter ... Test title: GET VNF Indicators Subscriptions with attribute-based filter ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions using attribute-based filter and perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -44,7 +44,7 @@ GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test title: GET VNF Indicators Subscriptions with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -57,7 +57,7 @@ GET VNF Indicators Subscriptions with invalid resource endpoint ... Test title: GET VNF Indicators Subscriptions with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails when using invalid resource endpoint. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -70,7 +70,7 @@ Create new VNF indicator subscription ... Test title: Create new VNF indicator subscription ... Test objective: The objective is to test the creation of a new VNF indicator subscription perform a JSON schema and content validation of the returned subscriptions data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: The VNF indicator subscription is successfully set and it matches the issued subscription @@ -86,7 +86,7 @@ PUT VNF Indicator Subscriptions - Method not implemented ... Test title: PUT VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -98,7 +98,7 @@ PATCH VNF Indicator Subscriptions - Method not implemented ... Test title: PATCH VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -110,7 +110,7 @@ DELETE VNF Indicator Subscriptions - Method not implemented ... Test title: DELETE VNF Indicator Subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicator subscriptions ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators. ... Post-Conditions: none @@ -122,7 +122,7 @@ GET VNF Indicators Subscriptions to get Paged Response ... Test title: GET VNF Indicators Subscriptions to get Paged Response ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions to get Paged Response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -135,7 +135,7 @@ GET VNF Indicators Subscriptions - Bad Request Response too Big ... Test title: GET VNF Indicators Subscriptions - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of all VNF indicators subscriptions fails because response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -148,7 +148,7 @@ POST Create a new Subscription - Unprocessable Content ... Test title: POST Create a new Subscription - Unprocessable Content ... Test objective: The objective is to test that content type of the message content is supported and the message content of a request contains syntactically correct data but the data cannot be processed. ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -161,7 +161,7 @@ Create new VNF indicator Subscription - DUPLICATION ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: In response header Location shall not be null @@ -170,13 +170,15 @@ Create new VNF indicator Subscription - DUPLICATION Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is VnfIndicatorSubscription Check Operation Occurrence Id + Check Postcondition VNF Indicator Subscription Is Set + Create new VNF indicator Subscription - NO-DUPLICATION [Documentation] Test ID: 6.3.2.4.13 ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: SUT should not support duplication of subscription creation ... Post-Conditions: In response header Location shall not be null @@ -184,12 +186,14 @@ Create new VNF indicator Subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Postcondition Resource Returned in Location Header Is Available + GET VNF Indicators Subscriptions with permitted authorization scope [Documentation] Test ID: 6.3.2.4.14 ... Test title: GET VNF Indicators Subscriptions with permitted authorization scope ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions and perform a JSON schema validation of the returned subscriptions data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -201,7 +205,7 @@ GET VNF Indicators Subscriptions with NOT permitted authorization scope ... Test title: GET VNF Indicators Subscriptions with not permitted authorization scope ... Test objective: The objective is to test the retrieval of all VNF indicators subscriptions and perform a JSON schema validation of the returned subscriptions data structure with not permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. At least one VNF indicator subscription is available in the VNF. - ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of indicators ... Post-Conditions: none @@ -322,6 +326,16 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response['body']} Log Json Schema Validation OK +Check Postcondition Resource Returned in Location Header Is Available + Log Fetching resource pointed by Location header + GET ${response['headers']['Location']} + Integer response status 200 + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json schemas/VnfIndicatorSubscription.schema.json ${result} + Log Subscription resource validated + Check HTTP Response Body Matches the Subscription Log Check Response matches subscription ${body}= Get File jsons/subscriptions.json diff --git a/SOL002/VNFIndicator-API/VNFIndicators.robot b/SOL002/VNFIndicator-API/VNFIndicators.robot index 78385d4d201477611bd929b56f1a7d583187a7e9..ff7f7b3c4b676382934b7b6b5fdb6bd344c0b929 100644 --- a/SOL002/VNFIndicator-API/VNFIndicators.robot +++ b/SOL002/VNFIndicator-API/VNFIndicators.robot @@ -13,7 +13,7 @@ Get all VNF Indicators ... Test title: Get all VNF Indicators ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -26,7 +26,7 @@ Get VNF Indicators with attribute-based filter ... Test title: Get VNF Indicators with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF indicators using attribute-based filter, perform a JSON schema validation of the collected indicators data structure, and verify that the retrieved information matches the issued attribute-based filters ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -40,7 +40,7 @@ Get VNF Indicators with invalid attribute-based filter ... Test title: Get VNF Indicators with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -53,7 +53,7 @@ Get all VNF Indicators with malformed authorization token ... Test title: GET all VNF Indicators with malformed authrization token. ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using malformed authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -66,7 +66,7 @@ Get all VNF Indicators without authorization token ... Test title: GET all VNF Indicators without authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when omitting the authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -79,7 +79,7 @@ GET all VNF Indicators with expired or revoked authorization token ... Test title: GET all VNF Indicators with expired or revoked authorization token ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using expired or revoked authorization token ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.5.3.3, 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. The VNF requires the usage of access tokens for authorizing the API requests. ... Post-Conditions: none @@ -92,7 +92,7 @@ Get all VNF Indicators with invalid resource endpoint ... Test title: GET all VNF Indicators with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF indicators fails when using invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -105,7 +105,7 @@ POST all VNF Indicators - Method not implemented ... Test title: POST all VNF Indicators - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -117,7 +117,7 @@ PUT all VNF Indicators - Method not implemented ... Test title: PUT all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH all VNF Indicators - Method not implemented ... Test title: PATCH all VNF Indicators - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -141,7 +141,7 @@ DELETE all VNF Indicators - Method not implemented ... Test title: DELETE all VNF Indicators - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete VNF indicators ... Pre-conditions: none - ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -153,7 +153,7 @@ Get VNF Indicators to get Paged Response ... Test title: Get VNF Indicators to get Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF indicators with Paged Response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -166,7 +166,7 @@ Get VNF Indicators - Bad Request Response too Big ... Test title: Get VNF Indicators - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of VNF indicators fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -178,7 +178,7 @@ Get all VNF Indicators with permitted authorization scope ... Test title: Get all VNF Indicators with permitted authorization scope ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -190,7 +190,7 @@ Get all VNF Indicators with not permitted authorization scope ... Test title: Get all VNF Indicators with not permitted authorization scope ... Test objective: The objective is to test the retrieval of all the available VNF indicators and perform a JSON schema validation of the collected indicators data structure with not permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more measures of VNF performance indicators are available in the VNF. - ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none diff --git a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot index 7332a2b52f9c2a1a264f2a3ca602e2f193cfa735..f023955557b750e8824222fdeef675a4aedbf65a 100644 --- a/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot +++ b/SOL002/VNFIndicator-API/VnfIndicatorsInVnfInstanceId.robot @@ -13,7 +13,7 @@ Get Indicators for VNF Instance ... Test title: Get all performance indicators for a VNF instance ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -27,7 +27,7 @@ GET Indicators for VNF Instance with attribute-based filter ... Test title: Get all performance indicators for a VNF instance with attribute-based filter ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance using attribute-based filter and perform a JSON schema validation of the returned indicators data structure ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -41,7 +41,7 @@ Get Indicators for VNF Instance with invalid attribute-based filter ... Test title: Get all performance indicators for a VNF instance with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails using invalid attribute-based filter. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -54,7 +54,7 @@ Get Indicators for VNF Instance with invalid resource identifier ... Test title: Get all performance indicators for a VNF instance with invalid resource identifier ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when using invalid resource identifier. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -67,7 +67,7 @@ POST Indicators for VNF instance - Method not implemented ... Test title: POST performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create new performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -79,7 +79,7 @@ PUT Indicators for VNF instance - Method not implemented ... Test title: PUT performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify existing performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -91,7 +91,7 @@ PATCH Indicators for VNF instance - Method not implemented ... Test title: PATCH performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update existing performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -103,7 +103,7 @@ DELETE Indicators for VNF instance - Method not implemented ... Test title: DELETE performance indicators for VNF instance - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete performance indicators for a VNF instance ... Pre-conditions: none - ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -115,7 +115,7 @@ Get Indicators for VNF Instance to get Paged Response ... Test title: Get Indicators for VNF Instance to get Paged Response ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance to get paged response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -128,7 +128,7 @@ Get Indicators for VNF Instance - Bad Request Response too Big ... Test title: Get Indicators for VNF Instance - Bad Request Response too Big ... Test objective: The objective is to test that the retrieval of all performance indicators for a given VNF instance fails when response is too big. The test also checks the JSON schema of the unsuccessful operation HTTP response. ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators. ... Post-Conditions: none @@ -140,7 +140,7 @@ Get Indicators for VNF Instance with permitted authorization scope ... Test title: Get all performance indicators for a VNF instance with permitted authorization scope ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none @@ -153,7 +153,7 @@ Get Indicators for VNF Instance with NOT permitted authorization scope ... Test title: Get all performance indicators for a VNF instance with not permitted authorization scope ... Test objective: The objective is to test the retrieval of all performance indicators for a given VNF instance and perform a JSON schema validation of the returned indicators data structure with not permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more measures of performance indicators are available for the given VNF instance. - ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 8.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The VNF supports the generation and maintenance of performance indicators ... Post-Conditions: none diff --git a/SOL002/VNFLCMCoordination-API/ApiVersion.robot b/SOL002/VNFLCMCoordination-API/ApiVersion.robot index 0939a189f9728a6cf9df7c34bf90339d8df9abdd..0c91b10f9ffc5b0c46a500981ee1c5ec1c8c96dc 100644 --- a/SOL002/VNFLCMCoordination-API/ApiVersion.robot +++ b/SOL002/VNFLCMCoordination-API/ApiVersion.robot @@ -14,7 +14,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -124,7 +124,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot index d80096e4d68b3a74531d75c791a31877d55d21fc..d5285cb4306a7a75681ae05fe791426591a226b2 100644 --- a/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL002/VNFLCMCoordination-API/CancelCoordinationActionTask.robot @@ -15,7 +15,7 @@ POST Cancellation of an Ongoing Individual Coordination Action ... Test title: POST Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action has accepted for processing. ... pre-condition: The status of the related LCM operation occurance is "PROCESSING" - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When there is an Ongoing individual LCM operation coordination action. ... Post-Condition: none @@ -28,7 +28,7 @@ POST Cancellation of an Ongoing Individual Coordination Action - Conflict ... Test title: POST Cancellation of an Ongoing Individual Coordination Action - Conflict ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action is not successfull due to a conflict with the state of the "Individual coordination action" resource. ... pre-condition: none - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: Processing of Individual Coordination Action has 'Finished'. ... Post-Condition: none @@ -41,7 +41,7 @@ Request a cancellation of an ongoing coordination action without authentication ... Test title: Request a cancellation of an ongoing coordination action without authentication ... Test objective: The objective is to test the failure of the request for a cancellation of a coordination task when no authentication is used ... Pre-conditions: none - ... Reference: Clause Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Cancellation of an Ongoing Individual Coordination Action - Method not Imple ... Test title: GET Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that GET method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: ongoing individual coordination ... Post-Condition: none @@ -65,7 +65,7 @@ PUT Cancellation of an Ongoing Individual Coordination Action - Method not Imple ... Test title: PUT Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that PUT method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -77,7 +77,7 @@ PATCH Cancellation of an Ongoing Individual Coordination Action - Method not Imp ... Test title: PATCH Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that PATCH method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -89,7 +89,7 @@ DELETE Cancellation of an Ongoing Individual Coordination Action - Method not Im ... Test title: DELETE Cancellation of an Ongoing Individual Coordination Action ... Test Objective: The objective is to test that DELETE method for cancellation of an ongoing individual coordination Action is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -100,7 +100,7 @@ POST Cancellation of an Ongoing Individual Coordination Action with permitted au ... Test title: POST Cancellation of an Ongoing Individual Coordination Action with permitted authorization scope ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action has accepted for processing with permitted authorization scope. ... pre-condition: The status of the related LCM operation occurance is "PROCESSING" - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When there is an Ongoing individual LCM operation coordination action. ... Post-Condition: none @@ -112,7 +112,7 @@ POST Cancellation of an Ongoing Individual Coordination Action with not permitte ... Test title: POST Cancellation of an Ongoing Individual Coordination Action with not permitted authorization scope ... Test Objective: The objective is to test that POST request for cancellation of an ongoing individual coordination Action has accepted for processing with not permitted authorization scope. ... pre-condition: The status of the related LCM operation occurance is "PROCESSING" - ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When there is an Ongoing individual LCM operation coordination action. ... Post-Condition: none diff --git a/SOL002/VNFLCMCoordination-API/Coordinations.robot b/SOL002/VNFLCMCoordination-API/Coordinations.robot index 2e74d439b3907f4b69417beda26e1535ccbcec27..d0bb82af4fa382a57c90f96de358dbe8f9362760 100644 --- a/SOL002/VNFLCMCoordination-API/Coordinations.robot +++ b/SOL002/VNFLCMCoordination-API/Coordinations.robot @@ -15,7 +15,7 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Syn ... Test title: Post Coordination of an LCM operation occurrence ... Test Objective: The objective is to test the creation of new Individual Coordination Action, and perform a JSON schema validation of the returned LCM coordination data structure. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode ... Post-Condition: none @@ -24,13 +24,15 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Syn Check HTTP Response Body Json Schema Is LcmCoord Check HTTP Response Header Contains Location Check Postcondition LcmCoord Exists + Check Postcondition Resource Returned in Location Header Is Available + POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asynchronous Mode [Documentation] Test ID: 6.3.6.2.2 ... Test title: Post Coordination of an LCM operation occurrence ... Test Objective: The objective is to test that the coordination of a LCM operation occurance request has been accepted for processing, and perform a JSON schema validation of the returned LCM coordination data structure. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the asynchronous mode ... Post-Condition: none @@ -39,12 +41,13 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Asy Check HTTP Response Body Should be Empty Check HTTP Response Header Contains Location + POST Coordination of a LCM Operation Occurance Forbidden [Documentation] Test ID: 6.3.6.2.3 ... Test title: Post Coordination of an LCM operation occurrence Forbidden ... Test Objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... pre-condition: The status of the related LCM opeation occurrence is "PROCESSING". The request is performed by a user that has not the grant to run this operation - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -57,7 +60,7 @@ POST Coordination of LCM Operation Occurance Conflict ... Test title: Post Coordination of an LCM operation occurrence Conflict ... Test Objective: The objective is to verify that no coordination actions can be executed currently, due to a conflict with the state of the "Coordinations" resource. ... pre-condition: The status of the related LCM opeation occurrence is not "PROCESSING" - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When there are many coordination actions exist, or conflicting ones, are in progress. ... Post-Condition: none @@ -70,7 +73,7 @@ POST Coordination of LCM Operation Occurance Service Unavailable ... Test title: Post Coordination of an LCM operation occurrence Service Unavailable ... Test Objective: The objective is to test the request for the coordination of an LCM operation occurrence and the verify that the NFVO cannot perform immediately the request, but can perform it sometime in the future. ... pre-condition: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot perform immediately the request - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode ... Post-Condition: none @@ -84,7 +87,7 @@ POST Coordination of an LCM operation occurrence without authentication ... Test title: Request a Coordination of an LCM operation occurrence without authentication ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -96,7 +99,7 @@ GET Coordination of a LCM Operation Occurance - Method not implemented ... Test title: GET Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that GET method for Resource Coordinations is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -108,7 +111,7 @@ PUT Coordination of a LCM Operation Occurance - Method not implemented ... Test title: PUT Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that PUT method for Resource Coordinations is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -120,7 +123,7 @@ PACTH Coordination of a LCM Operation Occurance - Method not implemented ... Test title: PATCH Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that PATCH method for Resource Coordinations is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -132,7 +135,7 @@ DELETE Coordination of a LCM Operation Occurance - Method not implemented ... Test title: DELETE Coordination of a LCM Operation Occurance - Method not implemented ... Test Objective: The objective is to test that DELETE method for Resource Coordinations is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -143,7 +146,7 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Syn ... Test title: Post Coordination of an LCM operation occurrence with permitted authorization scope ... Test Objective: The objective is to test the creation of new Individual Coordination Action, and perform a JSON schema validation of the returned LCM coordination data structure with permitted authorization scope. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode ... Post-Condition: none @@ -152,12 +155,13 @@ POST Coordination of LCM Operation Occurance and API Producer has Chosen the Syn Check HTTP Response Body Json Schema Is LcmCoord Check HTTP Response Header Contains Location Check Postcondition LcmCoord Exists + Check Postcondition Resource Returned in Location Header Is Available POST Coordination of LCM Operation Occurance and API Producer has Chosen the Synchronous Mode with not permitted authorization scope [Documentation] Test ID: 6.3.6.2.12 ... Test title: Post Coordination of an LCM operation occurrence with not permitted authorization scope ... Test Objective: The objective is to test the creation of new Individual Coordination Action, and perform a JSON schema validation of the returned LCM coordination data structure with not permitted authorization scope. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: API producer has chosen the synchronous mode ... Post-Condition: none diff --git a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot index e6945fff5956e31b22ae18da368bf1907d9825f3..adb29508a8461367f60af83cac9b255fee9666f8 100644 --- a/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL002/VNFLCMCoordination-API/IndividualCoordinationAction.robot @@ -14,7 +14,7 @@ POST Individual LCM Operation Coordination Results - Method not implemented ... Test title: POST Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that POST method for individual LCM operation coordination results is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -26,7 +26,7 @@ GET Individual LCM Operation Coordination Results - Coordination is Finished ... Test title: GET Individual LCM Operation Coordination Results ... Test Objective: The objective is to test that coordination is finished and GET method reads individual LCM operation coordination results successfully, and perform a JSON schema validation of the returned LCM coordination data structure. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When the Individual LCM Operation Coordination is finished ... Post-Condition: none @@ -39,7 +39,7 @@ GET Individual LCM Operation Coordination Results - Coordination is Not Finished ... Test title: GET Individual LCM Operation Coordination Results ... Test Objective: The objective is to test that GET method checks that whether Individual LCM Operation Coordination is still ongoing or in the process of being cancelled. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When the Individual LCM Operation Coordination is still ongoing or in the process of being cancelled. ... Post-Condition: none @@ -52,7 +52,7 @@ Get Individual LCM Operation Coordination Results without authentication ... Test title: Get information about a finished coordination task without authentication ... Test objective: The objective is to try to read an individual coordination task without using authentication ... Pre-conditions: none - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Individual LCM Operation Coordination Results - Method not implemented ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that PUT method for individual LCM operation coordination results is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -76,7 +76,7 @@ PATCH Individual LCM Operation Coordination Results - Method not implemented ... Test title: PATCH Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that PATCH method for individual LCM operation coordination results is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -88,7 +88,7 @@ DELETE Individual LCM Operation Coordination Results - Method not implemented ... Test title: PUT Individual LCM Operation Coordination Results - Method not implemented ... Test Objective: The objective is to test that DELETE method for individual LCM operation coordination results is not implemented. ... pre-condition: none - ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Condition: none @@ -99,7 +99,7 @@ GET Individual LCM Operation Coordination Results - Coordination is Finished wit ... Test title: GET Individual LCM Operation Coordination Results - Coordination is Finished with permitted authorization scope ... Test Objective: The objective is to test that coordination is finished and GET method reads individual LCM operation coordination results successfully, and perform a JSON schema validation of the returned LCM coordination data structure with permitted authorization scope. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When the Individual LCM Operation Coordination is finished ... Post-Condition: none @@ -111,7 +111,7 @@ GET Individual LCM Operation Coordination Results - Coordination is Finished wit ... Test title: GET Individual LCM Operation Coordination Results - Coordination is Finished with not permitted authorization scope ... Test Objective: The objective is to test that coordination is finished and GET method reads individual LCM operation coordination results successfully, and perform a JSON schema validation of the returned LCM coordination data structure with not permitted authorization scope. ... pre-condition: LCM operation occurrence resource is in Processing state - ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 10.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: When the Individual LCM Operation Coordination is finished ... Post-Condition: none diff --git a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot index 8d6b787dec8afc464fb86e78b5c91fd027ebca32..a58a7d191dfdc4a0da9c1dc6e5e3e67431192d33 100644 --- a/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot +++ b/SOL002/VNFLCMCoordination-API/VNFLCMCoordinationKeywords.robot @@ -34,6 +34,16 @@ Check Postcondition LcmCoord Exists Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is LcmCoord +Check Postcondition Resource Returned in Location Header Is Available + Log Fetching resource pointed by Location header + GET ${response['headers']['Location']} + Integer response status 200 + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json schemas/LcmCoord.schema.json ${result} + Log Resource validated + Check HTTP Response Body Should be Empty Should Be Empty ${response['body']} diff --git a/SOL002/VNFLifecycleManagement-API/ApiVersion.robot b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot index f2fe3aa32a7ac846aa2b9ec8244942ead0e31c5c..fa6aa2231ea9d470c42a8f687bde48ae4be45aa4 100644 --- a/SOL002/VNFLifecycleManagement-API/ApiVersion.robot +++ b/SOL002/VNFLifecycleManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot index d6219c1a314e2fe04a6c466233f07765b4b9d80d..390b83662c6cc0f348668ed0a4d0b7dbb0694afe 100644 --- a/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/CancelOperationTask.robot @@ -14,7 +14,7 @@ Post Cancel operation task ... Test title: POST Cancel operation task ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. ... Pre-conditions: the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: the resource is in FAILED_TEMP state @@ -27,7 +27,7 @@ Post Cancel operation task Conflict ... 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] v5.1.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ Post Cancel operation task Not Found ... Test title: POST Cancel operation task ... Test objective: The objective is to test that POST method cannot cancel a VNF lifecycle operation because the resource is not found ... Pre-conditions: - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Cancel operation task - Method not implemented ... Test title: GET Cancel operation task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ PUT Cancel operation task - Method not implemented ... Test title: PUT Cancel operation task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ PATCH Cancel operation task - Method not implemented ... Test title: PATCH Cancel operation task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ DELETE Cancel operation task - Method not implemented ... Test title: DELETE Cancel operation task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ Post Cancel operation task with permitted authorization scope ... Test title: POST Cancel operation task with permitted authorization scope ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state with permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: the resource is in FAILED_TEMP state @@ -113,7 +113,7 @@ Post Cancel operation task with not permitted authorization scope ... Test title: POST Cancel operation task with not permitted authorization scope ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed or rolled back, i.e. the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state with not permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state. - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: the resource is in FAILED_TEMP state @@ -126,13 +126,26 @@ Post Cancel operation task - STARTING ... Test title: POST Cancel operation task ... Test objective: The POST method initiates cancelling an ongoing VNF lifecycle operation while it is being executed, i.e. the "VNF LCM operation occurrence" is in "STARTING" state. ... Pre-conditions: the "VNF LCM operation occurrence" is in "STARTING" state. - ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: the resource is in ROLLED_BACK state POST Cancel operation task Check HTTP Response Status Code Is 202 Check operation resource state is ROLLED_BACK + +Cancel operation task - Unauthorized + [Documentation] Test ID: 6.3.5.16.11 + ... Test title: Post Cancel operation task - Unauthorized + ... Test objective: The objective is to cancel operation task without authorization + ... Pre-conditions: The "VNF LCM operation occurrence" is either in "PROCESSING" or "ROLLING_BACK" state + ... Reference: Clause 5.4.17.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Cancel operation task - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Check resource existence diff --git a/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot index 4200cd30c13e95523ee865f63052ba8c5dad085c..3ab18f78a443003a9bcfa08f334f80f3e5158403 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeCurrentVNFPackageTask.robot @@ -13,7 +13,7 @@ POST Change current VNF Package Task ... Test title: POST Change current VNF Package Task ... Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -21,13 +21,14 @@ POST Change current VNF Package Task Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Change current VNF Package Task - Conflict [Documentation] Test ID: 6.3.5.22.2 ... Test title: POST Change current VNF Package Task - Conflict ... Test objective: The objective is to test that the POST method cannot change the current VNF package task when another lifecycle management operation is ongoing. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: There is another lifecycle management operation ongoing. ... Post-Conditions: none @@ -40,7 +41,7 @@ GET Change current VNF Package Task - Method not implemented ... Test title: GET Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +53,7 @@ PUT Change current VNF Package Task - Method not implemented ... Test title: PUT Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +65,7 @@ PATCH Change current VNF Package Task - Method not implemented ... Test title: PATCH Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +77,7 @@ DELETE Change current VNF Package Task - Method not implemented ... Test title: DELETE Change current VNF Package Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -87,7 +88,7 @@ POST Change current VNF Package Task with permitted authorization scope ... Test title: POST Change current VNF Package Task with permitted authorization scope ... Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based with permitted authorization scope. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -95,12 +96,13 @@ POST Change current VNF Package Task with permitted authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Change current VNF Package Task with not permitted authorization scope [Documentation] Test ID: 6.3.5.22.8 ... Test title: POST Change current VNF Package Task with not permitted authorization scope ... Test objective: The objective is to test that the POST method changes the current VNF package on which the VNF instance is based with not permitted authorization scope. ... Pre-conditions: none - ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -108,6 +110,32 @@ POST Change current VNF Package Task with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Change current VNF Package Task - VNF instance not found + [Documentation] Test ID:6.3.5.22.9 + ... Test title: POST Change current VNF Package Task - VNF instance not found + ... Test objective: The objective is to test that POST method can not trigger a Change current VNF Package Task due to VNF instance not found + ... Pre-conditions: none + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Change current VNF Package Task - VNF instance not found + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Change current VNF Package Task - Unauthorized + [Documentation] Test ID:6.3.5.22.10 + ... Test title: POST Change current VNF Package Task - Unauthorized + ... Test objective: The objective is to test that POST method cannot trigger a Change current VNF Package Task without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.11a.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Change current VNF Package Task - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot index faf86d2472791945d5a6f7a88fdccf4e81886299..03805bb9500575bf8fd3ec5fce185fee33ccfe02 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeExternalVNFConnectivityTask.robot @@ -13,7 +13,7 @@ POST Change external VNF connectivity ... Test title: POST Change external VNF connectivity ... Test objective: The objective is to test that POST method triggers a change in VNF external connectivity ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -21,13 +21,13 @@ POST Change external VNF connectivity Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id - + Check Operation Occurrence Resource Available GET Change external VNF connectivity - Method not implemented [Documentation] Test ID: 6.3.5.10.2 ... Test title: GET Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ PUT Change external VNF connectivity - Method not implemented ... Test title: PUT Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -51,7 +51,7 @@ PATCH Change external VNF connectivity - Method not implemented ... Test title: PATCH Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -63,7 +63,7 @@ DELETE Change external VNF connectivity - Method not implemented ... Test title: DELETE Change external VNF connectivity - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,7 +75,7 @@ POST Change external VNF connectivity Conflict ... Test title: POST Change external VNF connectivity Conflict ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -87,7 +87,7 @@ POST Change external VNF connectivity with permitted authorization scope ... Test title: POST Change external VNF connectivity with permitted authorization value ... Test objective: The objective is to test that POST method triggers a change in VNF external connectivity with the permitted authorization value ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -95,12 +95,13 @@ POST Change external VNF connectivity with permitted authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Change external VNF connectivity with not permitted authorization scope [Documentation] Test ID: 6.3.5.10.8 ... Test title: POST Change external VNF connectivity with not permitted authorization value ... Test objective: The objective is to test that POST method triggers a change in VNF external connectivity with not permitted authorization value ... Pre-conditions: none - ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -108,6 +109,31 @@ POST Change external VNF connectivity with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Change external VNF connectivity - VNF instance not found + [Documentation] Test ID:6.3.5.10.9 + ... Test title: POST Change external VNF connectivity - VNF instance not found + ... Test objective: The objective is to test that POST method can not trigger a change in VNF external connectivity due to VNF instance not found + ... Pre-conditions: none + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: in response header Location shall not be null + POST Change external VNF connectivity - VNF instance not found + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Change external VNF connectivity - Unauthorized + [Documentation] Test ID:6.3.5.10.10 + ... Test title: POST Change external VNF connectivity - Unauthorized + ... Test objective: The objective is to test that POST method cannot trigger a change in VNF external connectivity without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.11.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Change External VNF Connectivity - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot index 1e324ded6f3f8b4176d10922b581867bfa0c8409..e1b21d630fd15c5086c74813581bc4f178086652 100644 --- a/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ChangeVNFFlavourTask.robot @@ -13,7 +13,7 @@ POST Change deployment flavour of a vnfInstance ... Test title: POST Change deployment flavour of a vnfInstance ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -21,13 +21,14 @@ POST Change deployment flavour of a vnfInstance Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) [Documentation] Test ID: 6.3.5.6.2 ... Test title: POST Change deployment flavour of a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because of a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +41,7 @@ POST Change deployment flavour of a vnfInstance Not Found ... Test title: POST Change deployment flavour of a vnfInstance Not Found ... Test objective: The objective is to test that POST method cannot trigger a change in VNF deployment flavour because the VNF instance resource is not found. ... Pre-conditions: VNF instance resource is not in NOT-INSTANTIATED state - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +54,7 @@ GET Change deployment flavour VNFInstance - Method not implemented ... Test title: GET Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +66,7 @@ PUT Change deployment flavour VNFInstance - Method not implemented ... Test title: PUT Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +78,7 @@ PATCH Change deployment flavour VNFInstance - 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] v5.1.1 + ... Reference: Clause 5.4.7.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +90,7 @@ DELETE Change deployment flavour VNFInstance - Method not implemented ... Test title: DELETE Change deployment flavour VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +101,7 @@ POST Change deployment flavour of a vnfInstance with permited authorization scop ... Test title: POST Change deployment flavour of a vnfInstance with permited authorization scope ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour with permited authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -108,13 +109,13 @@ POST Change deployment flavour of a vnfInstance with permited authorization scop Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id - + Check Operation Occurrence Resource Available POST Change deployment flavour of a vnfInstance with not permited authorization scope [Documentation] Test ID: 6.3.5.6.9 ... Test title: POST Change deployment flavour of a vnfInstance with not permited authorization scope ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour with not permited authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -122,6 +123,20 @@ POST Change deployment flavour of a vnfInstance with not permited authorization Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Change deployment flavour of a vnfInstance - Unauthorized + [Documentation] Test ID: 6.3.5.6.10 + ... Test title: POST Change deployment flavour of a vnfInstance - Unauthorized + ... Test objective: The objective is to test that POST method trigger a change in VNF deployment flavour without authorization + ... Pre-conditions: none + ... Pre-conditions: none + ... Reference: Clause 5.4.7.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Change VNF deployment flavour - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot b/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot index fb27077f74c1dfd53088be8d4b1d13a85a609af9..04b6eefa0bf592c1511d1e9bb2b1650aa55ca91f 100644 --- a/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot +++ b/SOL002/VNFLifecycleManagement-API/CreateVNFSnapshotTask.robot @@ -13,7 +13,7 @@ POST Create VNF Snapshot Task ... Test title: POST Create VNF Snapshot Task ... Test objective: The objective is to test that POST method requests taking a snapshot of a VNF instance. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -21,13 +21,14 @@ POST Create VNF Snapshot Task Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Create VNF Snapshot Task - NOT FOUND [Documentation] Test ID: 6.3.5.23.2 ... Test title: POST Create VNF Snapshot Task - NOT FOUND ... Test objective: The objective is to test that the POST method cannot request for a snapshot if the task is not supported for the VNF instance represented by the parent resource. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: Task is not supported for the VNF instance represented by the parent resource. ... Post-Conditions: none @@ -40,7 +41,7 @@ POST Create VNF Snapshot Task - CONFLICT ... Test title: POST Create VNF Snapshot Task - CONFLICT ... Test objective: The objective is to test that the POST method cannot request for a snapshot when the VNF instance is in NOT_INSTANTIATED state. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: VNF instance is in NOT_INSTANTIATED state. ... Post-Conditions: none @@ -53,7 +54,7 @@ POST Create VNF Snapshot Task - UNPROCESSABLE CONTENT ... Test title: POST Create VNF Snapshot Task - UNPROCESSABLE CONTENT ... Test objective: The objective is to test that the POST method cannot request for a snapshot when the provided identifier of the target "Individual VNF snapshot" resource for the VNF snapshot is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: The identifier of the target "Individual VNF snapshot" resource for the VNF snapshot is invalid. ... Post-Conditions: none @@ -66,7 +67,7 @@ GET Create VNF Snapshot Task - Method not implemented ... Test title: GET Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -78,7 +79,7 @@ PUT Create VNF Snapshot Task - Method not implemented ... Test title: PUT Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -90,7 +91,7 @@ PATCH Create VNF Snapshot Task - Method not implemented ... Test title: PATCH Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -102,7 +103,7 @@ DELETE Create VNF Snapshot Task - Method not implemented ... Test title: DELETE Create VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -113,7 +114,7 @@ POST Create VNF Snapshot Task with permitted authorization scope ... Test title: POST Create VNF Snapshot Task with permitted authorization scope ... Test objective: The objective is to test that POST method requests taking a snapshot of a VNF instance with permitted authorization scope. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -121,19 +122,34 @@ POST Create VNF Snapshot Task with permitted authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Create VNF Snapshot Task with not permitted authorization scope [Documentation] Test ID: 6.3.5.23.10 ... Test title: POST Create VNF Snapshot Task with not permitted authorization scope ... Test objective: The objective is to test that POST method requests taking a snapshot of a VNF instance with not permitted authorization scope. ... Pre-conditions: none - ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none - ... Post-Conditions: in response header Location shall not be null + ... Post-Conditions: none POST Create VNF Snapshot Task with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Create VNF Snapshot Task - Unauthorized + [Documentation] Test ID: 6.3.5.23.11 + ... Test title: POST Create VNF Snapshot Task - Unauthorized + ... Test objective: The objective is to test that POST method requests taking a snapshot of a VNF instance without authorization. + ... Pre-conditions: none + ... Reference: Clause 5.4.21.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Create VNF Snapshot Task - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} @@ -141,4 +157,5 @@ Check resource existence Set Headers {"Content-Type": "${CONTENT_TYPE}"} Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} - Integer response status 200 \ No newline at end of file + Integer response status 200 + diff --git a/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot b/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot index 48b4634af5540e050641bbb62fd423ae29b43b9b..d5d29fa1f4165f876a998507281d7d11de865993 100644 --- a/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/FailOperationTask.robot @@ -12,7 +12,7 @@ POST Fail operation task ... Test title: POST Fail operation task ... Test objective: The objective is to test that POST method mark as "finally failed" a VNF lifecycle operation if that operation has experienced a failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ POST Fail operation task Conflict (Not-FAILED_TEMP) ... 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" due to confilct with the state of LCM Operation Occurrence ... 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 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ POST Fail operation task Not Found ... 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: none - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET Fail operation task - Method not implemented ... Test title: GET 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.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +64,7 @@ PUT Fail operation task - Method not implemented ... Test title: PUT 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.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +76,7 @@ PATCH 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 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -88,7 +88,7 @@ DELETE Fail operation task - Method not implemented ... Test title: DELETE 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.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -99,7 +99,7 @@ POST Fail operation task with permitted authorization scope ... Test title: POST Fail operation task with permitted authorization scope with permitted authorization scope ... Test objective: The objective is to test that POST method mark as "finally failed" a VNF lifecycle operation if that operation has experienced a failure with permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -112,10 +112,23 @@ POST Fail operation task with not permitted authorization scope ... Test title: POST Fail operation task with permitted authorization scope with not permitted authorization scope ... Test objective: The objective is to test that POST method mark as "finally failed" a VNF lifecycle operation if that operation has experienced a failure with not permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none Post Fail operation with permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails + +POST Fail operation task - Unauthorized + [Documentation] Test ID:6.3.5.15.10 + ... Test title: POST Fail operation task - Unauthorized + ... Test objective: The objective is to test that POST method cannot mark as "finally failed" a VNF lifecycle operation because the operation is unauthorized + ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. + ... Reference: Clause 5.4.16.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + Post Fail operation - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot b/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot index 44271af525aafcc4419c01a911b7b5375f59bb53..626cb8f40f2c1ab46285a6e19ea24f32b0cbe993 100644 --- a/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/HealVNFTask.robot @@ -13,7 +13,7 @@ POST Heal a vnfInstance ... Test title: POST Heal a vnfInstance ... Test objective: The objective is to test that POST method heal a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -21,13 +21,13 @@ POST Heal a vnfInstance Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id - + Check Operation Occurrence Resource Available POST Heal a vnfInstance Conflict (Not-Instantiated) [Documentation] Test ID: 6.3.5.8.2 ... Test title: POST Heal a vnfInstance (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ POST Heal a vnfInstance Not Found ... Test title: POST Heal a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed because the VNF instance resource is not found. ... Pre-conditions: the VNF instance resource is not existing - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET Heal VNFInstance - Method not implemented ... Test title: GET Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ PUT Heal VNFInstance - Method not implemented ... Test title: PUT Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ PATCH Heal VNFInstance - Method not implemented ... Test title: PATCH Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ DELETE Heal VNFInstance - Method not implemented ... Test title: DELETE Heal a vnfInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ POST Heal a vnfInstance with permitted authorization scope ... Test title: POST Heal a vnfInstance with permitted authorization scope ... Test objective: The objective is to test that POST method heal a VNF instance with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,12 +109,13 @@ POST Heal a vnfInstance with permitted authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Heal a vnfInstance with not permitted authorization scope [Documentation] Test ID: 6.3.5.8.9 ... Test title: POST Heal a vnfInstance with not permitted authorization scope ... Test objective: The objective is to test that POST method heal a VNF instance with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -122,6 +123,19 @@ POST Heal a vnfInstance with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Heal a vnfInstance - Unauthorized + [Documentation] Test ID:6.3.5.8.10 + ... Test title: POST Heal a vnfInstance - Unauthorized + ... Test objective: The objective is to test that POST method cannot trigger heal without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST Heal a vnfInstance - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot b/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot index 54a9462da213d3138068d2a5be292a12129487d1..da4d61f67e90330481d45a29a2faeab5b5a3e8f3 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualSubscription.robot @@ -11,7 +11,7 @@ POST Individual Subscription - Method not implemented ... Test title: POST Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.19.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET Individual Subscription ... Test title: GET Individual Subscription ... Test objective: The objective is to test the Get individual subscription ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT an individual subscription - Method not implemented ... Test title: PUT Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.19.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH an individual subscription - Method not implemented ... Test title: PATCH Individual Subscription - Method not implemented ... Test objective: The objective is to test that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.19.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE an individual subscription ... Test title: DELETE Individual Subscription ... Test objective: The objective is to test that the DELETE method removes an individual subscription ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.19.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -71,7 +71,7 @@ GET Individual Subscription with permitted authorization scope ... Test title: GET Individual Subscription with permitted authorization scope ... Test objective: The objective is to test the Get individual subscription with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -83,10 +83,36 @@ GET Individual Subscription with not permitted authorization scope ... Test title: GET Individual Subscription with not permitted authorization scope ... Test objective: The objective is to test the Get individual subscription with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none Get Individual subscription with not permitted authorization scope Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Individual Subscription - Unauthorized + [Documentation] Test ID:6.3.5.18.8 + ... Test title: GET Individual Subscription - Unauthorized + ... Test objective: The objective is to test the retrieval of individual subscription without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + Get Individual Subscription - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Individual Subscription - Not Found + [Documentation] Test ID: 6.3.5.18.9 + ... Test title: GET Individual Subscription - Not Found + ... Test objective: The objective is to test the retrieval of individual subscription fails when subscription is not present + ... Pre-conditions: none + ... Reference: Clause 5.4.19.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET Individual Subscription - Not Found + Check HTTP Response Status Code Is 404 Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot index 36e1e8fbbd4bd8db7045d9294112b178cdda1e29..f3ab9a5dff6d8f38a3886e44c433ad1de3302714 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFInstance.robot @@ -18,7 +18,7 @@ POST Individual VNFInstance - Method not implemented ... Test title: POST Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ GET Information about an individual VNF Instance ... Test title: GET Information about an individual VNF Instance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -45,7 +45,7 @@ PUT Individual VNFInstance - Method not implemented ... Test title: PUT Individual VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance not modified @@ -57,7 +57,7 @@ PATCH Individual VNFInstance ... Test title: PATCH Individual VNFInstance ... Test objective: This method modifies an individual VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance modified @@ -71,7 +71,7 @@ PATCH Individual VNFInstance Precondition failed ... Test title: PATCH Individual VNFInstance Precondition failed ... Test objective: The objective is to that the modification of individual VNFInstance fails because 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: none - ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ PATCH Individual VNFInstance Conflict ... Test title: PATCH Individual VNFInstance Conflict ... 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] v5.1.1 + ... Reference: Clause 5.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ DELETE Individual VNFInstance ... Test title: DELETE Individual VNFInstance ... Test objective: The objective is to delete a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance deleted @@ -109,7 +109,7 @@ DELETE Individual VNFInstance Conflict ... 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] v5.1.1 + ... Reference: Clause 5.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ GET Information about an individual VNF Instance with permitted authorization sc ... Test title: GET Information about an individual VNF Instance with permitted authorization scope ... Test objective: The objective is to create a new VNF instance resource with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -135,7 +135,7 @@ GET Information about an individual VNF Instance with permitted authorization sc ... Test title: GET Information about an individual VNF Instance with not permitted authorization scope ... Test objective: The objective is to create a new VNF instance resource with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -147,11 +147,23 @@ Get Information about an individual VNF Instance - Not Found ... Test title: Get Information about an individual VNF Instance - Not Found ... Test objective: The objective is to test that the retrieval of an individual VNF Instance fails when instance is not present. ... Pre-conditions: none - ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none GET individual vnfInstance Check HTTP Response Status Code Is 404 Check HTTP Response Body Json Schema Is ProblemDetails - \ No newline at end of file + +Get Information about an individual VNF Instance - Unauthorized + [Documentation] Test ID: 6.3.5.2.12 + ... Test title: Get Information about an individual VNF Instance - Unauthorized + ... Test objective: The objective is to Get Information about an individual VNF Instance without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET individual vnfInstance - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot b/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot index fc04f5533d1f4c26fb67975487f71453a55436df..0ca6fd3dfd6e3396743da74d092ab56fa9ed14d8 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVNFSnapshot.robot @@ -8,7 +8,7 @@ POST Individual VNF Snapshot - Method not implemented ... Test title: POST Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -20,7 +20,7 @@ GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test title: GET Information about an individual VNF Snapshot - SUCCESSFUL ... Test objective: The objective is to GET information about an individual VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -33,7 +33,7 @@ GET Information about an individual VNF Snapshot - NOT FOUND ... Test title: GET Information about an individual VNF Snapshot - NOT FOUND ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot fails when using an invalid resource identifier. ... Pre-conditions: At least one individual VNF Snapshot is available in the NFV-MANO. - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_NFV-MANO ... Applicability: none ... Post-Conditions: none @@ -46,7 +46,7 @@ PUT Individual VNF Snapshot - Method not implemented ... Test title: PUT Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF Snapshot not modified @@ -58,7 +58,7 @@ PATCH Individual VNF Snapshot - Method not implemented ... Test title: PATCH Individual VNF Snapshot - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ DELETE Individual VNF Snapshot ... Test title: DELETE Individual VNF Snapshot ... Test objective: The objective is to delete a VNF Snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF Snapshot deleted @@ -82,7 +82,7 @@ DELETE Individual VNF Snapshot - Conflict ... Test title: DELETE Individual VNF Snapshot 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 Snapshot resource. ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: VNF snapshot is in use by some operation such as reverting a VNF instance to a VNF snapshot or creating a VNF snapshot package. ... Post-Conditions: none @@ -94,7 +94,7 @@ GET Information about an individual VNF Snapshot with permitted authorization sc ... Test title: GET Information about an individual VNF Snapshot with permitted authorization scope - SUCCESSFUL ... Test objective: The objective is to GET information about an individual VNF Snapshot with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -106,10 +106,23 @@ GET Information about an individual VNF Snapshot with not permitted authorizatio ... Test title: GET Information about an individual VNF Snapshot with not permitted authorization scope - SUCCESSFUL ... Test objective: The objective is to GET information about an individual VNF Snapshot with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none GET individual VNF Snapshot with not permitted authorization scope Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET Information about an individual VNF Snapshot - Unauthorized + [Documentation] Test ID:6.3.5.26.10 + ... Test title: GET Information about an individual VNF Snapshot - Unauthorized + ... Test objective: The objective is to test that the retrieval of individual VNF Snapshot cannot be executed because the request is not authorized + ... Pre-conditions: none + ... Reference: Clause 5.4.24.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET Individual VNF Snapshot - Unauthorized + Check HTTP Response Status Code Is 401 Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot index 1b626f70aa3f1e655f4a29f70db09ded13aaffc2..54df23c0b6eebf874a34a5a33976618863fec9e8 100644 --- a/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot +++ b/SOL002/VNFLifecycleManagement-API/IndividualVnfLcmOperationOccurence.robot @@ -10,7 +10,7 @@ Post Individual VNF LCM OP occurrences - Method not implemented ... Test title: Post Individual VNF LCM OP occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.13.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -22,7 +22,7 @@ Get status information about individual VNF instances ... Test title: Get status information about individual VNF instances ... Test objective: The objective is to test that this method retrieve status information about a VNF lifecycle management operation occurrence ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT status information about multiple VNF instances - 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] v5.1.1 + ... Reference: Clause 5.4.13.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH status information about multiple VNF instances - 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] v5.1.1 + ... Reference: Clause 5.4.13.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE status information about multiple VNF instances - 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] v5.1.1 + ... Reference: Clause 5.4.13.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ Get status information about individual VNF instances with permitted authorizati ... Test title: Get status information about individual VNF instances with permitted authorization scope ... Test objective: The objective is to test that this method retrieve status information about a VNF lifecycle management operation occurrence with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -86,7 +86,7 @@ Get status information about individual VNF instances with not permitted authori ... Test title: Get status information about individual VNF instances with not permitted authorization scope ... Test objective: The objective is to test that this method retrieve status information about a VNF lifecycle management operation occurrence with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -99,10 +99,22 @@ Get Individual VNF LCM Operation occurrences - Not Found ... Test title: Get status information about individual VNF instances - Not Found ... Test objective: The objective is to test that the retrieval of VNF lifecycle management operation occurrence fails when instance is not present. ... Pre-conditions: none - ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none Get Individual VNF LCM OP occurrences Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails +Get Individual VNF LCM Operation occurrences - Unauthorized + [Documentation] Test ID: 6.3.5.12.9 + ... Test title: Get Individual VNF LCM Operation occurrences - Unauthorized + ... Test objective: The objective is to test that the retrieval of VNF lifecycle management operation occurrence fails without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.13.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + Get Individual VNF LCM Operation occurrences - Unauthorized + Check HTTP Response Status Code Is 401 Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot index c83588abaa7c80042c5dd6fcf8ef2df9376d8443..6111c312f1dabc29682f828ed88eaff32ba6ac65 100644 --- a/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/InstantiateVNFTask.robot @@ -15,7 +15,7 @@ POST Instantiate a vnfInstance ... Test title: POST Instantiate a vnfInstance ... Test objective: The objective is to instantiate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -23,13 +23,13 @@ POST Instantiate a vnfInstance Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id - + Check Operation Occurrence Resource Available POST Instantiate a vnfInstance Conflict [Documentation] Test ID: 6.3.5.3.2 ... Test title: POST Instantiate a vnfInstance Conflict ... Test objective: The objective is to verify that the instantiation of the vnf 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.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ GET Instantiate VNFInstance - Method not implemented ... Test title: GET Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ PUT Instantiate VNFInstance - Method not implemented ... Test title: PUT Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ PATCH Instantiate VNFInstance - Method not implemented ... Test title: PATCH Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ DELETE Instantiate VNFInstance - Method not implemented ... Test title: DELETE Instantiate VNFInstance - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -90,7 +90,7 @@ POST Instantiate a vnfInstance with TaretScaleLevelId ... Test title: POST Instantiate a vnfInstance with TaretScaleLevelId attribute ... Test objective: The objective is to instantiate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -103,7 +103,7 @@ POST Instantiate individual vnfInstance with instantiationLevelId ... Test title: POST Instantiate a vnfInstance with instantiationLevelId attribute ... Test objective: The objective is to instantiate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -116,7 +116,7 @@ POST Instantiate a vnfInstance with permited authorization scope ... Test title: POST Instantiate a vnfInstance with permited authorization scope ... Test objective: The objective is to instantiate a VNF instance using correct OAuth scope value with permited authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -124,13 +124,14 @@ POST Instantiate a vnfInstance with permited authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Instantiate a vnfInstance with not permited authorization scope [Documentation] Test ID: 6.3.5.3.10 ... Test title: POST Instantiate a vnfInstance with non permited authorization scope ... Test objective: The objective is to instantiate a VNF instance using incorrect OAuth scope value with not permited authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -142,13 +143,26 @@ POST Instantiate a vnfInstance with not valid authorization token ... Test title: POST Instantiate a vnfInstance with non permited authorization scope ... Test objective: The objective is to instantiate a VNF instance using incorrect OAuth scope value with not permited authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none POST instantiate individual vnfInstance with not valid authorization token Check HTTP Response Status Code Is 401 Check HTTP Response Body Json Schema Is ProblemDetails + +POST Instantiate a vnfInstance - Not Found + [Documentation] Test ID: 6.3.5.3.12 + ... Test title: POST Instantiate a vnfInstance - Not Found + ... Test objective: The objective is to Instantiate Individual VNFInstance when instance is not present. + ... Pre-conditions: none + ... Reference: Clause 5.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Instantiate a vnfInstance - Not Found + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot index c11f60d2cb01746e920d4e269217e150d69a992b..5efc67ac59ef0e2ddd78f09ff1d106437dee2843 100644 --- a/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFLifecycleManagement-API/NotificationEndpoint.robot @@ -14,7 +14,7 @@ VNF LCM Operation Occurrence Notification ... Test title: VNF LCM Operation Occurrence Start Notification ... Test objective: The objective is to test that VNF LCM Operation Occurrence Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ VNF Identifier Creation Notification ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test that VNF Identifier Creation Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for VNF Identifier Creation Notification is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -38,7 +38,7 @@ VNF Identifier Deletion Notification ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test that VNF Identifier Deletion Notification is delivered with success to the notification consumer ... Pre-conditions: A subscription for VNF Identifier Deletion Notification is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 5.4.20.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 5.4.20.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 5.4.20.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -85,7 +85,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 5.4.20.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/Notifications.robot b/SOL002/VNFLifecycleManagement-API/Notifications.robot index bce80641b32c08123be88b9322becce697bff826..05036a2ab36a00ffbac94388d204ff1a000ec9f4 100644 --- a/SOL002/VNFLifecycleManagement-API/Notifications.robot +++ b/SOL002/VNFLifecycleManagement-API/Notifications.robot @@ -13,7 +13,7 @@ VNF LCM Operation Occurrence Start Notification ... Test title: VNF LCM Operation Occurrence Start Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Start Notification when a new VNF LCM operation is started in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ VNF LCM Operation Occurrence Result Notification ... Test title: VNF LCM Operation Occurrence Result Notification ... Test objective: The objective is to test the dispatch of VNF LCM Operation Occurrence Result Notification when a VNF LCM operation is completed in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: An VNF LCM operation is in progress, and a subscription for VNF LCM Operation Occurrence notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ VNF Identifier Creation Notification ... Test title: VNF Identifier Creation Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Creation Notification when a new VNF instance resource is created in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.20.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ VNF Identifier Deletion Notification ... Test title: VNF Identifier Deletion Notification ... Test objective: The objective is to test the dispatch of VNF Identifier Deletion Notification when a VNF instance resource is deleted in the VNFM, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF instance resource is created, and a subscription for VNF identifier creation notifications is available in the VNFM. - ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot index 9d6aa70b827045ebbb108cd904012205645529ad..eadf25edbdfe3d3f4f9be29d49ce7184a8e8a295 100644 --- a/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/OperateVNFTask.robot @@ -13,7 +13,7 @@ POST Operate a vnfInstance ... Test title: POST Operate a vnfInstance ... Test objective: The objective is to test that POST method operate a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -21,13 +21,14 @@ POST Operate a vnfInstance Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Operate a vnfInstance Conflict (Not-Instantiated) [Documentation] Test ID: 6.3.5.9.2 ... Test title: POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: the VNF instance resource is in NOT_INSTANTIATED state - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +41,7 @@ POST Operate a vnfInstance Not Found ... Test title: POST Operate a vnfInstance Not Found ... Test objective: The objective is to test that the operation cannot be executed currently, because the resource is not existing ... Pre-conditions: the VNF instance resource is in not existing - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +54,7 @@ GET Operate VNFInstance - Method not implemented ... Test title: GET Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +66,7 @@ PUT Operate VNFInstance - Method not implemented ... Test title: PUT Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +78,7 @@ PATCH Operate VNFInstance - Method not implemented ... Test title: PATCH Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +90,7 @@ DELETE Operate VNFInstance - Method not implemented ... Test title: DELETE Operate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +101,7 @@ POST Operate a vnfInstance with permitted authorization scope ... Test title: POST Operate a vnfInstance with permitted authorization scope ... Test objective: The objective is to test that POST method operate a VNF instance with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -108,12 +109,13 @@ POST Operate a vnfInstance with permitted authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Operate a vnfInstance with not permitted authorization scope [Documentation] Test ID: 6.3.5.9.9 ... Test title: POST Operate a vnfInstance with not permitted authorization scope ... Test objective: The objective is to test that POST method operate a VNF instance with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -121,6 +123,18 @@ POST Operate a vnfInstance with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Operate a vnfInstance - Unauthorized + [Documentation] Test ID:6.3.5.9.10 + ... Test title: POST Operate a vnfInstance - Unauthorized + ... Test objective: The objective is to test that POST method cannot trigger operate without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Operate a vnfInstance - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot b/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot index db4a4c8de8b064ef92005adf745c2a7b93145e71..28768db4a51128d2b5620941a663296782efddb4 100644 --- a/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RetryOperationTask.robot @@ -14,7 +14,7 @@ POST Retry operation task ... Test title: POST Retry operation task ... Test objective: The objective is to test that the POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Retry operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Retry operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that the retry operation cannot be executed currently, due to a conflict with the state of the VNF instance resource. (i.e. the VNF instance resource is not in FAILED_TEMP state) ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Retry operation task Not Found ... Test title: POST Retry operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Retry operation task - Method not implemented ... Test title: GET Retry 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.14.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Retry operation task - Method not implemented ... Test title: PUT Retry 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.14.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Retry operation task - Method not implemented ... Test title: PATCH Retry 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.14.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Retry operation task - Method not implemented ... Test title: DELETE Retry 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.14.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Retry operation task with permitted authorization scope ... Test title: POST Retry operation task with permitted authorization scope ... Test objective: The objective is to test that the POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure with permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -112,7 +112,7 @@ POST Retry operation task with not permitted authorization scope ... Test title: POST Retry operation task with not permitted authorization scope ... Test objective: The objective is to test that the POST method initiates retrying a VNF lifecycle operation if that operation has experienced a temporary failure with not permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -120,6 +120,19 @@ POST Retry operation task with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Retry operation task - Unauthorized + [Documentation] Test ID:6.3.5.13.10 + ... Test title: POST Retry operation task - Unauthorized + ... Test objective: The objective is to test that the retry operation cannot be executed because the request is not authorized + ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. + ... Reference: Clause 5.4.14.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Retry operation task - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot b/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot index c4aadf2bf32ddc3f5d2bd2e5d9d393060a5dbb10..8f6203011475d6fa720d2fcdf851aaf1a8dcf61b 100644 --- a/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RevertToVNFSnapshotTask.robot @@ -13,7 +13,7 @@ POST Revert to VNF Snapshot Task ... Test title: POST Revert to VNF Snapshot Task ... Test objective: The objective is to test that POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -21,13 +21,14 @@ POST Revert to VNF Snapshot Task Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Revert to VNF Snapshot Task - NOT FOUND [Documentation] Test ID: 6.3.5.24.2 ... Test title: POST Revert to VNF Snapshot Task - NOT FOUND ... Test objective: The objective is to test that the POST method cannot request reverting to a snapshot if the task is not supported for the VNF instance represented by the parent resource. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: Task is not supported for the VNF instance represented by the parent resource. ... Post-Conditions: none @@ -40,7 +41,7 @@ POST Revert to VNF Snapshot Task - CONFLICT ... Test title: POST Revert to VNF Snapshot Task - CONFLICT ... Test objective: The objective is to test that the POST method cannot request reverting to a snapshot when the VNF instance is in NOT_INSTANTIATED state. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: VNF instance is in NOT_INSTANTIATED state. ... Post-Conditions: none @@ -53,7 +54,7 @@ GET Revert to VNF Snapshot Task - Method not implemented ... Test title: GET Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that GET method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +66,7 @@ PUT Revert to VNF Snapshot Task - Method not implemented ... Test title: PUT Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +78,7 @@ PATCH Revert to VNF Snapshot Task - Method not implemented ... Test title: PATCH Revert to VNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +90,7 @@ DELETE Revert to VNF Snapshot Task - Method not implemented ... Test title: DELETE Revert to sVNF Snapshot Task - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +101,7 @@ POST Revert to VNF Snapshot Task with permitted authorization scope ... Test title: POST Revert to VNF Snapshot Task with permitted authorization scope. ... Test objective: The objective is to test that POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot with permitted authorization scope. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -108,12 +109,13 @@ POST Revert to VNF Snapshot Task with permitted authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Revert to VNF Snapshot Task with not permitted authorization scope [Documentation] Test ID: 6.3.5.24.9 ... Test title: POST Revert to VNF Snapshot Task with not permitted authorization scope. ... Test objective: The objective is to test that POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot with not permitted authorization scope. ... Pre-conditions: none - ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -121,6 +123,19 @@ POST Revert to VNF Snapshot Task with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Revert to VNF Snapshot Task - Unauthorized + [Documentation] Test ID:6.3.5.24.10 + ... Test title: POST Revert to VNF Snapshot Task - Unauthorized + ... Test objective: The objective is to test that POST method requests reverting a VNF/VNFC instance to a VNF/VNFC snapshot without authorization. + ... Pre-conditions: none + ... Reference: Clause 5.4.22.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: in response header Location shall not be null + POST Revert to VNF Snapshot Task - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot b/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot index 98c30329003bd1829154e527235db65239dfb50e..074d5a7de805872af5bfee6b33be6649e427e97b 100644 --- a/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot +++ b/SOL002/VNFLifecycleManagement-API/RollbackOperationTask.robot @@ -14,7 +14,7 @@ POST Rollback operation task ... Test title: POST Rollback operation task ... Test objective: The objective is to test that POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -27,7 +27,7 @@ POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test title: POST Rollback operation task Conflict (Not-FAILED_TEMP) ... Test objective: The objective is to test that POST method The POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure ... Pre-conditions: the "VNF LCM operation occurrence" resource is not in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Rollback operation task Not Found ... Test title: POST Rollback operation task Not Found ... Test objective: The objective is to test that the retry operation cannot be executed because the operation is not supported ... Pre-conditions: none - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Rollback operation task - Method not implemented ... Test title: GET Rollback 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.15.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Rollback operation task - Method not implemented ... Test title: PUT Rollback 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.15.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Rollback operation task - Method not implemented ... Test title: PATCH Rollback 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.15.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Rollback operation task - Method not implemented ... Test title: DELETE Rollback 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.15.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -100,7 +100,7 @@ POST Rollback operation task with permitted authorization value ... Test title: POST Rollback operation task with permitted authorization value. ... Test objective: The objective is to test that POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure with permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -112,13 +112,26 @@ POST Rollback operation task with not permitted authorization value ... Test title: POST Rollback operation task with not permitted authorization value. ... Test objective: The objective is to test that POST method initiates rollback a VNF lifecycle operation if that operation has experienced a temporary failure with not permitted authorization scope ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. - ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none Post Rollback operation with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails + +POST Rollback operation task - Unauthorized + [Documentation] Test ID:6.3.5.14.10 + ... Test title: POST Rollback operation task - Unauthorized + ... Test objective: The objective is to test that the rollback operation cannot be executed because the request is not authorized + ... Pre-conditions: the "VNF LCM operation occurrence" resource is in "FAILED_TEMP" state. + ... Reference: Clause 5.4.15.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Rollback operation task - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot b/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot index 99973cce9696876a2c598bb014a15476dd13a5a6..7607041e25905e73ceb98d1ced7fd2c5566536e8 100644 --- a/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ScaleVNFTask.robot @@ -13,7 +13,7 @@ POST Scale a vnfInstance ... Test title: POST Scale a vnfInstance ... Test objective: The objective is to scale a VNF instance ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -21,13 +21,13 @@ POST Scale a vnfInstance Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id - + Check Operation Occurrence Resource Available POST Scale a vnfInstance Conflict (Not-Instantiated) [Documentation] Test ID: 6.3.5.4.2 ... Test title: POST Scale a vnfInstance Conflict (Not-Instantiated) ... 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 NOT-INSTANTIATED state - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Scale a vnfInstance Not Found ... Test title: POST Scale a vnfInstance Not Found ... 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: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Scale VNFInstance - Method not implemented ... Test title: GET Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Scale VNFInstance - Method not implemented ... Test title: PUT Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Scale VNFInstance - Method not implemented ... Test title: PATCH Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Scale VNFInstance - Method not implemented ... Test title: DELETE Scale VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ POST Scale a vnfInstance with permited authorization scope ... Test title: POST Scale a vnfInstance with permited authorization scope ... Test objective: The objective is to scale a VNF instance with permited authorization scope with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -109,19 +109,34 @@ POST Scale a vnfInstance with permited authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Scale a vnfInstance with not permited authorization scope [Documentation] Test ID: 6.3.5.4.9 ... Test title: POST Scale a vnfInstance with not permited authorization scope ... Test objective: The objective is to scale a VNF instance with not permited authorization scope with not permited authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none POST Scale vnfInstance with not permitted authorization scope 0 Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails + +POST Scale a vnfInstance - Unauthorized + [Documentation] Test ID: 6.3.5.4.10 + ... Test title: Post Scale a vnfInstance - Unauthorized + ... Test objective: The objective is to scale a VNF instance without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST scale vnfInstance - Unauthorized 0 + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot index 24d68e89561f4a9f8327e1d22ee68d37a7537c04..0939c4baa1509fec82b300a5103a5e46e1c82299 100644 --- a/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot +++ b/SOL002/VNFLifecycleManagement-API/ScaleVNFToLevelTask.robot @@ -12,7 +12,7 @@ POST Scale a vnfInstance to level with Attribute instantiationLevelId ... Test title: POST Scale a vnfInstance to level with instantiationLevelId attribute ... Test objective: The objective is to scale a VNF instance to a target level. ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -20,14 +20,14 @@ POST Scale a vnfInstance to level with Attribute instantiationLevelId Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id - + Check Operation Occurrence Resource Available POST Scale a vnfInstance to level Conflict (Not-Instantiated) [Documentation] Test ID: 6.3.5.5.2 ... Test title: POST Scale a vnfInstance to level Conflict (Not-Instantiated) ... 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 or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ POST Scale a vnfInstance Not Found ... Test title: POST Scale a vnfInstance Not 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] v5.1.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Scale to level VNFInstance - Method not implemented ... Test title: GET Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ PUT Scale to level VNFInstance - Method not implemented ... Test title: PUT Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -77,7 +77,7 @@ PATCH Scale to level VNFInstance - Method not implemented ... Test title: PATCH Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -89,7 +89,7 @@ DELETE Scale to level VNFInstance - Method not implemented ... Test title: DELETE Scale to level VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -101,7 +101,7 @@ POST Scale a vnfInstance to level with Attribute instantiationLevelId and permit ... Test title: POST Scale a vnfInstance to level with instantiationLevelId attribute and permitted authorization scope ... Test objective: The objective is to scale a VNF instance to a target level using OAuth token with permitted scope ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -109,19 +109,33 @@ POST Scale a vnfInstance to level with Attribute instantiationLevelId and permit Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Scale a vnfInstance to level with Attribute instantiationLevelId and not permitted authorization scope [Documentation] Test ID: 6.3.5.5.9 ... Test title: POST Scale a vnfInstance to level with instantiationLevelId attribute and not permitted authorization scope ... Test objective: The objective is to scale a VNF instance to a target level using OAuth token with not permitted scope ... Pre-conditions: none - ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none POST Scale vnfInstance to level with instantiationLevelId and not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails + +POST Scale a vnfInstance to level with Attribute instantiationLevelId - Unauthorized + [Documentation] Test ID: 6.3.5.5.10 + ... Test title: POST Scale a vnfInstance to level with Attribute instantiationLevelId - Unauthorized + ... Test objective: The objective is to scale a VNF instance to a target level using without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Scale a vnfInstance to level with Attribute instantiationLevelId - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot index 0c0c198aef251a828116d19dd2041dd0a077721d..cad7891c5ae7bce267cdb7f749149478d9bd0a9a 100644 --- a/SOL002/VNFLifecycleManagement-API/Subscriptions.robot +++ b/SOL002/VNFLifecycleManagement-API/Subscriptions.robot @@ -15,7 +15,7 @@ POST Create a new subscription ... Test title: POST Create a new subscription ... Test objective: The POST method creates a new subscription ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -23,39 +23,44 @@ POST Create a new subscription Check HTTP Response Status Code Is 201 Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is subscription - + Check Postcondition Subscription Resource Returned in Location Header Is Available POST Create a new Subscription - DUPLICATION [Documentation] Test ID: 6.3.5.17.2 ... Test title: POST Create a new subscription - DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: SUT should support duplication of subscription creation ... Post-Conditions: in response header Location shall not be null Post Create subscription - DUPLICATION Check HTTP Response Status Code Is 201 + Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is subscription + Check Postcondition Subscription Resource Returned in Location Header Is Available POST Create a new Subscription - NO-DUPLICATION [Documentation] Test ID: 6.3.5.17.3 ... Test title: POST Create a new subscription - NO-DUPLICATION ... Test objective: The POST method creates a new subscription even if an existing subscription to same content exist ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... 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 Create subscription - NO-DUPLICATION Check HTTP Response Status Code Is 303 + Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Postcondition Subscription Resource Returned in Location Header Is Available + GET Subscriptions [Documentation] Test ID: 6.3.5.17.4 ... Test title: GET Subscriptions ... 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 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -68,7 +73,7 @@ GET Subscription - Filter ... Test title: GET Subscriptions - 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] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -81,7 +86,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test title: GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is 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] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -94,7 +99,7 @@ GET subscriptions - Bad Request Invalid attribute-based filtering parameters ... 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 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -107,7 +112,7 @@ GET subscriptions with exclude_default attribute selector ... 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 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -120,7 +125,7 @@ GET subscriptions with fields attribute selector ... 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 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -133,7 +138,7 @@ GET subscriptions with exclude_fields attribute selector ... 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 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -146,7 +151,7 @@ PUT subscriptions - Method not implemented ... Test title: PUT subscriptions - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -158,7 +163,7 @@ PATCH subscriptions - Method not implemented ... Test title: PATCH subscriptions - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -170,7 +175,7 @@ DELETE subscriptions - Method not implemented ... Test title: DELETE subscriptions - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: check that resources are not deleted @@ -183,7 +188,7 @@ POST Create a new Subscription - Unprocessable Content ... Test title: POST Create a new Subscription - Unprocessable Content ... Test objective: The objective is to test that content type of the message content is supported and the message content of a request contains syntactically correct data but the data cannot be processed. ... re-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -196,7 +201,7 @@ GET information about multiple subscriptions to get Paged Response ... Test title: GET information about multiple subscriptions to get Paged Response ... Test objective: The objective is to retrieve information about the subscriptions to get paged response ... Pre-conditions: - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -209,7 +214,7 @@ GET information about multiple subscriptions for Bad Request Response too big ... Test title: GET information about multiple subscriptions for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about subscriptions when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: - ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: ... Post-Conditions: @@ -221,7 +226,7 @@ POST Create a new subscription with permitted authorization scope ... Test title: POST Create a new subscription with permitted authorization scope ... Test objective: The POST method creates a new subscription with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null @@ -229,15 +234,31 @@ POST Create a new subscription with permitted authorization scope Check HTTP Response Status Code Is 201 Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is subscription + Check Postcondition Subscription Resource Returned in Location Header Is Available POST Create a new subscription with not permitted authorization scope [Documentation] Test ID: 6.3.5.17.18 ... Test title: POST Create a new subscription with not permitted authorization scope ... Test objective: The POST method creates a new subscription with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: in response header Location shall not be null Post Create subscription with not permitted authorization scope Check HTTP Response Status Code Is 403 - Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Create a new subscription - Unauthorized + [Documentation] Test ID:6.3.5.17.19 + ... Test title: POST Create a new subscription - Unauthorized + ... Test objective: The POST method creates a new subscription without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.18.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: in response header Location shall not be null + Post Create subscription - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + + diff --git a/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot b/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot index ce45be3fda395c1caf68030164cc0d06c2ca2733..56cd751fee8ae79fd3d3d2a857212563728c274f 100644 --- a/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot +++ b/SOL002/VNFLifecycleManagement-API/TerminateVNFTask.robot @@ -13,7 +13,7 @@ POST Terminate a vnfInstance ... 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 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -21,13 +21,14 @@ POST Terminate a vnfInstance Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Terminate a vnfInstance Conflict (Not-Instantiated) [Documentation] Test ID: 6.3.5.7.2 ... Test title: POST Terminate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation cannot be executed currently, due to a conflict with the state of the VNF instance resource or that a required child attribute of the "extensions" attribue has not been set. ... Pre-conditions: VNF instance resource is in NOT_INSTANTIATED state - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -40,7 +41,7 @@ GET Terminate VNFInstance - Method not implemented ... Test title: GET Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +53,7 @@ PUT Terminate VNFInstance - Method not implemented ... Test title: PUT Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -64,7 +65,7 @@ PATCH Terminate VNFInstance - Method not implemented ... Test title: PATCH Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -76,7 +77,7 @@ DELETE Terminate VNFInstance - Method not implemented ... Test title: DELETE Terminate VNFInstance - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -87,7 +88,7 @@ POST Terminate a vnfInstance with permited authorization scope ... Test title: POST Terminate a vnfInstance with permited authorization scope ... Test objective: The objective is to test that POST method terminate a VNF instance with permited authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -95,12 +96,13 @@ POST Terminate a vnfInstance with permited authorization scope Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location Check Operation Occurrence Id + Check Operation Occurrence Resource Available POST Terminate a vnfInstance with not permited authorization scope [Documentation] Test ID: 6.3.5.7.8 ... Test title: POST Terminate a vnfInstance with not permited authorization scope ... Test objective: The objective is to test that POST method terminate a VNF instance with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -108,6 +110,33 @@ POST Terminate a vnfInstance with not permited authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails +POST Terminate a vnfInstance Not Found + [Documentation] Test ID: 6.3.5.7.9 + ... Test title: POST Terminate a vnfInstance Not Found + ... Test objective: The objective is to test that POST method cannot trigger terminate because the VNF instance resource is not found. + ... Pre-conditions: none + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Terminate a vnfInstance - Not Found + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Terminate a vnfInstance - Unauthorized + [Documentation] Test ID:6.3.5.7.10 + ... Test title: POST Terminate a vnfInstance - Unauthorized + ... Test objective: The objective is to test that POST method cannot trigger terminate without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Terminate a vnfInstance - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails + + *** Keywords *** Check resource existence Set Headers {"Accept":"${ACCEPT}"} diff --git a/SOL002/VNFLifecycleManagement-API/VNFInstances.robot b/SOL002/VNFLifecycleManagement-API/VNFInstances.robot index d8c9ee280c026ac83b94f885cb7cc5a1f6179f40..3b51a645185d1bd35344e12b4d1d81ad8061e808 100644 --- a/SOL002/VNFLifecycleManagement-API/VNFInstances.robot +++ b/SOL002/VNFLifecycleManagement-API/VNFInstances.robot @@ -8,11 +8,11 @@ Library JSONSchemaLibrary schemas/ *** Test Cases *** POST Create a new vnfInstance - [Documentation] Test ID: 6.3.5.1.1 + [Documentation] Test ID: 6.3.5.2.1 ... Test title: POST Create a new vnfInstance ... Test objective: The objective is to create a new VNF instance resource ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance created @@ -21,13 +21,14 @@ POST Create a new vnfInstance Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is vnfInstance Check HTTP Response Body vnfInstance content against VNF Descriptor + Check Postcondition Resource Returned in Location Header Is Available GET information about multiple VNF instances [Documentation] Test ID: 6.3.5.1.2 ... Test title: GET information about multiple VNF instances ... Test objective: The objective is to get information about multiples VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -41,7 +42,7 @@ GET information about multiple VNF instances Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF instances with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -54,7 +55,7 @@ GET information about multiple VNF instances Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF instances Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF instances with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -67,7 +68,7 @@ GET information about multiple VNF instances with "all_fields" attribute selecto ... Test title: GET information about multiple VNF instances with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -80,7 +81,7 @@ GET information about multiple VNF instances with "exclude_default" attribute se ... Test title: GET information about multiple VNF instances with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -93,7 +94,7 @@ GET information about multiple VNF instances with "fields" attribute selector ... Test title: GET information about multiple VNF instances with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -106,7 +107,7 @@ GET information about multiple VNF instances with "exclude_fields" attribute sel ... 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: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -119,7 +120,7 @@ PUT VNFInstances - Method not implemented ... Test title: PUT VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -127,11 +128,11 @@ PUT VNFInstances - Method not implemented Check HTTP Response Status Code Is 405 PATCH VNFInstances - Method not implemented - [Documentation] Test ID: 6.3.5.1.10 + [Documentation] Test ID: 6.3.5.2.10 ... Test title: PATCH VNFInstances - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -139,11 +140,11 @@ PATCH VNFInstances - Method not implemented Check HTTP Response Status Code Is 405 DELETE VNFInstances - Method not implemented - [Documentation] Test ID: 6.3.5.1.11 + [Documentation] Test ID: 6.3.5.2.11 ... Test title: DELETE VNFInstances - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance not deleted @@ -151,11 +152,11 @@ DELETE VNFInstances - Method not implemented Check HTTP Response Status Code Is 405 GET information about multiple VNF instances with "exclude_default" and "fields" attribute selector - [Documentation] Test ID: 6.3.5.1.12 + [Documentation] Test ID: 6.3.5.2.12 ... Test title: GET information about multiple VNF instances with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF instances ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -164,11 +165,11 @@ GET information about multiple VNF instances with "exclude_default" and "fields" Check HTTP Response Body Json Schema Is vnfInstances POST Create a new vnfInstance - UNPROCESSABLE CONTENT - [Documentation] Test ID: 6.3.5.1.13 + [Documentation] Test ID: 6.3.5.2.13 ... Test title: POST Create a new vnfInstance - UNPROCESSABLE CONTENT ... Test objective: The objective is to test that a new VNF instance resource is not created when ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: vnfdId of the referenced VNF package is not in ENABLED state or does not exist. ... Post-Conditions: VNF instance created @@ -176,11 +177,11 @@ POST Create a new vnfInstance - UNPROCESSABLE CONTENT Check HTTP Response Status Code Is 422 Check HTTP Response Body Json Schema Is ProblemDetails POST Create a new vnfInstance with permitted authorization scope - [Documentation] Test ID: 6.3.5.1.14 + [Documentation] Test ID: 6.3.5.2.14 ... Test title: POST Create a new vnfInstance with permitted authorization scope ... Test objective: The objective is to create a new VNF instance resource with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance created @@ -189,12 +190,13 @@ POST Create a new vnfInstance with permitted authorization scope Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is vnfInstance Check HTTP Response Body vnfInstance content against VNF Descriptor + Check Postcondition Resource Returned in Location Header Is Available POST Create a new vnfInstance with not permitted authorization scope - [Documentation] Test ID: 6.3.5.1.15 + [Documentation] Test ID: 6.3.5.2.15 ... Test title: POST Create a new vnfInstance with not permitted authorization scope ... Test objective: The objective is to create a new VNF instance resource with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance created @@ -202,11 +204,11 @@ POST Create a new vnfInstance with not permitted authorization scope Check HTTP Response Status Code Is 403 Check HTTP Response Body Json Schema Is ProblemDetails GET information about multiple VNF instances - Bad Request Response too big - [Documentation] Test ID: 6.3.5.1.16 + [Documentation] Test ID: 6.3.5.2.16 ... Test title: GET information about multiple VNF instances - Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving information about multiple VNF instances because Response is too big. ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -215,11 +217,11 @@ GET information about multiple VNF instances - Bad Request Response too big Check HTTP Response Body Json Schema Is ProblemDetails GET information about multiple VNF instances to get Paged Response - [Documentation] Test ID: 6.3.5.1.17 + [Documentation] Test ID: 6.3.5.2.17 ... Test title: GET information about multiple VNF instances to get Paged Response ... Test objective: The objective is to query information about multiple VNF instances to get Paged Response. ... Pre-conditions: none - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the subscriptions resources ... Post-Conditions: none @@ -228,13 +230,26 @@ GET information about multiple VNF instances to get Paged Response Check HTTP Response Header Contain Link to next page GET information about multiple VNF instances as a Paged Response with nextpage_opauque_marker parameter - [Documentation] Test ID: 6.3.5.1.17a + [Documentation] Test ID: 6.3.5.2.17a ... Test title: GET information about multiple VNF instances as a Paged Response with nextpage_opauque_marker parameter ... Test objective: The objective is to query information about multiple VNF instances as a Paged Response and retrieve the next page using the nextpage_opaque_marker parameter - ... Pre-conditions: A request for retrieving multiple VNF instances as a paged response has been successfully issued (Test ID 6.3.5.1.17) - ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Pre-conditions: A request for retrieving multiple VNF instances as a paged response has been successfully issued (Test ID 6.3.5.2.17) + ... Reference: Clause 5.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports response paging for the VNF instance resources ... Post-Conditions: none Get multiple vnfInstances with nextpage_opaque_marker parameter - Check HTTP Response Status Code Is 200 \ No newline at end of file + Check HTTP Response Status Code Is 200 + +POST Create a new vnfInstance - Unauthorized + [Documentation] Test ID: 6.3.5.2.18 + ... Test title: POST Create a new vnfInstance - Unauthorized + ... Test objective: The objective is to Create a new vnfInstance without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Create a new vnfInstance - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/VNFSelectDeployableModules.robot b/SOL002/VNFLifecycleManagement-API/VNFSelectDeployableModules.robot index 8718b492b3196b509928166fd58ee1223b4bf063..59026e9d3d9999b3ac680e295c55fe987ad71f32 100644 --- a/SOL002/VNFLifecycleManagement-API/VNFSelectDeployableModules.robot +++ b/SOL002/VNFLifecycleManagement-API/VNFSelectDeployableModules.robot @@ -12,13 +12,14 @@ POST Select VNF Deployable Module ... Test title: POST Select VNF Deployable Module ... Test objective: The objective is to select VNF Deployable Module ... Pre-conditions: The VNF instance resource is in INSTANTIATED state - ... Reference: Clause 5.4.11b.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11b.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none POST Select VNF Deployable Modules Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location + Check Operation Occurrence Resource Available Check Individual VNF LCM operation occurrence operationState is STARTING POST Select VNF Deployable Module Not Found @@ -26,7 +27,7 @@ POST Select VNF Deployable Module Not Found ... Test title: POST Select VNF Deployable Module Not Found ... Test objective: The objective is to test that the POST Select VNF Deployable Module fails when the resource is not present. ... Pre-conditions: none - ... Reference: Clause 5.4.11b.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11b.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -39,7 +40,7 @@ POST Select VNF Deployable Module with conflict (Not Instantiated) ... Test title: POST Operate a vnfInstance Conflict (Not-Instantiated) ... Test objective: The objective is to test that the operation fails when there is a conflict with the resource state. ... Pre-conditions: the VNF instance resource is in NOT-INSTANTIATED state - ... Reference: Clause 5.4.11b.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11b.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -52,7 +53,7 @@ GET Select VNF Deployable Module - Method not implemented ... Test title: GET Select VNF Deployable Module - Method not implemented ... Test objective: The objective is to verify that the method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11b.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11b.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -64,7 +65,7 @@ PUT Select VNF Deployable Module - Method not implemented ... Test title: PUT Select VNF Deployable Module - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11b.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11b.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -76,7 +77,7 @@ PATCH Select VNF Deployable Module - Method Not implemented ... Test title: PATCH Select VNF Deployable Module - Method Not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11b.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11b.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -88,9 +89,21 @@ DELETE Select VNF Deployable Module - Method Not implemented ... Test title: DELETE Select VNF Deployable Module - Method Not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.11b.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.11b.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none DELETE Select VNF Deployable Modules - Check HTTP Response Status Code Is 405 \ No newline at end of file + Check HTTP Response Status Code Is 405 +POST Select VNF Deployable Module - Unauthorized + [Documentation] Test ID:6.3.5.27.8 + ... Test title: POST Select VNF Deployable Module - Unauthorized + ... Test objective: The objective is to test that POST method cannot trigger a Select VNF Deployable Module without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.11b.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST Select VNF Deployable Module - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot b/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot index 0bc22eaae775a18d766b8bd824392289ad7275cf..d7a8c7f25ce9cc60f86b00f281e477bb742fe9ba 100644 --- a/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot +++ b/SOL002/VNFLifecycleManagement-API/VNFSnapshots.robot @@ -8,7 +8,7 @@ POST Create a new VNF Snapshot ... Test title: POST Create a new VNF Snapshot ... Test objective: The objective is to create a new VNF snapshot ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF snapshot is created @@ -17,13 +17,14 @@ POST Create a new VNF Snapshot Check Http Response Header Contains Location Check HTTP Response Body Json Schema Is VnfSnapshotInfo Check HTTP Location Header Contains URI of Created Resource + Check Postcondition VNF Snapshot Resource Returned in Location Header Is Available GET information about multiple VNF Snapshots [Documentation] Test ID: 6.3.5.25.2 ... Test title: GET information about multiple VNF Snapshots ... Test objective: The objective is to get information about multiples VNF snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -36,7 +37,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute-based ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -49,7 +50,7 @@ GET information about multiple VNF Snapshots Bad Request Invalid attribute selec ... Test title: GET information about multiple VNF Snapshots Bad Request Invalid attribute selector ... Test objective: The objective is to get information about multiples VNF Snapshots with Invalid attribute-based filtering parameters ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -62,7 +63,7 @@ GET information about multiple VNF Snapshots with "all_fields" attribute selecto ... Test title: GET information about multiple VNF Snapshots with "all_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -75,7 +76,7 @@ GET information about multiple VNF Snapshots with "exclude_default" attribute se ... Test title: GET information about multiple VNF Snapshots with "exclude_default" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -88,7 +89,7 @@ GET information about multiple VNF Snapshots with "fields" attribute selector ... Test title: GET information about multiple VNF Snapshots with "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -101,7 +102,7 @@ GET information about multiple VNF Snapshots with "exclude_default" and "fields" ... Test title: GET information about multiple VNF Snapshots with "exclude_default" and "fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -114,7 +115,7 @@ GET information about multiple VNF Snapshots with "exclude_fields" attribute sel ... Test title: GET information about multiple VNF Snapshots with "exclude_fields" attribute selector ... Test objective: The objective is to query information about multiple VNF Snapshots ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -127,7 +128,7 @@ GET VNF Snapshots - Bad Request Response too Big ... Test title: GET VNF Snapshots - Bad Request Response too Big ... Test objective: The objective is test that the retrieval of existing VNF Snapshots list fails because response is too big, and perform the JSON schema validation of the failed operation HTTP response. ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: VNFM does not support paged response. ... Post-Conditions: none @@ -140,7 +141,7 @@ GET VNF Snapshots as Paged Response ... Test title: GET VNF Snapshots as Paged Response ... Test objective: The objective is to test that GET method retrieves the list of existing VNF Snapshots as paged response. ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: VNFM supports paged response. ... Post-Conditions: none @@ -153,7 +154,7 @@ PUT VNF Snapshots - Method not implemented ... Test title: PUT VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -165,7 +166,7 @@ PATCH VNF Snapshots - Method not implemented ... Test title: PATCH VNF Snapshots - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -177,7 +178,7 @@ DELETE VNF Snapshots - Method not implemented ... Test title: DELETE VNF Snapshots - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF instance not deleted @@ -188,7 +189,7 @@ POST Create a new VNF Snapshot with permitted authorization scope ... Test title: POST Create a new VNF Snapshot with permitted authorization scope ... Test objective: The objective is to create a new VNF snapshot with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: VNF snapshot is created @@ -197,15 +198,29 @@ POST Create a new VNF Snapshot with permitted authorization scope Check Http Response Header Contains Location Check HTTP Response Body Json Schema Is VnfSnapshotInfo Check HTTP Location Header Contains URI of Created Resource + Check Postcondition VNF Snapshot Resource Returned in Location Header Is Available POST Create a new VNF Snapshot with not permitted authorization scope [Documentation] Test ID: 6.3.5.25.16 ... Test title: POST Create a new VNF Snapshot with not permitted authorization scope ... Test objective: The objective is to create a new VNF snapshot with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none - ... Post-Conditions: VNF snapshot is created + ... Post-Conditions: none POST Create a new VNF Snapshot with not permitted authorization scope Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + +POST Create a new VNF Snapshot - Unauthorized + [Documentation] Test ID: 6.3.5.25.17 + ... Test title: POST Create a new VNF Snapshot - Unauthorized + ... Test objective: The objective is to create a new VNF snapshot without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.23.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + POST Create a new VNF Snapshot - Unauthorized + Check HTTP Response Status Code Is 401 Check HTTP Response Body Json Schema Is ProblemDetails \ No newline at end of file diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot index 988f7a566fcc979460de3c6e7b6e6e427bc96b20..178a3e016d431a875ace71a2792266e32f7360f3 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationKeywords.robot @@ -40,10 +40,32 @@ Check Operation Occurrence Id ${vnfLcmOpOccId}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${vnfLcmOpOccId} +Check Operation Occurrence Resource Available + Log Fetching resource pointed by Location header + GET ${response['headers']['Location']} + Integer response status 200 + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json schemas/vnfLcmOpOcc.schema.json ${result} + Log Operation Occurrence resource validated + Check HTTP Location Header Contains URI of Created Resource ${URI}= Get Value From Json ${response['headers']} $..Location Should Not Be Empty ${URI} +Check Postcondition VNF Snapshot Resource Returned in Location Header Is Available + Log Going to check post condition + 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 schemas/VnfSnapshotInfo.schema.json ${result} + Log Validated subscription schema + + Check HTTP Response Body Json Schema Is [Arguments] ${input} Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json @@ -52,6 +74,16 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response['body']} Log Json Schema Validation OK +Check Postcondition Subscription Resource Returned in Location Header Is Available + Log Going to check post condition + 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 schemas/subscription.schema.json ${result} + Log Validated subscription schema Check resource Instantiated @@ -92,6 +124,16 @@ Check HTTP Response Header Contains Should Contain ${response['headers']} ${CONTENT_TYPE} Log Header is present +Check Postcondition Resource Returned in Location Header Is Available + Log Going to check postcondition + 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 schemas/vnfInstance.schema.json ${result} + Log Validated vnfInstance schema Check HTTP Response Header Contains ETag and Last-Modified Pass Execution If ${HEADER_TEST_SUPPORTED} == 0 Headers testing not supported. Skipping the Test. Log ${response['headers']} @@ -224,8 +266,17 @@ DELETE multiple vnfInstances Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Delete ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfLcmOpOccId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} +POST Create a new vnfInstance - Unauthorized + Log Trying to Create a new vnfInstance witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${body}= Get File jsons/createVnfRequest.json + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Create a new VNF Snapshot Log Create VNF snapshot by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots Set Headers {"Accept":"${ACCEPT}"} @@ -366,7 +417,16 @@ GET individual vnfInstance Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} ${outputResponse}= Output response - Set Global Variable ${response} ${outputResponse} + Set Global Variable ${response} ${outputResponse} + +GET individual vnfInstance - Unauthorized + log Trying to get information about an individual VNF instance + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} PUT individual vnfInstance log Trying to perform a PUT. This method should not be implemented @@ -896,6 +956,16 @@ DELETE Select VNF Deployable Modules ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Select VNF Deployable Module - Unauthorized + log Trying to select deployable modules of VNF instance without authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/SelectVnfDeployableModulesRequest.json + ${body}= Format String ${template} + Post ${apiRoot}/vnflcm/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/select_depl_mods ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Create VNF Snapshot Task Log Trying to request a snapshot of a VNF instance Set Headers {"Accept":"${ACCEPT}"} @@ -1093,6 +1163,8 @@ GET VNF LCM OP occurrences Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + + GET VNF LCM OP occurrences invalid attribute Log Query status information about multiple VNF lifecycle management operation occurrences. Set Headers {"Accept":"${ACCEPT}"} @@ -1149,6 +1221,13 @@ Get Individual VNF LCM OP occurrences Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +Get Individual VNF LCM Operation occurrences - Unauthorized + log Trying to Get VNF LCM OpOcc without authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} Put Individual VNF LCM OP occurrences log Trying to perform a POST. This method should not be implemented Set Headers {"Accept":"${ACCEPT}"} @@ -1895,6 +1974,16 @@ POST instantiate individual vnfInstance with not valid authorization token ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Instantiate a vnfInstance - Not Found + Log Trying Instantiate a vnfInstance. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${body}= Get File jsons/instantiateVnfRequest.json + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${NOT_EXISTANT_VNF_INSTANCE_ID}/instantiate ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Scale vnfInstance with permitted authorization scope [Arguments] ${vnf_state} [Documentation] ${vnf_state} differentiate the VNF ID to be used in the different POST requests @@ -1918,6 +2007,24 @@ POST Scale vnfInstance with permitted authorization scope ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST scale vnfInstance - Unauthorized + [Arguments] ${vnf_state} + [Documentation] ${vnf_state} differentiate the VNF ID to be used in the different POST requests + ... ${vnf_state} == 0 -> VNF in instantiated state + ... ${vnf_state} == 1 -> VNF in not_instantiated state + ... ${vnf_state} == 2 -> VNF ID not stored + ... + Log Trying to scale a vnf Instance witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${body}= Get File jsons/scaleVnfRequest.json + Run Keyword If ${vnf_state} == 0 Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${instantiatedVnfInstanceId}/scale ${body} + Run Keyword If ${vnf_state} == 1 Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${notInstantiatedVnfInstanceId}/scale ${body} + Run Keyword If ${vnf_state} == 2 Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${NOT_EXISTANT_VNF_INSTANCE_ID}/scale ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + POST Scale vnfInstance with not permitted authorization scope [Arguments] ${vnf_state} [Documentation] ${vnf_state} differentiate the VNF ID to be used in the different POST requests @@ -1969,6 +2076,17 @@ POST Scale vnfInstance to level with instantiationLevelId and not permitted auth ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Scale a vnfInstance to level with Attribute instantiationLevelId - Unauthorized + Log Trying to scale a vnf Instance to level without authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/scaleVnfToLevelRequestWithinstantiationLevelId.json + ${body}= Format String ${template} instantiationLevelId=${instantiationLevelId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/scale_to_level ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + POST Change VNF deployment flavour with permited authorization scope Log Trying to change the deployment flavour of a VNF instance with permited authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -1995,6 +2113,17 @@ POST Change VNF deployment flavour with not permited authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST Change VNF deployment flavour - Unauthorized + Log Trying to change the deployment flavour of a VNF instance without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/changeVnfFlavourRequest.json + ${body}= Format String ${template} newFlavourId=${newFlavourId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_flavour ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Terminate VNF with permitted authorization scope Log Trying to terminate a VNF instance with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2021,6 +2150,25 @@ POST Terminate VNF with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Terminate a vnfInstance - Not Found + Log Trying to terminate a VNF instance. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${body}= Get File jsons/terminateVnfRequest.json + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${NOT_EXISTANT_VNF_INSTANCE_ID}/terminate ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} +POST Terminate a vnfInstance - Unauthorized + Log Trying to terminate a VNF instance without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${body}= Get File jsons/terminateVnfRequest.json + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/terminate ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Heal VNF with permitted authorization scope Log Trying to heal a VNF instance with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2047,6 +2195,18 @@ POST Heal VNF with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST Heal a vnfInstance - Unauthorized + Log Trying to heal a vnf Instance witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/healVnfRequest.json + ${body}= Format String ${template} healingCause=${healingCause} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/heal ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + POST Change External VNF Connectivity with permitted authorization scope Log Trying to change the external connectivity of a VNF instance with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2073,6 +2233,29 @@ POST Change External VNF Connectivity with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST Change external VNF connectivity - VNF instance not found + Log Trying to change the external connectivity of a VNF instance not found. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/changeExtVnfConnectivityRequest.json + ${body}= Format String ${template} CPD_IDs=${CPD_IDs} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${NOT_EXISTANT_VNF_INSTANCE_ID}/change_ext_conn ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST Change External VNF Connectivity - Unauthorized + Log Trying to change the external connectivity of a VNF instance without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/changeExtVnfConnectivityRequest.json + ${body}= Format String ${template} CPD_IDs=${CPD_IDs} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_ext_conn ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Operate VNF with permitted authorization scope Log Trying to operate a VNF instance with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2099,6 +2282,17 @@ POST Operate VNF with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST Operate a vnfInstance - Unauthorized + Log Trying to operate a vnf Instance witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/operateVnfRequest.json + ${body}= Format String ${template} changeStateTo=${changeStateTo} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/operate ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Create VNF Snapshot Task with permitted authorization scope Log Trying to request a snapshot of a VNF instance with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2125,6 +2319,16 @@ POST Create VNF Snapshot Task with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/create_snapshot ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Create VNF Snapshot Task - Unauthorized + Log Trying to request a snapshot of a VNF instance without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/CreateVnfSnapshotRequest.json + ${body}= Format String ${template} vnfSnapshotInfoId=${vnfSnapshotInfoId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/create_snapshot ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Revert to VNF Snapshot Task with permitted authorization scope Log Trying to initiate revert to VNF snapshot task with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2151,6 +2355,17 @@ POST Revert to VNF Snapshot Task with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/revert_to_snapshot ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST Revert to VNF Snapshot Task - Unauthorized + Log Trying to initiate revert to VNF snapshot task without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/RevertToVnfSnapshotRequest.json + ${body}= Format String ${template} vnfSnapshotInfoId=${vnfSnapshotInfoId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/revert_to_snapshot ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Change Current VNF Package Task with permitted authorization scope Log Trying to change current VNF package task with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2177,6 +2392,29 @@ POST Change Current VNF Package Task with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_vnfpkg ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST Change current VNF Package Task - VNF instance not found + Log Trying to change current VNF package task for a VNF instance not found. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + ${template}= Get File jsons/changeCurrentVnfPkgRequest.json + ${body}= Format String ${template} vnfdId=${vnfdId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${NOT_EXISTANT_VNF_INSTANCE_ID}/change_vnfpkg ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST Change current VNF Package Task - Unauthorized + Log Trying to change current VNF package task without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/changeCurrentVnfPkgRequest.json + ${body}= Format String ${template} vnfdId=${vnfdId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances/${vnfInstanceId}/change_vnfpkg ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Create a new vnfInstance with permitted authorization scope Log Create VNF instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_instances with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2251,6 +2489,15 @@ GET VNF LCM OP occurrences with not permitted authorization scope Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +GET status information about multiple VNF LCM operation occurrences - Unauthorized + Log Query status information about multiple VNF lifecycle management operation occurrences without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} Get Individual VNF LCM OP occurrences with permitted authorization scope log Query status information about an individual VNF lifecycle management operation occurrence with permitted authorization scope. Set Headers {"Accept":"${ACCEPT}"} @@ -2273,6 +2520,15 @@ Get Individual VNF LCM OP occurrences with not permitted authorization scope Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +Get status information about individual VNF instances - Unauthorized + Log Query status information about an individual VNF lifecycle management operation occurrence without authorization. + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} Post Retry operation with permitted authorization scope Log Retry a VNF lifecycle operation if that operation has experienced a temporary failure with permitted authorization scope. ${scope_value}= Create Dictionary scopeValue=${OPERATION_OCCURANCE_SCOPE} @@ -2291,6 +2547,14 @@ Post Retry operation with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Retry operation task - Unauthorized + Log Trying to retry operation task witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/retry + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} Post Rollback operation with permitted authorization scope Log Rollback a VNF lifecycle operation if that operation has experienced a temporary failure with permitted autorization scope. ${scope_value}= Create Dictionary scopeValue=${OPERATION_OCCURANCE_SCOPE} @@ -2309,6 +2573,14 @@ Post Rollback operation with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +POST Rollback operation task - Unauthorized + Log Trying to rollback operation task witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/rollback + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} Post Fail operation with permitted authorization scope Log mark as Failed a VNF lifecycle operation if that operation has experienced a failure with permitted authorization scope ${scope_value}= Create Dictionary scopeValue=${OPERATION_OCCURANCE_SCOPE} @@ -2327,6 +2599,15 @@ Post Fail operation with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} +Post Fail operation - Unauthorized + Log Trying to mark as failed operation task witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/fail + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + POST Cancel operation task with permitted authorization scope Log Cancel an ongoing VNF lifecycle operation with permitted authorization scope. ${scope_value}= Create Dictionary scopeValue=${OPERATION_OCCURANCE_SCOPE} @@ -2347,6 +2628,16 @@ POST Cancel operation task with not permitted authorization scope Log Validate Status code ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST cancel operation task - Unauthorized + Log Trying to cancel operation task witout authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_lcm_op_occs/${vnfLcmOpOccId}/cancel ${CancelMode} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + Post Create subscription with permitted authorization scope Log Create subscription instance by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions with permitted authorization scope Set Headers {"Accept":"${ACCEPT}"} @@ -2385,6 +2676,23 @@ Post Create subscription with not permitted authorization scope ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} Clear Requests ${callback_endpoint} + +Post Create subscription - Unauthorized + Log Create subscription instance without authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template}= Get File jsons/lccnSubscriptionRequest.json + ${body}= Format String ${template} vnfdIds=${vnfdIds} callback_uri=${callback_uri}:${callback_port} callback_endpoint=${callback_endpoint} + Log Creating mock request and response to handle GET operation on notification endpoint + &{notification_request}= Create Mock Request Matcher GET ${callback_endpoint} + &{notification_response}= Create Mock Response status_code=204 + Log Issue the subscription request + Create Mock Expectation ${notification_request} ${notification_response} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions ${body} allow_redirects=false + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + Clear Requests ${callback_endpoint} GET individual VNF Snapshot with permitted authorization scope log Trying to get information about an individual VNF snapshot with permitted authorization scope Set Headers {"Accept":"${ACCEPT}"} @@ -2407,6 +2715,16 @@ GET individual VNF Snapshot with not permitted authorization scope Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots/${vnfSnapshotInfoId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +GET Individual VNF Snapshot - Unauthorized + log Trying to get information about an individual VNF snapshot without authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots/${vnfSnapshotInfoId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + Get Individual subscription with permitted authorization scope log Trying to get information about an individual subscription with permitted authorization scope Set Headers {"Accept":"${ACCEPT}"} @@ -2429,6 +2747,25 @@ Get Individual subscription with not permitted authorization scope Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +GET Individual Subscription - Not Found + log Trying to get information about an individual subscription that does not exist + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${NOT_EXISTANT_VNF_INSTANCE_ID} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET Individual Subscription - Unauthorized + log Trying to get information about an individual subscription without authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} POST Create a new VNF Snapshot with permitted authorization scope Log Create VNF snapshot by POST to ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots with permitted authorization scope Set Headers {"Accept":"${ACCEPT}"} @@ -2455,6 +2792,17 @@ POST Create a new VNF Snapshot with not permitted authorization scope Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots ${body} ${outputResponse}= Output response Set Global Variable ${response} ${outputResponse} + +POST Create a new VNF Snapshot - Unauthorized + Log Create VNF snapshot without authorization + Set Headers {"Accept":"${ACCEPT}"} + Set Headers {"Version": "${API_VERSION}"} + Set Headers {"Content-Type": "${CONTENT_TYPE}"} + ${template} = Get File jsons/CreateVnfSnapshotInfoRequest.json + ${body}= Format String ${template} vnfSnapshotPkgId=${vnfSnapshotPkgId} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/vnf_snapshots ${body} + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} GET reach the notification endpoint Log Trying to reach the notification endpoint using GET method. Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot index 6c1d514902168927d03b9b8198af8232e124201c..b760c336201169e700900c2942fae7e6dd312c5d 100644 --- a/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot +++ b/SOL002/VNFLifecycleManagement-API/VnfLcmOperationOccurences.robot @@ -13,7 +13,7 @@ POST VNF LCM operation occurrences - Method not implemented ... Test title: POST VNF LCM operation occurrences - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -25,7 +25,7 @@ GET status information about multiple VNF LCM operation occurrences ... Test title: GET status information about multiple VNF LCM operation occurrences ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -39,7 +39,7 @@ GET status information about multiple VNF LCM operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM operation occurrences Bad Request Invalid attribute-based filtering parameters ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -52,7 +52,7 @@ GET status information about multiple VNF LCM Operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM Operation occurrences Bad Request Invalid attribute selector ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because attribute is invalid. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -65,7 +65,7 @@ GET status information about multiple VNF LCM Operation occurrences with "all_fi ... Test title: GET status information about multiple VNF LCM Operation OCC with "all_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -78,7 +78,7 @@ GET status information about multiple VNF LCM Operation occurrences with "exlude ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ GET status information about multiple VNF LCM Operation occurrences with "fields ... Test title: GET status information about multiple VNF LCM Operation OCC with "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -104,7 +104,7 @@ GET status information about multiple VNF LCM Operation occurrences with "exclud ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -117,7 +117,7 @@ PUT status information about multiple VNF LCM operation occurrences - Method not ... 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 - ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -129,7 +129,7 @@ PATCH status information about multiple VNF LCM operation occurrences - Method n ... 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 - ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -141,7 +141,7 @@ DELETE status information about multiple VNF LCM operation occurrences - Method ... 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 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -153,7 +153,7 @@ GET status information about multiple VNF LCM operation occurances to get Paged ... Test title: GET status information about multiple VNF LCM operation occurances to get Paged Response ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences to get paged response. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -166,7 +166,7 @@ GET status information about multiple VNF LCM Operation occurrences Bad Request ... Test title: GET status information about multiple VNF LCM Operation occurrences Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about multiple VNF lifecycle management operation occurrences because Response is too big. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -179,7 +179,7 @@ GET status information about multiple VNF LCM Operation occurrences with "exlude ... Test title: GET status information about multiple VNF LCM Operation OCC with "exclude_default" and "fields" ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -191,7 +191,7 @@ GET status information about multiple VNF LCM operation occurrences with permitt ... Test title: GET status information about multiple VNF LCM operation occurrences with permitted authorization scope ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences with permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -204,7 +204,7 @@ GET status information about multiple VNF LCM operation occurrences with not per ... Test title: GET status information about multiple VNF LCM operation occurrences with not permitted authorization scope ... Test objective: The objective is to test that GET method retrieve Query status information about multiple VNF lifecycle management operation occurrences with not permitted authorization scope ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -216,10 +216,23 @@ GET information about multiple VNF instances - Bad Request Response too big ... Test title: GET information about multiple VNF instances - Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving information about multiple VNF LCM operation occurrences because Response is too big. ... Pre-conditions: none - ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none GET VNF LCM OP occurrences Check HTTP Response Status Code Is 400 Check HTTP Response Body Json Schema Is ProblemDetails + +GET status information about multiple VNF LCM operation occurrences - Unauthorized + [Documentation] Test ID:6.3.5.11.18 + ... Test title: GET status information about multiple VNF LCM operation occurrences - Unauthorized + ... Test objective: The objective is to test that GET method cannot retrieve Query status information about multiple VNF lifecycle management operation occurrences without authorization + ... Pre-conditions: none + ... Reference: Clause 5.4.12.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 + ... Config ID: Config_prod_VE + ... Applicability: none + ... Post-Conditions: none + GET status information about multiple VNF LCM operation occurrences - Unauthorized + Check HTTP Response Status Code Is 401 + Check HTTP Response Body Json Schema Is ProblemDetails diff --git a/SOL002/VNFLifecycleManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml b/SOL002/VNFLifecycleManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml index af1d9915d736e0313c178addba150375b9a3d5a6..cf0457ce101d766bce69db9c47f471d899e7aaaa 100644 --- a/SOL002/VNFLifecycleManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml +++ b/SOL002/VNFLifecycleManagement-API/descriptors/SOL001/VNFD/vnfd_SOL001.yaml @@ -44,7 +44,7 @@ node_types: type: list entry_schema: type: string - default: [ 'etsivnfm:v5.1.1' ] + default: [ 'etsivnfm:v5.2.1' ] interfaces: Vnflcm: type: "tosca.interfaces.nfv.Vnflcm" diff --git a/SOL002/VNFLifecycleManagement-API/environment/variables.txt b/SOL002/VNFLifecycleManagement-API/environment/variables.txt index 7203ec85bcd0de4ad2c0707cd794be19e4700f95..09ee4c66680d6b59aa833dc3141186904dd6be63 100644 --- a/SOL002/VNFLifecycleManagement-API/environment/variables.txt +++ b/SOL002/VNFLifecycleManagement-API/environment/variables.txt @@ -13,7 +13,7 @@ ${ACCEPT_JSON} application/json ${apiRoot} / ${apiName} vnflcm ${apiMajorVersion} v2 -${API_VERSION} 2.14.0 +${API_VERSION} 2.15.0 ${AUTH_USAGE} 1 ${OAUTH_Encryption_ALGORITHM} HS256 ${NEG_SCOPE} vnflcm:v2:invalid diff --git a/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json index 8a6682312ca95bc85e809a36c7baa76737f99342..700e00990380ece3250913bdcf3939b1b828b860 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/VnfLcmOperationOccurrenceNotification.schema.json @@ -814,7 +814,7 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6. In case of deleting an external CP, the list of instances to be deleted. \n", "type": "object", "additionalProperties": { "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP:\n 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the\n external VL.\n 2. In case a link port is not provided, the VNFM shall create a link port on the external VL and use that link port\n to connect the external CP to the external VL.\nIn the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\n* NOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a virtual network not categorized as secondary container cluster network:\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance\n representing a subport that is to be created, or an external CP instance that is to be created by creating the\n corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing\n external CP instance that is to be re-configured or added to a particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a\n precreated link port, and the VNFM can use means outside the scope of the present document to obtain the\n pre-configured address information for the connection point from the resource representing the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the NFVO shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n\n* NOTE 2: The following conditions apply to the attributes /"netAttDefResourceId/" and /"cpProtocolData/" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n 1) Void.\n 2) The \"netAttDefResourceId\" attribute shall be present and the \"cpProtocolData\" attribute may be present for\n a to-be-created external CP instance or an existing external CP instance.\n* NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link\n redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong\n to the same namespace as defined by the corresponding \"containerNamespace\" attribute in the \"resourceHandle\" attribute\n in the \"NetAttDefResourceData\".\n* NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.\n", @@ -838,7 +838,7 @@ "type": "object", "properties": { "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "description": "Value of the key that identifies the \"VnfExtCpConfig\" map entry which corresponds to the parent port of the trunk.mOnly present in \"VnfExtCpConfig\" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. In case of deletion of an external CP, the identifier of the external CP instance to delete. Shall be present if this instance has already been created.\n", "type": "string" }, "linkPortId": { @@ -850,7 +850,7 @@ "type": "boolean" }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2.\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL and the domain names for the external CP. See notes 1 and 2.\n", "type": "array", "items": { "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", @@ -889,7 +889,7 @@ "format": "MAC" }, "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", "type": "string", "enum": [ "VLAN", @@ -977,7 +977,7 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes┬« that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes® that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", "type": "object", "required": [ "type" @@ -1026,6 +1026,18 @@ } } } + }, + "fullyQualifiedDomainNames": { + "description": "Specifies the fully qualified domain names (FQDN) to apply to the CP.\n", + "type": "array", + "items": { + "type": "string" + }, + "relativeDomainNames": { + "description": "Specifies values of relative domain names to be considered when setting the fully qualified domain names.\n", + "type": "array", + "items": { + "type": "string" } } } diff --git a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json index 3c0d39d8a7988270e5bfe1d53914026a10692496..be3d4b5c3a3f6b87f71e6bfee0bf42237f17b406 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotInfo.schema.json @@ -870,6 +870,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -907,8 +914,12 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -1079,7 +1090,15 @@ "type": "string" } } - } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } + } + } } }, @@ -1313,6 +1332,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1542,7 +1568,7 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6. In case of deleting an external CP, the list of instances to be deleted. \n", "type": "object", "additionalProperties": { "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP:\n 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the\n external VL.\n 2. In case a link port is not provided, the VNFM shall create a link port on the external VL and use that link port\n to connect the external CP to the external VL.\nIn the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\n* NOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a virtual network not categorized as secondary container cluster network:\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance\n representing a subport that is to be created, or an external CP instance that is to be created by creating the\n corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing\n external CP instance that is to be re-configured or added to a particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a\n precreated link port, and the VNFM can use means outside the scope of the present document to obtain the\n pre-configured address information for the connection point from the resource representing the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the NFVO shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n\n* NOTE 2: The following conditions apply to the attributes /"netAttDefResourceId/" and /"cpProtocolData/" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n 1) Void.\n 2) The \"netAttDefResourceId\" attribute shall be present and the \"cpProtocolData\" attribute may be present for\n a to-be-created external CP instance or an existing external CP instance.\n* NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link\n redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong\n to the same namespace as defined by the corresponding \"containerNamespace\" attribute in the \"resourceHandle\" attribute\n in the \"NetAttDefResourceData\".\n* NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.\n", @@ -1566,7 +1592,7 @@ "type": "object", "properties": { "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "description": "Value of the key that identifies the \"VnfExtCpConfig\" map entry which corresponds to the parent port of the trunk.mOnly present in \"VnfExtCpConfig\" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. In case of deletion of an external CP, the identifier of the external CP instance to delete. Shall be present if this instance has already been created.\n", "type": "string" }, "linkPortId": { @@ -1578,7 +1604,7 @@ "type": "boolean" }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2.\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL and the domain names for the external CP. See notes 1 and 2.\n", "type": "array", "items": { "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", @@ -1617,7 +1643,7 @@ "format": "MAC" }, "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", "type": "string", "enum": [ "VLAN", @@ -1705,7 +1731,7 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes┬« that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes® that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", "type": "object", "required": [ "type" @@ -1754,6 +1780,20 @@ } } } + }, + "fullyQualifiedDomainNames": { + "description": "Specifies the fully qualified domain names (FQDN) to apply to the CP.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "relativeDomainNames": { + "description": "Specifies values of relative domain names to be considered when setting the fully qualified domain names.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1852,15 +1892,66 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } }, "extManagedVirtualLinkInfo": { - "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "description": "Information about the externally managed internal VLs of the VNF instance. See notes 5 and 6.", "type": "array", "items": { - "description": "This type provides information about an externally-managed virtual link.\n", + "description": "This type provides information about an externally-managed virtual link.\n NOTE: Both vnfLinkPort and vnfNetAttDefResource can be present in an ExtManagedVirtualLinkInfo to indicate that a single internal virtual link is providing connectivity for both VM-based and container-based VNFCs.\n", "type": "object", "required": [ "id", @@ -1928,7 +2019,7 @@ } }, "vnfLinkPorts": { - "description": "Link ports of this VL.\n", + "description": "Link ports of this VL. See note\n", "type": "array", "items": { "description": "This type represents a link port of an internal VL of a VNF.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", @@ -2013,7 +2104,7 @@ } }, "vnfNetAttDefResource": { - "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", + "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. See note\n", "type": "array", "items": { "description": "This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network.\n", @@ -2092,6 +2183,57 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } @@ -2373,6 +2515,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -2394,8 +2543,12 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", @@ -2409,8 +2562,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2759,8 +2916,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2834,7 +2995,7 @@ } }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "description": "Additional VNF-specific attributes that provide metadata describing the VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by functional blocks that invoke the VNF lifecycle management interface. They are not consumed by the VNFM, or the lifecycle management scripts.\nModifying the values of these attributes has no effect on the VNF instance, it only affects the information represented in the VnfInstance structure. Metadata that the VNF provider foresees are expected to be declared in the VNFD. (clause 6.2.35 in ETSI GS NFV-SOL 001 [12]), like information about supported protocols and data models for configuring the VNF. The declaration of metadata in the VNFD can optionally contain the specification of initial values. See notes 2 and 4. The VNFM shall accept requests to write metadata that are not declared in the VNFD.\nThese attributes can be initialized with default values from VNFD (see note 4) and/or with values passed in the CreateVnfRequest structure (see clause 5.5.2.3).\nThese attributes can be created, modified or removed with the PATCH method.\n", "type": "object" }, "extensions": { diff --git a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json index 00eab3526a1a14c74ecf849ab8f2b3cc6f4a4726..a6794101336153ac6a5b8dad26d281ed5b5b09c0 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/VnfSnapshotsInfo.schema.json @@ -872,6 +872,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -909,8 +916,12 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -1081,6 +1092,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1315,6 +1333,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1544,7 +1569,7 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6. In case of deleting an external CP, the list of instances to be deleted. \n", "type": "object", "additionalProperties": { "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP:\n 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the\n external VL.\n 2. In case a link port is not provided, the VNFM shall create a link port on the external VL and use that link port\n to connect the external CP to the external VL.\nIn the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\n* NOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a virtual network not categorized as secondary container cluster network:\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance\n representing a subport that is to be created, or an external CP instance that is to be created by creating the\n corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing\n external CP instance that is to be re-configured or added to a particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a\n precreated link port, and the VNFM can use means outside the scope of the present document to obtain the\n pre-configured address information for the connection point from the resource representing the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the NFVO shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n\n* NOTE 2: The following conditions apply to the attributes /"netAttDefResourceId/" and /"cpProtocolData/" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n 1) Void.\n 2) The \"netAttDefResourceId\" attribute shall be present and the \"cpProtocolData\" attribute may be present for\n a to-be-created external CP instance or an existing external CP instance.\n* NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link\n redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong\n to the same namespace as defined by the corresponding \"containerNamespace\" attribute in the \"resourceHandle\" attribute\n in the \"NetAttDefResourceData\".\n* NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.\n", @@ -1568,7 +1593,7 @@ "type": "object", "properties": { "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "description": "Value of the key that identifies the \"VnfExtCpConfig\" map entry which corresponds to the parent port of the trunk.mOnly present in \"VnfExtCpConfig\" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. In case of deletion of an external CP, the identifier of the external CP instance to delete. Shall be present if this instance has already been created.\n", "type": "string" }, "linkPortId": { @@ -1580,7 +1605,7 @@ "type": "boolean" }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2.\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL and the domain names for the external CP. See notes 1 and 2.\n", "type": "array", "items": { "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", @@ -1619,7 +1644,7 @@ "format": "MAC" }, "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", "type": "string", "enum": [ "VLAN", @@ -1707,7 +1732,7 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes┬« that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes® that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", "type": "object", "required": [ "type" @@ -1756,6 +1781,20 @@ } } } + }, + "fullyQualifiedDomainNames": { + "description": "Specifies the fully qualified domain names (FQDN) to apply to the CP.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "relativeDomainNames": { + "description": "Specifies values of relative domain names to be considered when setting the fully qualified domain names.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1854,15 +1893,66 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } }, "extManagedVirtualLinkInfo": { - "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "description": "Information about the externally managed internal VLs of the VNF instance. See notes 5 and 6.\n", "type": "array", "items": { - "description": "This type provides information about an externally-managed virtual link.\n", + "description": "This type provides information about an externally-managed virtual link.\n NOTE: Both vnfLinkPort and vnfNetAttDefResource can be present in an ExtManagedVirtualLinkInfo to indicate that a single internal virtual link is providing connectivity for both VM-based and container-based VNFCs.\n", "type": "object", "required": [ "id", @@ -1930,7 +2020,7 @@ } }, "vnfLinkPorts": { - "description": "Link ports of this VL.\n", + "description": "Link ports of this VL. See note\n", "type": "array", "items": { "description": "This type represents a link port of an internal VL of a VNF.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", @@ -2015,7 +2105,7 @@ } }, "vnfNetAttDefResource": { - "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", + "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. See note\n", "type": "array", "items": { "description": "This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network.\n", @@ -2094,6 +2184,57 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } @@ -2375,6 +2516,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -2396,8 +2544,12 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", @@ -2411,8 +2563,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2761,8 +2917,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2836,7 +2996,7 @@ } }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "description": "Additional VNF-specific attributes that provide metadata describing the VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by functional blocks that invoke the VNF lifecycle management interface. They are not consumed by the VNFM, or the lifecycle management scripts.\nModifying the values of these attributes has no effect on the VNF instance, it only affects the information represented in the VnfInstance structure. Metadata that the VNF provider foresees are expected to be declared in the VNFD. (clause 6.2.35 in ETSI GS NFV-SOL 001 [12]), like information about supported protocols and data models for configuring the VNF. The declaration of metadata in the VNFD can optionally contain the specification of initial values. See notes 2 and 4. The VNFM shall accept requests to write metadata that are not declared in the VNFD.\nThese attributes can be initialized with default values from VNFD (see note 4) and/or with values passed in the CreateVnfRequest structure (see clause 5.5.2.3).\nThese attributes can be created, modified or removed with the PATCH method.\n", "type": "object" }, "extensions": { diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json index 4506dbcd8be26430fa34b6b7f6439f021943926a..22fd0df67a1154f99eea8c053fcc826073323c7e 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstance.schema.json @@ -696,7 +696,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [ { @@ -816,6 +816,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -853,8 +860,12 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -905,7 +916,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [ { @@ -1025,6 +1036,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1139,7 +1157,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [ { @@ -1259,6 +1277,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1488,7 +1513,7 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6. In case of deleting an external CP, the list of instances to be deleted. \n", "type": "object", "additionalProperties": { "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP:\n 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the\n external VL.\n 2. In case a link port is not provided, the VNFM shall create a link port on the external VL and use that link port\n to connect the external CP to the external VL.\nIn the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\n* NOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a virtual network not categorized as secondary container cluster network:\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance\n representing a subport that is to be created, or an external CP instance that is to be created by creating the\n corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing\n external CP instance that is to be re-configured or added to a particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a\n precreated link port, and the VNFM can use means outside the scope of the present document to obtain the\n pre-configured address information for the connection point from the resource representing the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the NFVO shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n\n* NOTE 2: The following conditions apply to the attributes /"netAttDefResourceId/" and /"cpProtocolData/" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n 1) Void.\n 2) The \"netAttDefResourceId\" attribute shall be present and the \"cpProtocolData\" attribute may be present for\n a to-be-created external CP instance or an existing external CP instance.\n* NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link\n redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong\n to the same namespace as defined by the corresponding \"containerNamespace\" attribute in the \"resourceHandle\" attribute\n in the \"NetAttDefResourceData\".\n* NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.\n", @@ -1512,7 +1537,7 @@ "type": "object", "properties": { "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "description": "Value of the key that identifies the \"VnfExtCpConfig\" map entry which corresponds to the parent port of the trunk.mOnly present in \"VnfExtCpConfig\" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. In case of deletion of an external CP, the identifier of the external CP instance to delete. Shall be present if this instance has already been created.\n", "type": "string" }, "linkPortId": { @@ -1524,7 +1549,7 @@ "type": "boolean" }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2.\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL and the domain names for the external CP. See notes 1 and 2.\n", "type": "array", "items": { "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", @@ -1563,7 +1588,7 @@ "format": "MAC" }, "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", "type": "string", "enum": [ "VLAN", @@ -1651,7 +1676,7 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes┬« that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes® that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", "type": "object", "required": [ "type" @@ -1700,6 +1725,20 @@ } } } + }, + "fullyQualifiedDomainNames": { + "description": "Specifies the fully qualified domain names (FQDN) to apply to the CP.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "relativeDomainNames": { + "description": "Specifies values of relative domain names to be considered when setting the fully qualified domain names.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1798,15 +1837,66 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } }, "extManagedVirtualLinkInfo": { - "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "description": "Information about the externally managed internal VLs of the VNF instance. See notes 5 and 6.", "type": "array", "items": { - "description": "This type provides information about an externally-managed virtual link.\n", + "description": "This type provides information about an externally-managed virtual link.\n NOTE: Both vnfLinkPort and vnfNetAttDefResource can be present in an ExtManagedVirtualLinkInfo to indicate that a single internal virtual link is providing connectivity for both VM-based and container-based VNFCs.\n", "type": "object", "required": [ "id", @@ -1874,7 +1964,7 @@ } }, "vnfLinkPorts": { - "description": "Link ports of this VL.\n", + "description": "Link ports of this VL. See note\n", "type": "array", "items": { "description": "This type represents a link port of an internal VL of a VNF.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", @@ -1959,7 +2049,7 @@ } }, "vnfNetAttDefResource": { - "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", + "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. See note\n", "type": "array", "items": { "description": "This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network.\n", @@ -2038,6 +2128,57 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } @@ -2199,7 +2340,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [ { @@ -2319,6 +2460,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -2340,9 +2488,13 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" - }, + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } + }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", "type": "object" @@ -2355,8 +2507,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2705,8 +2861,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2780,7 +2940,7 @@ } }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "description": "Additional VNF-specific attributes that provide metadata describing the VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by functional blocks that invoke the VNF lifecycle management interface. They are not consumed by the VNFM, or the lifecycle management scripts.\nModifying the values of these attributes has no effect on the VNF instance, it only affects the information represented in the VnfInstance structure. Metadata that the VNF provider foresees are expected to be declared in the VNFD. (clause 6.2.35 in ETSI GS NFV-SOL 001 [12]), like information about supported protocols and data models for configuring the VNF. The declaration of metadata in the VNFD can optionally contain the specification of initial values. See notes 2 and 4. The VNFM shall accept requests to write metadata that are not declared in the VNFD.\nThese attributes can be initialized with default values from VNFD (see note 4) and/or with values passed in the CreateVnfRequest structure (see clause 5.5.2.3).\nThese attributes can be created, modified or removed with the PATCH method.\n", "type": "object" }, "extensions": { diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json index 24e0ea7af6ea46bd3b68166af6a9fa56324e6c13..b8b526e57d5c198cd77a68aa9ad10e9bfa1154dc 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfInstances.schema.json @@ -818,6 +818,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -855,8 +862,12 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -907,7 +918,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [ { @@ -1027,6 +1038,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1141,7 +1159,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [ { @@ -1261,6 +1279,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1490,7 +1515,7 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6. In case of deleting an external CP, the list of instances to be deleted. \n", "type": "object", "additionalProperties": { "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP:\n 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the\n external VL.\n 2. In case a link port is not provided, the VNFM shall create a link port on the external VL and use that link port\n to connect the external CP to the external VL.\nIn the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\n* NOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a virtual network not categorized as secondary container cluster network:\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance\n representing a subport that is to be created, or an external CP instance that is to be created by creating the\n corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing\n external CP instance that is to be re-configured or added to a particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a\n precreated link port, and the VNFM can use means outside the scope of the present document to obtain the\n pre-configured address information for the connection point from the resource representing the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the NFVO shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n\n* NOTE 2: The following conditions apply to the attributes /"netAttDefResourceId/" and /"cpProtocolData/" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n 1) Void.\n 2) The \"netAttDefResourceId\" attribute shall be present and the \"cpProtocolData\" attribute may be present for\n a to-be-created external CP instance or an existing external CP instance.\n* NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link\n redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong\n to the same namespace as defined by the corresponding \"containerNamespace\" attribute in the \"resourceHandle\" attribute\n in the \"NetAttDefResourceData\".\n* NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.\n", @@ -1514,7 +1539,7 @@ "type": "object", "properties": { "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "description": "Value of the key that identifies the \"VnfExtCpConfig\" map entry which corresponds to the parent port of the trunk.mOnly present in \"VnfExtCpConfig\" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. In case of deletion of an external CP, the identifier of the external CP instance to delete. Shall be present if this instance has already been created.\n", "type": "string" }, "linkPortId": { @@ -1526,7 +1551,7 @@ "type": "boolean" }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2.\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL and the domain names for the external CP. See notes 1 and 2.\n", "type": "array", "items": { "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", @@ -1565,7 +1590,7 @@ "format": "MAC" }, "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", "type": "string", "enum": [ "VLAN", @@ -1653,7 +1678,7 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes┬« that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes® that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", "type": "object", "required": [ "type" @@ -1702,6 +1727,20 @@ } } } + }, + "fullyQualifiedDomainNames": { + "description": "Specifies the fully qualified domain names (FQDN) to apply to the CP.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "relativeDomainNames": { + "description": "Specifies values of relative domain names to be considered when setting the fully qualified domain names.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -1800,15 +1839,66 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } }, "extManagedVirtualLinkInfo": { - "description": "Information about the externally managed internal VLs of the VNF instance. See note 5 and note 6. It is possible to have several ExtManagedVirtualLinkInfo for the same VNF internal VL in case of a multi-site VNF spanning several VIMs. The set of ExtManagedVirtualLinkInfo corresponding to the same VNF internal VL shall indicate so by referencing to the same VnfVirtualLinkDesc and externally-managed multi-site VL instance (refer to clause 5.5.3.5). Even though externally-managed internal VLs are also used for VNF-internal connectivity, they shall not be listed in the \"vnfVirtualLinkResourceInfo\" attribute as this would be redundant.\n", + "description": "Information about the externally managed internal VLs of the VNF instance. See notes 5 and 6.", "type": "array", "items": { - "description": "This type provides information about an externally-managed virtual link.\n", + "description": "This type provides information about an externally-managed virtual link.\n NOTE: Both vnfLinkPort and vnfNetAttDefResource can be present in an ExtManagedVirtualLinkInfo to indicate that a single internal virtual link is providing connectivity for both VM-based and container-based VNFCs.\n", "type": "object", "required": [ "id", @@ -1876,7 +1966,7 @@ } }, "vnfLinkPorts": { - "description": "Link ports of this VL.\n", + "description": "Link ports of this VL. See note\n", "type": "array", "items": { "description": "This type represents a link port of an internal VL of a VNF.\nNOTE 1: Either cpInstanceId with cpInstanceType set to \"EXT_CP\" or any combination of cpInstanceId\n with cpInstanceType set to \"VNFC_CP\" and vipCpInstanceId (i.e. one or both of them) shall be \n present for a VnfLinkPortInfo. In case both cpInstanceId with cpInstanceType set to \"VNFC_CP\" \n and vipCpInstanceId are present, the two different CP instances share the linkport.\nNOTE 2: Annex A.4 of ETSI GS NFV-IFA 007 provides examples for configurations where both vipCpInstanceId\n and vnfcCpInstanceId are present (UC#5 and UC#5-b), only vnfcCpInstanceId is present (UC#2), or \n only vipCpInstanceId is present (UC6 and UC#6-b).\nNOTE 3: The value of \"trunkResourceId\" is scoped by the value of \"vimConnectionId\" in the \"resourceHandle\"\n attribute.\n", @@ -1961,7 +2051,7 @@ } }, "vnfNetAttDefResource": { - "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL.\n", + "description": "Network attachment definition resources that provide the specification of the interface to attach connection points to this VL. See note\n", "type": "array", "items": { "description": "This type contains information related to a network attachment definition resource that provides the specification of the interface used to connect one or multiple connection points to a secondary container cluster network.\n", @@ -2040,6 +2130,57 @@ } } } + }, + "routingResource": { + "description": "Network resources that provide the forwarding/routing capabilities associated to the network resource realizing this VL.\n", + "type": "array", + "items": { + "required": [ + "resourceId" + ], + "type": "object", + "description": "This type represents the information that allows addressing a virtualised resource that is used by a VNF instance. Information about the resource is available from the VIM.\n* NOTE 1: The information about the VIM or CISM connection referenced by the VIM connection id is known to the\n VNFM. Moreover, the identifier of the VIM connection provides scope to the resourceId.\n\n* NOTE 2: The value set of the \"vimLevelResourceType\" attribute is within the scope of the VIM or CISM or the resource \n provider and can be used as information that complements the ResourceHandle. When the container\n infrastructure service is a Kubernetes® instance the vimLevelResourceType is the type of resource, as would \n correspond to the 'kind' field if the resource is declared in its own Kubernetes® manifest, e.g.: Pod, \n PersistentVolumeClaim, NetworkAttachmentDefinition.\n\n* NOTE 3: When the container infrastructure service is a Kubernetes® instance the resourceId shall be populated in the \n following way:\n - For a compute MCIO, it is the instance identifier that Kubernetes® assigns, which is unique cluster wide \n per resource type.\n - For a storage MCIO modelled as a persistent volume claim, it is the name of the persistent volume claim, \n i.e. the value of the 'claimName' field in the Kubernetes® manifest, or a compound name built by \n Kubernetes® if the persistent volume claim is defined inline in another template instead of in its own \n manifest.\n - For a network MCIO representing a NetworkAttachmentDefinition, a Service or an Ingress, it is the value of \n the 'metadata.name' field in Kubernetes® manifest.\n", + "properties": { + "vimConnectionId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceProviderId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "resourceId": { + "description": "An identifier maintained by the VIM or the CISM or other resource provider. It is expected to be unique within the VIM instance.\n", + "type": "string" + }, + "vimLevelResourceType": { + "description": "Type of the resource in the scope of the VIM or the CISM or the resource provider. See note 2.\n", + "type": "string" + }, + "vimLevelAdditionalResourceInfo": { + "description": "This type represents additional resource information which resource and resource type specific, and which is available from the VIM or the CISM or the resource provider.\n* NOTE: At least one attribute shall be present.\n", + "type": "object", + "properties": { + "hostName": { + "description": "Name of the host where the resource is allocated. It shall be present for compute resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "persistentVolume": { + "description": "Name of the persistent volume to which the persistent volume claim representing the storage resource is bound. It may be present for storage resources in the scope of the CISM and shall be absent otherwise. See note.\n", + "type": "string" + }, + "additionalInfo": { + "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "type": "object" + } + } + }, + "containerNamespace": { + "description": "The value of the namespace in which the MCIO corresponding to the resource is deployed. This attribute shall be present if the resource is managed by a CISM and it shall be absent otherwise.\n", + "type": "string" + } + } + } } } } @@ -2201,7 +2342,7 @@ ] }, "ipOverEthernet": { - "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVIΓÇÖs transport technology.\n", + "description": "This type represents information about a network address that has been assigned.\nNOTE 1:\tAt least one of \"macAddress\" or \"ipAddresses\" shall be present. NOTE 2:\tExactly one of \"addresses\" or \"addressRange\" shall be present. NOTE 3:\tIf the Cp instance represents a subport in a trunk, segmentationId shall be present. \n Otherwise it shall not be present.\nNOTE 4:\tDepending on the NFVI networking infrastructure, the segmentationId may indicate the \n actual network segment value (e.g. vlan Id, Vxlan segmentation id, etc.) used in the \n transport header of the packets or it may be an identifier used between the application \n and the NFVI networking infrastructure to identify the network sub-interface of the trunk \n port in question. In the latter case the NFVI infrastructure will map this local segmentationId \n to whatever segmentationId is actually used by the NFVI’s transport technology.\n", "type": "object", "anyOf": [ { @@ -2321,6 +2462,13 @@ "type": "string" } } + }, + "fullyQualifiedDomainNames": { + "description": "Fully qualified domain names that have been configured (statically or dynamically) and been associated to the CP.\n", + "type": "array", + "items": { + "type": "string" + } } } } @@ -2342,8 +2490,12 @@ } }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } }, "metadata": { "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", @@ -2357,8 +2509,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2707,8 +2863,12 @@ "type": "object" }, "certificateContentId": { - "description": "An identifier with the intention of being globally unique.\n", - "type": "string" + "description": "Identifier(s) of the \"CertificateContent\" structure that provides the information of the certificate(s) that this VNFC CP instance uses. Shall be present when using in delegation-mode. Otherwise shall not be present. This attribute shall be supported when delegation mode in certificate management is applicable.\n", + "type": "array", + "items": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + } } } } @@ -2782,7 +2942,7 @@ } }, "metadata": { - "description": "This type represents a list of key-value pairs. The order of the pairs in the list is not significant. In JSON, a set of keyvalue pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 8259. In the following example, a list of key-value pairs with four keys (\"aString\", \"aNumber\", \"anArray\" and \"anObject\") is provided to illustrate that the values associated with different keys can be of different type.\n", + "description": "Additional VNF-specific attributes that provide metadata describing the VNF instance. These attributes represent values that are stored persistently in the VnfInstance structure for consumption by functional blocks that invoke the VNF lifecycle management interface. They are not consumed by the VNFM, or the lifecycle management scripts.\nModifying the values of these attributes has no effect on the VNF instance, it only affects the information represented in the VnfInstance structure. Metadata that the VNF provider foresees are expected to be declared in the VNFD. (clause 6.2.35 in ETSI GS NFV-SOL 001 [12]), like information about supported protocols and data models for configuring the VNF. The declaration of metadata in the VNFD can optionally contain the specification of initial values. See notes 2 and 4. The VNFM shall accept requests to write metadata that are not declared in the VNFD.\nThese attributes can be initialized with default values from VNFD (see note 4) and/or with values passed in the CreateVnfRequest structure (see clause 5.5.2.3).\nThese attributes can be created, modified or removed with the PATCH method.\n", "type": "object" }, "extensions": { diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json index 532af0297b975b31b5f7313b20f74c524b133ff4..ecbdb7d2b0b38a274b6542a2e9a845363370145e 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOcc.schema.json @@ -777,7 +777,7 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6. In case of deleting an external CP, the list of instances to be deleted. \n", "type": "object", "additionalProperties": { "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP:\n 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the\n external VL.\n 2. In case a link port is not provided, the VNFM shall create a link port on the external VL and use that link port\n to connect the external CP to the external VL.\nIn the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\n* NOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a virtual network not categorized as secondary container cluster network:\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance\n representing a subport that is to be created, or an external CP instance that is to be created by creating the\n corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing\n external CP instance that is to be re-configured or added to a particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a\n precreated link port, and the VNFM can use means outside the scope of the present document to obtain the\n pre-configured address information for the connection point from the resource representing the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the NFVO shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n\n* NOTE 2: The following conditions apply to the attributes /"netAttDefResourceId/" and /"cpProtocolData/" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n 1) Void.\n 2) The \"netAttDefResourceId\" attribute shall be present and the \"cpProtocolData\" attribute may be present for\n a to-be-created external CP instance or an existing external CP instance.\n* NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link\n redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong\n to the same namespace as defined by the corresponding \"containerNamespace\" attribute in the \"resourceHandle\" attribute\n in the \"NetAttDefResourceData\".\n* NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.\n", @@ -801,7 +801,7 @@ "type": "object", "properties": { "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "description": "Value of the key that identifies the \"VnfExtCpConfig\" map entry which corresponds to the parent port of the trunk.mOnly present in \"VnfExtCpConfig\" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. In case of deletion of an external CP, the identifier of the external CP instance to delete. Shall be present if this instance has already been created.\n", "type": "string" }, "linkPortId": { @@ -813,7 +813,7 @@ "type": "boolean" }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2.\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL and the domain names for the external CP. See notes 1 and 2.\n", "type": "array", "items": { "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", @@ -852,7 +852,7 @@ "format": "MAC" }, "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", "type": "string", "enum": [ "VLAN", @@ -940,7 +940,7 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes┬« that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes® that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", "type": "object", "required": [ "type" @@ -989,10 +989,22 @@ } } } + }, + "fullyQualifiedDomainNames": { + "description": "Specifies the fully qualified domain names (FQDN) to apply to the CP.\n", + "type": "array", + "items": { + "type": "string" + }, + "relativeDomainNames": { + "description": "Specifies values of relative domain names to be considered when setting the fully qualified domain names.\n", + "type": "array", + "items": { + "type": "string" } } } - }, + }, "netAttDefResourceId": { "description": "Identifier of the /"NetAttDefResourceData/" structure that provides the specification of the interface to attach the external CP to a secondary container cluster network. It is only applicable if the external CP is connected or to be connected to a secondary container cluster network. It shall not be present if the external CP is related to a virtual network not categorized as secondary container cluster network. See notes 2, 3 and 4.\n", "type": "array", diff --git a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json index 7ea9464caaca0d7e9a34dd9e70b13e142030dd0d..eae1d4797355d55f0391a9f3d074df4f11705b04 100644 --- a/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json +++ b/SOL002/VNFLifecycleManagement-API/schemas/vnfLcmOpOccs.schema.json @@ -779,7 +779,7 @@ "type": "string" }, "cpConfig": { - "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6.\n", + "description": "Map of instance data that need to be configured on the CP instances created from the respective CPD. The key of the map which identifies the individual VnfExtCpConfig entries is of type \"IdentifierInVnf\" and is managed by the NFVO. The entries shall be applied by the VNFM according to the rules of JSON Merge Patch (see IETF RFC 7396). See notes 2, 3, 4, 5 and 6. In case of deleting an external CP, the list of instances to be deleted. \n", "type": "object", "additionalProperties": { "description": "This type represents an externally provided link port, or a network attachment definition resource of secondary container cluster network, or network address information per instance of an external connection point. In the case of VM-based deployment of the VNFC exposing the external CP:\n 1. In case a link port is provided, the VNFM shall use that link port when connecting the external CP to the\n external VL.\n 2. In case a link port is not provided, the VNFM shall create a link port on the external VL and use that link port\n to connect the external CP to the external VL.\nIn the case of container-based deployment of the VNFC exposing the external CP, the VNFM shall use the network attachment definition resource of secondary container cluster network when connecting the CP to the external VL.\n* NOTE 1: The following conditions apply to the attributes \"linkPortId\" and \"cpProtocolData\" for an external CP\n instance connected or to be connected to a virtual network not categorized as secondary container cluster network:\n 1) Void.\n 2) At least one of the \"linkPortId\" and \"cpProtocolData\" attributes shall be present for an external CP instance\n representing a subport that is to be created, or an external CP instance that is to be created by creating the\n corresponding VNFC or VNF instance during the current or a subsequent LCM operation, or for an existing\n external CP instance that is to be re-configured or added to a particular external virtual link.\n 3) If the \"linkPortId\" attribute is absent, the VNFM shall create a link port.\n 4) If the \"cpProtocolData\" attribute is absent, the \"linkPortId\" attribute shall be provided referencing a\n precreated link port, and the VNFM can use means outside the scope of the present document to obtain the\n pre-configured address information for the connection point from the resource representing the link port.\n 5) If both \"cpProtocolData\" and \"linkportId\" are provided, the NFVO shall ensure that the\n cpProtocolData can be used with the pre-created link port referenced by \"linkPortId\".\n\n* NOTE 2: The following conditions apply to the attributes /"netAttDefResourceId/" and /"cpProtocolData/" for an external CP\n instance connected or to be connected to a secondary container cluster network:\n 1) Void.\n 2) The \"netAttDefResourceId\" attribute shall be present and the \"cpProtocolData\" attribute may be present for\n a to-be-created external CP instance or an existing external CP instance.\n* NOTE 3: Cardinality greater than 1 is only applicable for specific cases where more than one network attachment\n definition resource is needed to fulfil the connectivity requirements of the external CP, e.g. to build a link\n redundant mated pair in SR-IOV cases. When more than one netAttDefResourceId is indicated, all shall belong\n to the same namespace as defined by the corresponding \"containerNamespace\" attribute in the \"resourceHandle\" attribute\n in the \"NetAttDefResourceData\".\n* NOTE 4: Either linkPortId or netAttDefResourceId may be included, but not both.\n", @@ -803,7 +803,7 @@ "type": "object", "properties": { "parentCpConfigId": { - "description": "An identifier that is unique for the respective type within a VNF instance, but may not be globally unique.\n", + "description": "Value of the key that identifies the \"VnfExtCpConfig\" map entry which corresponds to the parent port of the trunk.mOnly present in \"VnfExtCpConfig\" structures that provide configuration information for a CP which represents a sub-port in a trunk, and if parent ports are supported. In case of deletion of an external CP, the identifier of the external CP instance to delete. Shall be present if this instance has already been created.\n", "type": "string" }, "linkPortId": { @@ -815,7 +815,7 @@ "type": "boolean" }, "cpProtocolData": { - "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL. See notes 1 and 2.\n", + "description": "Parameters for configuring the network protocols on the link port that connects the CP to a VL and the domain names for the external CP. See notes 1 and 2.\n", "type": "array", "items": { "description": "This type represents network protocol data. * NOTE:\tThis attribute allows to signal the addition of further types of layer and protocol\n in future versions of the present document in a backwards-compatible way. In the current\n version of the present document, only IP over Ethernet is supported.\n", @@ -854,7 +854,7 @@ "format": "MAC" }, "segmentationType": { - "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network itΓÇÖs connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", + "description": "Specifies the encapsulation type for the traffics coming in and out of the trunk subport. Permitted values: -\tVLAN: the subport uses VLAN as encapsulation type. -\tINHERIT: the subport gets its segmentation type from the network it’s connected to. This attribute may be present for CP instances that represent subports in a trunk and shall be absent otherwise. If this attribute is not present for a subport CP instance, default value VLAN shall be used.\n", "type": "string", "enum": [ "VLAN", @@ -942,7 +942,7 @@ } }, "virtualCpAddress": { - "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes┬« that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", + "description": "This type represents network address data for a virtual CP.\n* NOTE 1: The loadBalancerIp and the loadBalancerSourceRanges attributes are only used if the \n CIS cluster is set up to be able to configure an external load balancer. Otherwise, it shall be ignored.\n\n* NOTE 2: In case the cluster can configure an external load balancer but no loadBalancerIp is provided the container\n cluster will assign an IP address.\n\n* NOTE 3: The attribute is only relevant if the virtual CP is instantiated in a cluster that supports configuration of IP \n address pools for virtual CPs. Otherwise it shall be ignored. MetalLB is an example of a solution for \n Kubernetes® that supports configuration of address pools for load balancer services.\n\n* NOTE 4: The loadBalancerIp, addressPoolName and the externalIp attributes shall not be present at the same time.\n", "type": "object", "required": [ "type" @@ -991,7 +991,23 @@ } } } + }, + "fullyQualifiedDomainNames": { + "description": "Specifies the fully qualified domain names (FQDN) to apply to the CP.\n", + "type": "array", + "items": { + "type": "string" + } + }, + "relativeDomainNames": { + "description": "Specifies values of relative domain names to be considered when setting the fully qualified domain names.\n", + "type": "array", + "items": { + "type": "string" + + } } + } } }, diff --git a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot index 7a5bda58ea7a241c54de6896a463bf0444ecbc7d..341b9552cf8b65a90a232e078a3b0b1f169f3594 100644 --- a/SOL002/VNFPerformanceManagement-API/ApiVersion.robot +++ b/SOL002/VNFPerformanceManagement-API/ApiVersion.robot @@ -11,7 +11,7 @@ POST API Version - Method not implemented ... Test title: POST API version - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -23,7 +23,7 @@ GET API Version ... Test title: GET API Version ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -36,7 +36,7 @@ PUT API Version - Method not implemented ... Test title: PUT API Version - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PATCH API Version - Method not implemented ... Test title: PATCH API Version - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -60,7 +60,7 @@ DELETE API Version - Method not implemented ... Test title: DELETE API Version - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -72,7 +72,7 @@ POST API Version with apiMajorVerion - Method not implemented ... Test title: POST API version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that POST method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.1 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ GET API Version with apiMajorVerion ... Test title: GET API Version with apiMajorVerion ... Test objective: The objective is to test that GET method successfully return ApiVersionInformation ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.2 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -97,7 +97,7 @@ PUT API Version with apiMajorVerion - Method not implemented ... Test title: PUT API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PUT method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.3 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ PATCH API Version with apiMajorVerion - Method not implemented ... Test title: PATCH API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that PATCH method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.4 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -121,7 +121,7 @@ DELETE API Version with apiMajorVerion - Method not implemented ... Test title: DELETE API Version with apiMajorVerion - Method not implemented ... Test objective: The objective is to test that DELETE method is not implemented ... Pre-conditions: none - ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v4.4.1 + ... Reference: Clause 9.3.3.3.5 - ETSI GS NFV-SOL 013 [5] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot index 7e31799d4b4be21d971cedc2704aeccd860349a8..ab77669396b52d18ab4c3037aedd5e99011f6276 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualPmJob.robot @@ -14,7 +14,7 @@ GET individual VNF Performance Job ... Test title: Get individual VNF Performance Job ... Test objective: The objective is to test the retrieval of an individual VNF performance monitoring job and perform a JSON schema and content validation of the collected job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -29,7 +29,7 @@ GET individual VNF Performance Job with invalid resource identifier ... Test title: Get individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -42,7 +42,7 @@ DELETE Individual VNF Performance Job ... Test title: Delete Individual VNF Performance Job ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM @@ -55,7 +55,7 @@ DELETE Individual VNF Performance Job with invalid resource identifier ... Test title: Delete individual VNF Performance Job with invalid resource identifier ... Test objective: The objective is to test that the deletion of an individual VNF performance monitoring job fails when using an invalid resource identifier, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ POST Individual VNF Performance Job - Method not implemented ... Test title: POST Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -80,7 +80,7 @@ PUT Individual VNF Performance Job - Method not implemented ... Test title: PUT Individual VNF Performance Job - method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance Monitoring Job ... Pre-conditions: none - ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -92,7 +92,7 @@ PATCH Individual VNF Performance Job ... Test title: PATCH Individual VNF Performance Job ... Test objective: The objective is to test that PATCH method allows to modify an exsisting individual PM job resource. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -106,7 +106,7 @@ PATCH Individual VNF Performance Job - Precondition failed ... Test title: PATCH Individual VNF Performance Job - Precondition failed ... Test objective: The objective is to attempt to Modify an individual alarm resource, where the precondition was not met ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -120,7 +120,7 @@ PATCH Individual VNF Performance Job - UNPROCESSABLE CONTENT ... Test title: PATCH Individual VNF Performance Job - UNPROCESSABLE CONTENT ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none @@ -132,7 +132,7 @@ DELETE Individual VNF Performance Job with permitted authorization scope ... Test title: Delete Individual VNF Performance Job with permitted authorization scope ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM @@ -144,7 +144,7 @@ DELETE Individual VNF Performance Job with NOT permitted authorization scope ... Test title: Delete Individual VNF Performance Job with NOT permitted authorization scope ... Test objective: The objective is to test the deletion of an individual VNF performance monitoring job with NOT permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.3.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is no more available in the VNFM diff --git a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot index 1e9eaab7c20ddb2fc472f7ce679c8d1f2499d95b..1624e7b6d9d301dda287b2f379d75be956b4f7b7 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualReport.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualReport.robot @@ -11,7 +11,7 @@ Get Individual Performance Report ... Test title: Get Individual Performance Report ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -24,7 +24,7 @@ Get Individual Performance Report with invalid resource endpoint ... Test title: Get Individual Performance Report with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of an individual VNF performance report associated to a monitoring job fails when using an invalid resource endpoint ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ POST Individual Performance Report - Method not implemented ... Test title: POST Individual Performance Report - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -49,7 +49,7 @@ PUT Individual Performance Report - Method not implemented ... Test title: PUT Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -61,7 +61,7 @@ PATCH Individual Performance Report - Method not implemented ... Test title: PATCH Individual Performance Report - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -73,7 +73,7 @@ DELETE Individual Performance Report - Method not implemented ... Test title: DELETE Individual Performance Report - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to delete an existing VNF performance report within a monitoring job ... Pre-conditions: none - ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -84,7 +84,7 @@ Get Individual Performance Report with permitted authorization scope ... Test title: Get Individual Performance Report with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -96,7 +96,7 @@ Get Individual Performance Report with NOT permitted authorization scope ... Test title: Get Individual Performance Report with NOT permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual VNF performance report associated to a monitoring job and perform a JSON schema validation of the collected report data structure with NOT permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance reports are set for a monitoring job in the VNFM. - ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.4.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot index 832c0928152557b479a6dc4dfea39b20e6c67b13..527fae6c1cfa5a496b8a9c586376922103013c17 100644 --- a/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot +++ b/SOL002/VNFPerformanceManagement-API/IndividualThreshold.robot @@ -13,7 +13,7 @@ GET Individual Threshold ... Test title: GET Individual Threshold ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -28,7 +28,7 @@ GET Individual Threshold with invalid resource identifier ... Test title: GET Individual Threshold with invalid resource identifier ... Test objective: The objective is to test that the retrieval of an individual VNF performance threshold fails when using an invalid resource identifier ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -41,7 +41,7 @@ DELETE Individual Threshold ... Test title: DELETE Individual Threshold ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not available anymore in the VNFM @@ -54,7 +54,7 @@ DELETE Individual Threshold with invalid resource identifier ... Test title: DELETE Individual Threshold with invalid resource identifier ... Test objective: The objective is to test the deletion of an individual VNF performance threshold ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -67,7 +67,7 @@ POST Individual Threshold - Method not implemented ... Test title: POST Individual Threshold - Method not implemented ... Test objective: The objective is to test that POST method is not allowed to create a new VNF Performance Threshold ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not created on the VNFM @@ -79,7 +79,7 @@ PUT Individual Threshold - Method not implemented ... Test title: PUT Individual Threshold - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to update an existing VNF Performance threshold ... Pre-conditions: none - ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -91,7 +91,7 @@ PATCH Individual Threshold ... Test title: PATCH Individual Threshold ... Test objective: The objective is to test that PATCH method allows to modify an Individual threshold resource. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -105,7 +105,7 @@ PATCH Individual Threshold - Precondition failed ... Test title: PATCH Individual Threshold - Preconition failed ... Test objective: The objective is to attempt to modify an individual threshold resource, where the precondition was not met. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is not modified by the operation @@ -119,7 +119,7 @@ PATCH Individual Threshold - UNPROCESSABLE CONTENT ... Test title: PATCH Individual Threshold - UNPROCESSABLE CONTENT ... Test objective: The objective is to test that PATCH method cannot modify an exsisting individual PM job resource when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: The VNF Performance Threshold is not modified by the operation @@ -132,7 +132,7 @@ GET Individual Threshold with permitted authorization scope ... Test title: GET Individual Threshold with permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -146,7 +146,7 @@ GET Individual Threshold with NOT permitted authorization scope ... Test title: GET Individual Threshold with NOT permitted authorization scope ... Test objective: The objective is to test the retrieval of an individual VNF performance threshold and perform a JSON schema and content validation of the collected threshold data structure with not permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.6.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot b/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot index 7def3289e2fc192bc7973908d795c5c5f3f2b003..d826b26143ffd3430c5f9a01a2cbee853de7646b 100644 --- a/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot +++ b/SOL002/VNFPerformanceManagement-API/NotificationEndpoint.robot @@ -14,7 +14,7 @@ VNF Performance Information Availability Notification ... Test title: VNF Performance Information Availability Notification ... Test objective: The objective is to test that VNF Performance Information Availability Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF performance job is created, and a subscription for information availability notifications is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ VNF Threshold Crossed Notification ... Test title: VNF Threshold Crossed Notification ... Test objective: The objective is to test that VNF Threshold Crossed Notification is delivered with success to the notification consumer ... Pre-conditions: A VNF performance job is created, and a subscription for Threshold Crossed Notification is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -37,7 +37,7 @@ Test the Notification Endpoint - Successful ... Test title: Test the Notification Endpoint - Successful ... Test objective: The objective is to test the Notification Endpoint provided by the notification consumer. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -48,7 +48,7 @@ PUT Notification endpoint - Method Not Implemented ... Test title: PUT Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PUT method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 6.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -59,7 +59,7 @@ PATCH Notification endpoint - Method Not Implemented ... Test title: PATCH Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the PATCH method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 6.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none @@ -70,7 +70,7 @@ DELETE Notification endpoint - Method Not Implemented ... Test title: DELETE Notification endpoint - Method Not Implemented ... Test objective: The objective is to test the DELETE method for Notification Endpoint provided by the consumer is not implemented. ... Pre-conditions: A notification endpoint is provided by the API consumer upon subscription. - ... Reference: Clause 6.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_Notif_Endpoint ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/Notifications.robot b/SOL002/VNFPerformanceManagement-API/Notifications.robot index 37f36430ae2cd6ba6599bffac4e0e7ffca5cf77c..bdcb75463cb1bb4ef7a5175ab72f7b3e55b56a01 100644 --- a/SOL002/VNFPerformanceManagement-API/Notifications.robot +++ b/SOL002/VNFPerformanceManagement-API/Notifications.robot @@ -17,7 +17,7 @@ VNF Performance Information Availability Notification ... Test title: VNF Performance Information Availability Notification ... Test objective: The objective is to test the dispatch of VNF Performance Information Availability Notification when new VNF performance information is available in the NFVO, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a subscription for information availability notifications is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -30,7 +30,7 @@ VNF Threshold Crossed Notification ... Test title: VNF Threshold Crossed Notification ... Test objective: The objective is to test the dispatch of VNF Threshold Crossed Notification when a previously set VNF performance metric threshold is crossed, and perform a JSON schema and content validation of the delivered notification. The action that triggers the notification under test is an explicit test step, but it is not performed by the test system. ... Pre-conditions: A VNF performance job is created, and a threshold subscription is available in the VNFM. - ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.9.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none diff --git a/SOL002/VNFPerformanceManagement-API/PMJobs.robot b/SOL002/VNFPerformanceManagement-API/PMJobs.robot index 8cfe2d417ca2c4a90154efcc2aaa69d540f3a7fe..8bfa5871409d6886201bbb596bc4371bc9bf8df2 100644 --- a/SOL002/VNFPerformanceManagement-API/PMJobs.robot +++ b/SOL002/VNFPerformanceManagement-API/PMJobs.robot @@ -13,7 +13,7 @@ GET all VNF Performance Monitoring Jobs ... Test title: GET all VNF Performance Monitoring Jobs ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET VNF Performance Monitoring Jobs with attribute-based filter ... Test title: GET all VNF Performance Monitoring Jobs with attribute-based filter ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs using attribute-based filter, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with all_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs all_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued all_fileds selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -54,7 +54,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_default attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -68,7 +68,7 @@ GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -82,7 +82,7 @@ GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test title: GET all VNF Performance Monitoring Jobs with exclude_fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs exclude_fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_fields selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM supports the use of exclude_fields attribute selector ... Post-Conditions: none @@ -96,7 +96,7 @@ GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test title: GET VNF Performance Monitoring Jobs with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -109,7 +109,7 @@ GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test title: GET VNF Performance Monitoring Jobs with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance monitoring jobs fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -122,7 +122,7 @@ POST Create new VNF Performance Monitoring Job - SUCCESSFUL ... Test title: POST Create a new VNF Performance Monitoring Job - SUCCESSFUL ... Test objective: The objective is to test that the POST method creates a new VNF performance monitoring job and perform the JSON schema validation of the returned job data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Job is successfully created on the VNFM @@ -131,13 +131,14 @@ POST Create new VNF Performance Monitoring Job - SUCCESSFUL Check HTTP Response Header Contains Location Check HTTP Response Body Json Schema Is PmJob Check Postcondition PmJob Exists + Check Postcondition PM Job Resource Returned in Location Header Is Available PUT all VNF Performance Monitoring Jobs - Method not implemented [Documentation] Test ID: 6.3.3.1.10 ... Test title: PUT all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -149,7 +150,7 @@ PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test title: PATCH all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -161,7 +162,7 @@ DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test title: DELETE all VNF Performance Monitoring Jobs - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Monitoring Jobs ... Pre-conditions: none - ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VE ... Applicability: none ... Post-Conditions: none @@ -173,7 +174,7 @@ GET VNF Performance Monitoring Jobs to get Paged Response ... Test title: GET VNF Performance Monitoring Jobs to get Paged Response ... Test objective: The objective is to test the retrieval of VNF performance monitoring jobs to get Paged response. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -186,7 +187,7 @@ GET VNF Performance Monitoring Jobs for Bad Request Response too big ... Test title: GET VNF Performance Monitoring Jobs for Bad Request Response too big ... Test objective: The objective is to test that GET method fail retrieving status information about VNF Performance Monitoring when Response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -199,7 +200,7 @@ GET all VNF Performance Monitoring Jobs with exclude_default and fields attribut ... Test title: GET all VNF Performance Monitoring Jobs with exclude_default and fields attribute selector ... Test objective: The objective is to test the retrieval of all VNF performance monitoring jobs with exclude_default and fields attribute selector, perform a JSON schema validation of the collected jobs data structure, and verify that the retrieved information matches the issued exclude_default selector ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 4.3.3.2.1, 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -212,7 +213,7 @@ POST Create new VNF Performance Monitoring Job - UNPROCESSABLE CONTENT ... Test title: POST Create a new VNF Performance Monitoring Job - UNPROCESSABLE CONTENT ... Test objective: The objective is to test that the POST method cannot create a new VNF performance monitoring job when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none @@ -224,7 +225,7 @@ GET all VNF Performance Monitoring Jobs with permitted authorization scope ... Test title: GET all VNF Performance Monitoring Jobs with permitted authorization scope ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure with permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -236,7 +237,7 @@ GET all VNF Performance Monitoring Jobs with NOT permitted authorization scope ... Test title: GET all VNF Performance Monitoring Jobs with not permitted authorization scope ... Test objective: The objective is to test the retrieval of all the available VNF performance monitoring jobs and perform a JSON schema and content validation of the collected jobs data structure with not permitted authorization scope ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance jobs are set in the VNF. - ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.2.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -390,6 +391,16 @@ Check Postcondition PmJob Exists Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is PmJob +Check Postcondition PM Job Resource Returned in Location Header Is Available + Log Fetching PM job resource pointed by Location header + GET ${response['headers']['Location']} + Integer response status 200 + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json schemas/PmJob.schema.json ${result} + Log PM Job resource validated + Check HTTP Response Body Matches exclude_fields selector Log Checking that reports element is missing ${reports}= Get Value From Json ${response['body']} $..reports diff --git a/SOL002/VNFPerformanceManagement-API/Thresholds.robot b/SOL002/VNFPerformanceManagement-API/Thresholds.robot index 4516fff12e7ac0e6b420be11872a1502b61a1f20..a0bb9ac8c85288c996f3373fc654f400d2e9f382 100644 --- a/SOL002/VNFPerformanceManagement-API/Thresholds.robot +++ b/SOL002/VNFPerformanceManagement-API/Thresholds.robot @@ -13,7 +13,7 @@ GET All Performance Thresholds ... Test title: GET All Performance Thresholds ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds and perform a JSON schema validation of the collected thresholds data structure ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -26,7 +26,7 @@ GET Performance Thresholds with attribute-based filter ... Test title: GET Performance Thresholds with attribute-based filter ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds when using attribute-based filters, perform a JSON schema validation of the collected thresholds data structure, and verify that the retrieved information matches the issued attribute-based filter ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -40,7 +40,7 @@ GET Performance Thresholds with invalid attribute-based filter ... Test title: GET Performance Thresholds with invalid attribute-based filter ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid attribute-based filter, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -53,7 +53,7 @@ GET Performance Thresholds with invalid resource endpoint ... Test title: GET Performance Thresholds with invalid resource endpoint ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when using invalid resource endpoint, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -66,7 +66,7 @@ POST Create new Performance Threshold ... Test title: POST Create new Performance Threshold ... Test objective: The objective is to test that the POST method creates a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -75,13 +75,14 @@ POST Create new Performance Threshold Check HTTP Response Body Json Schema Is Threshold Check HTTP Response Header Contains Location Check Postcondition Threshold Exists + Check Postcondition Threshold Resource Returned in Location Header Is Available PUT Performance Thresholds - Method not implemented [Documentation] Test ID: 6.3.3.4.6 ... Test title: PUT Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.3 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -93,7 +94,7 @@ PATCH Performance Thresholds - Method not implemented ... Test title: PATCH Performance Thresholds - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed to modify VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.4 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -105,7 +106,7 @@ DELETE Performance Thresholds - Method not implemented ... Test title: DELETE Performance Thresholds - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed to update VNF Performance Thresholds ... Pre-conditions: none - ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.5 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -117,7 +118,7 @@ GET Performance Thresholds with Paged Response ... Test title: GET Performance Thresholds with Paged Response ... Test objective: The objective is to test the retrieval of all the available VNF performance thresholds with Paged response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -130,7 +131,7 @@ GET Performance Thresholds for Bad Request Response too big ... Test title: GET Performance Thresholds for Bad Request Response too big ... Test objective: The objective is to test that the retrieval of VNF performance thresholds fails when response is too big, and perform the JSON schema validation of the failed operation HTTP response ... Pre-conditions: A VNF instance is instantiated. One or more VNF performance thresholds are set in the VNFM. - ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.2 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: none @@ -143,7 +144,7 @@ POST Create new Performance Threshold - UNPROCESSABLE CONTENT ... Test title: POST Create new Performance Threshold - UNPROCESSABLE CONTENT ... Test objective: The objective is to test that the POST method does not create a new VNF performance threshold when the callback URI provided in the Request body is unreachable by the VNFM. ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: The VNFM cannot reach the Notification endpoint. ... Post-Conditions: none @@ -155,7 +156,7 @@ POST Create new Performance Threshold with permitted authorization scope ... Test title: POST Create new Performance Threshold with permitted authorization scope ... Test objective: The objective is to test that the POST method creates a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure when the authorization scope is permitted ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -164,12 +165,14 @@ POST Create new Performance Threshold with permitted authorization scope Check HTTP Response Body Json Schema Is Threshold Check HTTP Response Header Contains Location Check Postcondition Threshold Exists + Check Postcondition Threshold Resource Returned in Location Header Is Available + POST Create new Performance Threshold with NOT permitted authorization scope [Documentation] Test ID: 6.3.3.4.13 ... Test title: POST Create new Performance Threshold with permitted authorization scope ... Test objective: The objective is to test that the POST method creates a new VNF performance threshold and perform the JSON schema validation of the returned threshold data structure when the authorization scope is not permitted ... Pre-conditions: A VNF instance is instantiated. - ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.1.1 + ... Reference: Clause 6.4.5.3.1 - ETSI GS NFV-SOL 002 [2] v5.2.1 ... Config ID: Config_prod_VNFM ... Applicability: none ... Post-Conditions: The VNF Performance Threshold is successfully created on the VNFM @@ -276,7 +279,7 @@ Check Postcondition Threshold Exists Set Suite Variable ${response} ${output} Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is Threshold - + Check HTTP Response Body Thresholds match the requested attribute-based filter Log Checking that attribute-based filter is matched @{words} = Split String ${FILTER_OK} ,${SEPERATOR} @@ -300,6 +303,16 @@ Check HTTP Response Body Json Schema Is Validate Json ${schema} ${response['body']} Log Json Schema Validation OK +Check Postcondition Threshold Resource Returned in Location Header Is Available + Log Fetching resource pointed by Location header + GET ${response['headers']['Location']} + Integer response status 200 + ${contentType}= Output response headers Content-Type + Should Contain ${contentType} application/json + ${result}= Output response body + Validate Json schemas/Threshold.schema.json ${result} + Log Threshold resource validated + Check HTTP Response Header Contain Link ${linkURL}= Get Value From Json ${response['headers']} $..Link Should Not Be Empty ${linkURL}