diff --git a/SOL011/NSLifecycleOperationGranting-API/Grants.robot b/SOL011/NSLifecycleOperationGranting-API/Grants.robot index 65cd3d4429eec8dbc3d42a9079e51cdc89bc66bd..172edd6dd20bf55720b768bb83958976bdf2ac42 100644 --- a/SOL011/NSLifecycleOperationGranting-API/Grants.robot +++ b/SOL011/NSLifecycleOperationGranting-API/Grants.robot @@ -38,7 +38,7 @@ GET Grants - Method not implemented ... Test title: GET Grants - Method not implemented ... Test objective: The objective is to test that GET method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.1 - ETSI GS NFV-SOL 011 [6] v3.3.1 + ... Reference: Clause 7.5.3.3.2 - ETSI GS NFV-SOL 011 [6] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -50,7 +50,7 @@ PUT Grants - Method not implemented ... Test title: PUT Grants - Method not implemented ... Test objective: The objective is to test that PUT method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.1 - ETSI GS NFV-SOL 011 [6] v3.3.1 + ... Reference: Clause 7.5.3.3.3 - ETSI GS NFV-SOL 011 [6] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -62,7 +62,7 @@ PATCH Grants - Method not implemented ... Test title: PATCH Grants - Method not implemented ... Test objective: The objective is to test that PATCH method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.1 - ETSI GS NFV-SOL 011 [6] v3.3.1 + ... Reference: Clause 7.5.3.3.4 - ETSI GS NFV-SOL 011 [6] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none @@ -74,7 +74,7 @@ DELETE Grants - Method not implemented ... Test title: DELETE Grants - Method not implemented ... Test objective: The objective is to test that DELETE method is not allowed for Life cycle operation granting ... Pre-conditions: none - ... Reference: Clause 7.5.3.3.1 - ETSI GS NFV-SOL 011 [6] v3.3.1 + ... Reference: Clause 7.5.3.3.5 - ETSI GS NFV-SOL 011 [6] v3.3.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: resources are not deleted diff --git a/SOL011/NSLifecycleOperationGranting-API/IndividualGrant.robot b/SOL011/NSLifecycleOperationGranting-API/IndividualGrant.robot new file mode 100644 index 0000000000000000000000000000000000000000..af8da812850eafa86dd5bd19305cd0c417d72443 --- /dev/null +++ b/SOL011/NSLifecycleOperationGranting-API/IndividualGrant.robot @@ -0,0 +1,122 @@ +*** Settings *** +Resource environment/variables.txt +Library OperatingSystem +Library JSONLibrary +Library JSONSchemaLibrary schemas/ +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Documentation This resource represents an individual grant. The client can use this resource to read the grant. +... It is determined by means outside the scope of the present document, such as configuration or policy, +... how long an individual grant is available. + +*** Test Cases *** +POST Individual Grant - Method not implemented + [Documentation] Test ID: 9.3.3.2.1 + ... Test title: POST Individual Grant - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed for Life cycle operation granting + ... Pre-conditions: none + ... Reference: Clause 7.5.4.3.1 - ETSI GS NFV-SOL 011 [1] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Post individual Grant + Check HTTP Response Status Code Is 405 + +GET an individual grant - Successful + [Documentation] Test ID: 9.3.3.2.2 + ... Test title: GET an individual grant - Successful + ... Test objective: The objective is to retrieve a grant for a particular NS Lifecycle Operation. + ... Pre-conditions: The grant information is available to the NFVO + ... Reference: Clause 7.5.4.3.2 - ETSI GS NFV-SOL 011 [1] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get individual grant + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is Grant + +PUT an individual grant - Method not implemented + [Documentation] Test ID: 9.3.3.2.3 + ... Test title: PUT an individual grant - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to for Life cycle operation granting + ... Pre-conditions: none + ... Reference: Clause 7.5.4.3.3 - ETSI GS NFV-SOL 011 [1] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PUT individual Grant + Check HTTP Response Status Code Is 405 + +PATCH an individual grant - Method not implemented + [Documentation] Test ID: 9.3.3.2.4 + ... Test title: PATCH an individual grant - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to for Life cycle operation granting + ... Pre-conditions: none + ... Reference: Clause 7.5.4.3.4 - ETSI GS NFV-SOL 011 [1] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Patch individual Grant + Check HTTP Response Status Code Is 405 + +DELETE an individual grant - Method not implemented + [Documentation] Test ID: 9.3.3.2.5 + ... Test title: DELETE an individual grant - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to for Life cycle operation granting + ... Pre-conditions: none + ... Reference: Clause 7.5.4.3.5 - ETSI GS NFV-SOL 011 [1] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Delete individual Grant + Check HTTP Response Status Code Is 405 + +*** Keywords *** +Get individual grant + log Trying to read an individual grant + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} + ${body}= Output response + Set Suite Variable ${response} ${body} + +Post individual Grant + log Trying to create an individual grant + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Get ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} + ${body}= Output response + Set Suite Variable ${response} ${body} + +Put individual Grant + Log Trying to update an individual grant. This method should not be implemented. + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Put ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} + ${body}= Output response + Set Suite Variable ${response} ${body} + +Patch individual Grant + Log Trying to update an individual grant. This method should not be implemented. + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Patch ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} + ${body}= Output response + Set Suite Variable ${response} ${body} + +Delete individual Grant + Log Trying to delete an individual grant. This method should not be implemented. + Set Headers {"Accept":"${ACCEPT}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization":"${AUTHORIZATION}"} + Delete ${apiRoot}/${apiName}/${apiVersion}/grants/${grantId} + ${body}= Output response + Set Suite Variable ${response} ${body} + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + ${schema} = Catenate ${input} .schema.json + Validate Json ${schema} ${response['body']} diff --git a/SOL011/NSLifecycleOperationGranting-API/environment/variables.txt b/SOL011/NSLifecycleOperationGranting-API/environment/variables.txt index cfb4467269e5d363d2cbd00279419d2c84d27c0b..1895ddcb8a951d167e6c25034e26375751a70479 100644 --- a/SOL011/NSLifecycleOperationGranting-API/environment/variables.txt +++ b/SOL011/NSLifecycleOperationGranting-API/environment/variables.txt @@ -14,7 +14,7 @@ ${apiVersion} v1 ${SYNC_MODE} 1 - +${grantId} ${response} diff --git a/SOL011/NSLifecycleOperationGranting-API/schemas/Grant.schema.json b/SOL011/NSLifecycleOperationGranting-API/schemas/Grant.schema.json new file mode 100644 index 0000000000000000000000000000000000000000..021c90e68451828818bd778674cf7f9e28c63b9d --- /dev/null +++ b/SOL011/NSLifecycleOperationGranting-API/schemas/Grant.schema.json @@ -0,0 +1,51 @@ +{ + "description": "This type represents a grant. It shall comply with the provisions defined in table 7.6.2.3-1.", + "type": "object", + "required": [ + "id", + "nsInstanceId", + "nsLcmOpOccId", + "_links" + ], + "properties": { + "id": { + "description": "Identifier of the grant.", + "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + }, + "nsInstanceId": { + "description": "Identifier of the NS instance which this grant request relates to.", + "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + }, + "nsLcmOpOccId": { + "description": "Identifier of the NS lifecycle management operation occurrence associated to the GrantRequest.", + "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Identifier" + }, + "additionalParams": { + "description": "Additional parameters passed by NFVO-N, specific to the NS and the lifecycle management operation.", + "$ref": "../components/SOL011_schemas.yaml#/components/schemas/KeyValuePairs" + }, + "_links": { + "description": "Links to resources related to this resource.", + "type": "object", + "required": [ + "self", + "nsLcmOpOcc", + "nsInstance" + ], + "properties": { + "self": { + "description": "URI of this resource", + "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Link" + }, + "nsLcmOpOcc": { + "description": "Related NS lifecycle management operation occurrence", + "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Link" + }, + "nsInstance": { + "description": "Related NS instance.", + "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Link" + } + } + } + } +} \ No newline at end of file diff --git a/SOL011/NSLifecycleOperationGranting-API/schemas/Grants.schema.json b/SOL011/NSLifecycleOperationGranting-API/schemas/Grants.schema.json deleted file mode 100644 index 05e5dfe39cb44b089aa50dfbeceb0e7a5b4162ef..0000000000000000000000000000000000000000 --- a/SOL011/NSLifecycleOperationGranting-API/schemas/Grants.schema.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "Grant": { - "description": "This type represents a grant. It shall comply with the provisions defined in table 7.6.2.3-1.", - "type": "object", - "required": [ - "id", - "nsInstanceId", - "nsLcmOpOccId", - "_links" - ], - "properties": { - "id": { - "description": "Identifier of the grant.", - "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Identifier" - }, - "nsInstanceId": { - "description": "Identifier of the NS instance which this grant request relates to.", - "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Identifier" - }, - "nsLcmOpOccId": { - "description": "Identifier of the NS lifecycle management operation occurrence associated to the GrantRequest.", - "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Identifier" - }, - "additionalParams": { - "description": "Additional parameters passed by NFVO-N, specific to the NS and the lifecycle management operation.", - "$ref": "../components/SOL011_schemas.yaml#/components/schemas/KeyValuePairs" - }, - "_links": { - "description": "Links to resources related to this resource.", - "type": "object", - "required": [ - "self", - "nsLcmOpOcc", - "nsInstance" - ], - "properties": { - "self": { - "description": "URI of this resource", - "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Link" - }, - "nsLcmOpOcc": { - "description": "Related NS lifecycle management operation occurrence", - "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Link" - }, - "nsInstance": { - "description": "Related NS instance.", - "$ref": "../components/SOL011_schemas.yaml#/components/schemas/Link" - } - } - } - } - } -} \ No newline at end of file