From 7f3ae91ab1f3f0c949c8745c47c9148e017b3d52 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Tue, 19 Oct 2021 09:55:12 +0200 Subject: [PATCH 01/13] added first content for NS LCM Coord API in v3.5.1 --- SOL005/NSLCMCoordination-API/ApiVersion.robot | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 SOL005/NSLCMCoordination-API/ApiVersion.robot diff --git a/SOL005/NSLCMCoordination-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot new file mode 100644 index 000000000..13dd255d2 --- /dev/null +++ b/SOL005/NSLCMCoordination-API/ApiVersion.robot @@ -0,0 +1,4 @@ +*** Settings *** + +*** Test Cases *** + -- GitLab From ee2f66776478c64d88a5906fea54cd939a108700 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Wed, 20 Oct 2021 15:32:47 +0200 Subject: [PATCH 02/13] Added NSLCM Coordination endpoint --- SOL005/NSLCMCoord-API/ApiVersion.robot | 213 ++++++++++++ .../NSLCMCoord-API/IndividualNSLCMCoord.robot | 113 +++++++ SOL005/NSLCMCoord-API/NSLCMCoord.robot | 101 ++++++ .../NSLCMCoord-API/NSLCMCoordCancelTask.robot | 144 +++++++++ .../NSLCMCoord-API/NSLCMCoordKeywords.robot | 253 +++++++++++++++ SOL005/NSLCMCoord-API/Notifications.robot | 306 ++++++++++++++++++ SOL005/NSLCMCoord-API/Subscriptions.robot | 186 +++++++++++ .../NSLCMCoord-API/environment/variables.txt | 20 ++ .../jsons/createLcmCoordRequest.json | 1 + .../schemas/LcmCoord.schema.json | 0 SOL005/NSLCMCoordination-API/ApiVersion.robot | 4 - 11 files changed, 1337 insertions(+), 4 deletions(-) create mode 100644 SOL005/NSLCMCoord-API/ApiVersion.robot create mode 100644 SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot create mode 100644 SOL005/NSLCMCoord-API/NSLCMCoord.robot create mode 100644 SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot create mode 100644 SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot create mode 100644 SOL005/NSLCMCoord-API/Notifications.robot create mode 100644 SOL005/NSLCMCoord-API/Subscriptions.robot create mode 100644 SOL005/NSLCMCoord-API/environment/variables.txt create mode 100644 SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json create mode 100644 SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json delete mode 100644 SOL005/NSLCMCoordination-API/ApiVersion.robot diff --git a/SOL005/NSLCMCoord-API/ApiVersion.robot b/SOL005/NSLCMCoord-API/ApiVersion.robot new file mode 100644 index 000000000..2f35eb345 --- /dev/null +++ b/SOL005/NSLCMCoord-API/ApiVersion.robot @@ -0,0 +1,213 @@ +*** Settings *** + +Resource environment/variables.txt + +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library DependencyLibrary +Library JSONLibrary +Library JSONSchemaLibrary schemas/ + +*** Test Cases *** +POST API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.1 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version + [Documentation] Test ID: 5.3.1.10.2 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.3 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.4 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version - Method not implemented + [Documentation] Test ID: 5.3.1.10.5 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +POST API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.6 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + POST API Version + Check HTTP Response Status Code Is 405 + +GET API Version with apiMajorVerion + [Documentation] Test ID: 5.3.1.10.7 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + GET API Version + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is ApiVersionInformation + +PUT API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.8 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PUT API Version + Check HTTP Response Status Code Is 405 + +PATCH API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.9 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + PATCH API Version + Check HTTP Response Status Code Is 405 + +DELETE API Version with apiMajorVerion - Method not implemented + [Documentation] Test ID: 5.3.1.10.10 + ... 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 v3.3.1 + ... Config ID: Config_prod_VNFM + ... Applicability: none + ... Post-Conditions: none + DELETE API Version + Check HTTP Response Status Code Is 405 + +*** Keywords *** +POST API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +POST API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Post ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +GET API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Get ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PUT API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Put ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +PATCH API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Patch ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +DELETE API Version with apiMajorVersion + Set Headers {"Accept":"${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + Delete ${apiRoot}/${apiName}/${apiMajorVersion}/api_versions + ${outputResponse}= Output response + Set Global Variable ${response} ${outputResponse} + +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 SEPARATOR= ${input} .schema.json + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot b/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot new file mode 100644 index 000000000..8e075bd49 --- /dev/null +++ b/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot @@ -0,0 +1,113 @@ +*** Settings *** +Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSLCMCoordKeywords.robot +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library OperatingSystem + +*** Test Cases *** +POST an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: POST an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + POST an individual Coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +Get information about a finished coordination task + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to a terminated coordination task + ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. + ... Pre-conditions: Individual coordination task is terminated + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about a finished coordination task + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + + +Get information about an ongoing coordination task + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to an ongoing coordination task + ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled + ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about an ongoing coordination task + Check HTTP Response Status Code Is 202 + + +Get information about an invalid coordination task + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to an invalid coordination task + ... Test objective: The objective is to try to read an individual coordination task + ... Pre-conditions: Individual coordination task is not present + ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about an ongoing coordination task + Check HTTP Response Status Code Is 404 + + +Get information about a finished coordination task without authentication + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request information related to 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 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Retrieve information about an ongoing coordination task + Check HTTP Response Status Code Is 401 + + +PUT an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PUT an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PUT an individual coordination action of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +PATCH an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PATCH an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PATCH an individual coordination action of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +DELETE an individual coordination action of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: DELETE an individual coordination action of an LCM operation occurrence + ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + DELETE an individual coordination action of an LCM operation occurrence + Check HTTP Response Status Code Is 405 diff --git a/SOL005/NSLCMCoord-API/NSLCMCoord.robot b/SOL005/NSLCMCoord-API/NSLCMCoord.robot new file mode 100644 index 000000000..e8fd90e54 --- /dev/null +++ b/SOL005/NSLCMCoord-API/NSLCMCoord.robot @@ -0,0 +1,101 @@ +*** Settings *** +Documentation This Clause defines the "cancel" operation related to an individual coordination action for the NS LCM Coordination interface +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSLCMCoordKeywords.robot +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library OperatingSystem + +*** Test Cases *** +Request a cancellation of an ongoing coordination action + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a cancellation of an ongoing coordination action + ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task + ... Pre-conditions: An ongoing coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 202 + + +Request a cancellation of a finished coordination action + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a cancellation of aterminated coordination action + ... Test objective: The objective is to test the request for the cancellation of a finished coordination action + ... Pre-conditions: A finished coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for cancellation of a finished coordination action + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + + + +Request a cancellation of an ongoing coordination action without authentication + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a cancellation of an ongoing coordination action without using 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 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for cancellation of an ongoing coordination action without authorization token + Check HTTP Response Status Code Is 401 + + +GET information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: GET information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 + + +PUT information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PUT information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PUT information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 + + +PATCH information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PATCH information about a cancellation of an ongoing coordination action + ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PATCH information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 + + +DELETE information about a cancellation of an ongoing coordination action - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: DELETE information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + DELETE information about a cancellation of an ongoing coordination action + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot new file mode 100644 index 000000000..7fd7881c1 --- /dev/null +++ b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot @@ -0,0 +1,144 @@ +*** Settings *** +Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSLCMCoordKeywords.robot +Library JSONLibrary +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library OperatingSystem + +*** Test Cases *** +Request a Coordination of an LCM operation occurrence synchronously + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously + ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO + Send Post Request for coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 201 + Check HTTP Response Header Contains Location + Check HTTP Response Body Json Schema Is LcmCoord + Check Postcondition LcmCoord Exists + + +Request a Coordination of an LCM operation occurrence asynchronously + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence asynchronously + ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location + + +Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... + ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence - conflict + Check HTTP Response Status Code Is 409 + Check HTTP Response Body Json Schema Is ProblemDetails + + +Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately + ... 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 teh request, but can perform it sometime in the future. + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable + Check HTTP Response Status Code Is 503 + Check HTTP Response Header Contains Retry-After + + +Request a Coordination of an LCM operation occurrence without authentication + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication + ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence without authorization token + Check HTTP Response Status Code Is 401 + + +Request a Coordination of an LCM operation occurrence with malformed request + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request + ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence with malformed request + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: GET all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + GET all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +PUT all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PUT all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PUT all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +PATCH all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: PATCH all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + PATCH all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 + + +DELETE all Coordinations of an LCM operation occurrence - method not implemented + [Documentation] # Test ID: 5.3.1.1.1 + ... Test title: DELETE all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + DELETE all Coordinations of an LCM operation occurrence + Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot new file mode 100644 index 000000000..c59d23f72 --- /dev/null +++ b/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot @@ -0,0 +1,253 @@ +*** Settings *** +Resource environment/variables.txt +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Library MockServerLibrary +Library OperatingSystem +Library BuiltIn +Library JSONLibrary +Library Collections +Library JSONSchemaLibrary schemas/ +Library RequestsLibrary +Library Process +Library String + +*** Keywords *** +Send Post Request for coordination of an LCM operation occurrence + Log Requesting a new coordination task for an LCM Operation occurrence + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/createLcmCoordRequest.json + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Check HTTP Response Body Json Schema Is + [Arguments] ${input} + Run Keyword If '${input}' == 'ProblemDetails' Should Contain ${response['headers']['Content-Type']} application/problem+json + ... ELSE Should Contain ${response['headers']['Content-Type']} application/json + ${schema} = Catenate SEPARATOR= ${input} .schema.json + Log ${response['body']} + Validate Json ${schema} ${response['body']} + Log Json Schema Validation OK + + +Check HTTP Response Header Contains + [Arguments] ${CONTENT_TYPE} + Should Contain ${response['headers']} ${CONTENT_TYPE} + Log Header is present + + +Check HTTP Response Status Code Is + [Arguments] ${expected_status} + Should Be Equal As Strings ${response['status']} ${expected_status} + Log Status code validated + + +Check Postcondition LcmCoord Exists + Log Checking that individual lcm coordination exists + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordiations/${response['body']['id']} + ${output}= Output response + Set Suite Variable ${response} ${output} + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LcmCoord + + +Send Post Request for coordination of an LCM operation occurrence - conflict + Log To be done + + +Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable + Log To be done + + +Send Post Request for coordination of an LCM operation occurrence without authorization token + Log Requesting a new coordination task for an LCM Operation occurrence without authorization token + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/createLcmCoordRequest.json + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request for coordination of an LCM operation occurrence with malformed request + Log Requesting a new coordination task for an LCM Operation occurrence + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${body}= Get File jsons/createLcmCoordRequestMalformed.json + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET all Coordinations of an LCM operation occurrence + Log Requesting the retrieve of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + +PUT all Coordinations of an LCM operation occurrence + Log Requesting the update of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + + +PATCH all Coordinations of an LCM operation occurrence + Log Requesting the update of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + + +DELETE all Coordinations of an LCM operation occurrence + Log Requesting the removal of all coordination tasks + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations + ${output}= Output response + Set Suite Variable ${response} ${output} + +Retrieve information about a finished coordination task + Log Requesting the retrieve of a finished coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve information about an ongoing coordination task + Log Requesting the retrieve of an ongoing coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Retrieve information about an invalid coordination task + Log Requesting the retrieve of an invalid coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${erroneousCoordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +POST an individual Coordination of an LCM operation occurrence + Log Requesting the creation of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +PUT an individual coordination action of an LCM operation occurrence + Log Requesting the update of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +PATCH an individual coordination action of an LCM operation occurrence + Log Requesting the update of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +DELETE an individual coordination action of an LCM operation occurrence + Log Requesting the removal of an individual coordination action task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${coordinationId} + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Send Post Request for cancellation of an ongoing coordination action + Log Requesting the cancellatio9n of an ongoing coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Post Request for cancellation of a finished coordination action + Log Requesting the cancellation of a finished coordination task + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + + +Send Post Request for cancellation of an ongoing coordination action without authorization token + Log Requesting the cancellation of an ongoing coordination task without authorization + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +GET information about a cancellation of an ongoing coordination action + Log Requesting information about a cancellation of an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +PUT information about a cancellation of an ongoing coordination action + Log Update information about a cancellation of an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +PATCH information about a cancellation of an ongoing coordination action + Log Update information about a cancellation of an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} + +DELETE information about a cancellation of an ongoing coordination action + Log Terminate a cancellation task related to an ongoing coordination action + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + ${output}= Output response + Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/Notifications.robot b/SOL005/NSLCMCoord-API/Notifications.robot new file mode 100644 index 000000000..e6d214945 --- /dev/null +++ b/SOL005/NSLCMCoord-API/Notifications.robot @@ -0,0 +1,306 @@ +*** Setting *** +Resource environment/variables.txt +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true +Library MockServerLibrary +Library Process +Library OperatingSystem +Library BuiltIn +Library Collections +Library String + +*** Test Cases *** +NSD Onboarding Notification + [Documentation] Test ID: 5.3.1.9.1 + ... Test title: NSD Onboarding Notification + ... Test objective: The objective is to test the dispatch of NSD Onboarding notification when the NSD onboarding operation is successfully completed, 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 NSD management subscription for onboarding notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the completion of NSD Onboarding (external action) + Check NSD Onboarding Notification Http Request Body Json Schema Is NsdOnboardingNotification + Check NSD Onboarding Notification Http Request Body notificationType attribute Is NsdOnboardingNotification + +NSD Onboarding Failure Notification + [Documentation] Test ID: 5.3.1.9.2 + ... Test title: NSD Onboarding Failure Notification + ... Test objective: The objective is to test the dispatch of NSD Onboarding failure notification when the NSD onboarding operation 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 NSD management subscription for onboarding failure notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the failure of NSD Onboarding (external action) + Check NSD Onboarding Failure Notification Http Request Body Json Schema Is NsdOnboardingFailureNotification + Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is NsdOnboardingFailureNotification + +NSD Operational State Change Notification + [Documentation] Test ID: 5.3.1.9.3 + ... Test title: NSD Operational State Change Notification + ... Test objective: The objective is to test the dispatch of NSD Operational State Change notification when the NSD operational status change 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 NSD management subscription for operational state change notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the change of NSD Operational State (external action) + Check NSD Operational State Change Notification Http Request Body Json Schema Is NsdChangeNotification + Check NSD Operational State Change Notification Http Request Body notificationType attribute Is NsdChangeNotification + +NSD Deletion Notification + [Documentation] Test ID: 5.3.1.9.4 + ... Test title: NSD Deletion Notification + ... Test objective: The objective is to test the dispatch of NSD Deletion notification when the NSD is deleted from 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 NSD management subscription for deletion notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the deletion of NSD (external action) + Check NSD Deletion Notification Http Request Body Json Schema Is NsdDeletionNotification + Check NSD Deletion Notification Http Request Body notificationType attribute Is NsdDeletionNotification + +PNFD Onboarding Notification + [Documentation] Test ID: 5.3.1.9.5 + ... Test title: PNFD Onboarding Notification + ... Test objective: The objective is to test the dispatch of PNFD Onboarding notification when the PNFD onboarding operation is successfully completed, 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 PNFD management subscription for onboarding notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the completion of PNFD Onboarding (external action) + Check PNFD Onboarding Notification Http Request Body Json Schema Is PnfdOnboardingNotification + Check PNFD Onboarding Notification Http Request Body notificationType attribute Is PnfdOnboardingNotification + +PNFD Onboarding Failure Notification + [Documentation] Test ID: 5.3.1.9.6 + ... Test title: PNFD Onboarding Failure Notification + ... Test objective: The objective is to test the dispatch of PNFD Onboarding failure notification when the PNFD onboarding operation 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 PNFD management subscription for onboarding failure notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the failure of PNFD Onboarding (external action) + Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is PnfdOnboardingFailureNotification + Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is PndfOnboardingFailureNotification + +PNFD Deletion Notification + [Documentation] Test ID: 5.3.1.9.7 + ... Test title: PNFD Deletion Notification + ... Test objective: The objective is to test the dispatch of PNFD Deletion notification when the PNFD is deleted from 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 PNFD management subscription for deletion notifications is available in the NFVO. + ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Trigger the deletion of PNFD (external action) + Check PNFD Deletion Notification Http Request Body Json Schema Is PnfdDeletionNotification + Check PNFD Deletion Notification Http Request Body notificationType attribute Is PnfdDeletionNotification + + +*** Keywords *** +Trigger the completion of NSD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the failure of NSD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the change of NSD Operational State (external action) + #do nothing + Log do nothing + +Trigger the deletion of NSD (external action) + #do nothing + Log do nothing + +Trigger the completion of PNFD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the failure of PNFD Onboarding (external action) + #do nothing + Log do nothing + +Trigger the deletion of PNFD (external action) + #do nothing + Log do nothing + +Check PNFD Onboarding Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check PNFD Onboarding Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure PNFD Onboarding Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification PNFD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check PNFD Deletion Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check PNFD Deletion Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure PNFD Deletion Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Onboarding Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check NSD Onboarding Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure NSD Onboarding Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Onboarding Failure Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + + +Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure Notification NSD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Operational State Change Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check NSD Operational State Change Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure NSD Operational State Change Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Check NSD Deletion Notification Http Request Body Json Schema Is + [Arguments] ${element} + ${schema}= Get File schemas/${element}.schema.json + Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} + +Check NSD Deletion Notification Http Request Body notificationType attribute Is + [Arguments] ${type} + Configure NSD Deletion Handler ${callback_endpoint_fwd} ${type} + Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} + Clear Requests ${callback_endpoint} + Clear Requests ${callback_endpoint_fwd} + +Configure PNFD Deletion Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure NSD Deletion Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure NSD Operational State Change Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure PNFD Onboarding Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification PNFD Onboarding Failure Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure NSD Onboarding Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification NSD Onboarding Failure Handler + [Arguments] ${endpoint} ${type} + ${json}= evaluate {} + set to dictionary ${json} notificationType ${type} + ${BODY}= evaluate json.dumps(${json}) json + Log Creating mock request and response to handle status notification + &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} + Set Global Variable ${notification_request} ${req} + &{notification_response}= Create Mock Response status_code=204 + Create Mock Expectation ${notification_request} ${notification_response} + +Configure Notification Forward + [Arguments] ${schema} ${endpoint} ${endpoint_fwd} + Log Creating mock HTTP forward to handle ${schema} + &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} + &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} + Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} + +Create Sessions + Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance + Wait For Process handle=mockInstance timeout=5s on_timeout=continue + Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/Subscriptions.robot b/SOL005/NSLCMCoord-API/Subscriptions.robot new file mode 100644 index 000000000..170efabc2 --- /dev/null +++ b/SOL005/NSLCMCoord-API/Subscriptions.robot @@ -0,0 +1,186 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Resource NSDManagementKeywords.robot +Library OperatingSystem +Library JSONLibrary +Library Process +Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false +Suite Setup Create Sessions +Suite Teardown Terminate All Processes kill=true + +*** Test Cases *** +Get All NSD Management Subscriptions + [Documentation] Test ID: 5.3.1.7.1 + ... Test title: Get All NSD Management Subscriptions + ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions and perform a JSON schema validation of the returned subscriptions data structure + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is NsdmSubscriptions + +Get NSD Management Subscriptions with attribute-based filter + [Documentation] Test ID: 5.3.1.7.2 + ... Test title: Get NSD Management Subscriptions with attribute-based filter + ... Test objective: The objective is to test the retrieval of NSD Management subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get NSD Management Subscriptions with attribute-based filters + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is NsdmSubscriptions + Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter + +Get NSD Management Subscriptions with invalid attribute-based filter + [Documentation] Test ID: 5.3.1.7.3 + ... Test title: Get NSD Management Subscriptions with attribute-based filters + ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get NSD Management Subscriptions with invalid attribute-based filters + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET NSD Management Subscription with invalid resource endpoint + [Documentation] Test ID: 5.3.1.7.4 + ... Test title: GET NSD Management Subscription with invalid resource endpoint + ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using invalid resource endpoint. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get NSD Management Subscriptions with invalid resource endpoint + Check HTTP Response Status Code Is 404 + Check HTTP Response Body Json Schema Is ProblemDetails + +Create new NSD Management subscription + [Documentation] Test ID: 5.3.1.7.5 + ... Test title: Create new NSD Management subscription + ... Test objective: The objective is to test the creation of a new NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: none + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The NSD Management subscription is successfully set and it matches the issued subscription + Send Post Request for NSD Management Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is NsdmSubscription + Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription + Check Postcondition NSD Management Subscription Is Set + +Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions + [Tags] no-duplicated-subs + [Documentation] Test ID: 5.3.1.7.6 + ... Test title: Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions + ... Test objective: The objective is to test the attempt of a creation of a duplicated NSD Management subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO does not support the creation of duplicated subscriptions + ... Post-Conditions: The existing NSD Management subscription returned is available in the NFVO + Send Post Request for Duplicated NSD Management Subscription + Check HTTP Response Status Code Is 303 + Check HTTP Response Body Is Empty + Check HTTP Response Header Contains Location + Check Postcondition Subscription Resource Returned in Location Header Is Available + +Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions + [Tags] duplicated-subs + [Documentation] Test ID: 5.3.1.7.7 + ... Test title: Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions + ... Test objective: The objective is to test the creation of a duplicated NSD Management subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: The NFVO supports the creation of duplicated subscriptions + ... Post-Conditions: The duplicated NSD Management subscription is successfully set and it matches the issued subscription + Send Post Request for Duplicated NSD Management Subscription + Check HTTP Response Status Code Is 201 + Check HTTP Response Body Json Schema Is NsdmSubscription + Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription + Check Postcondition NSD Management Subscription Is Set + +PUT NSD Management Subscriptions - Method not implemented + [Documentation] Test ID: 5.3.1.7.8 + ... Test title: PUT NSD Management Subscriptions - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to modify NSD Management subscriptions + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Put Request for NSD Management Subscriptions + Check HTTP Response Status Code Is 405 + +PATCH NSD Management Subscriptions - Method not implemented + [Documentation] Test ID: 5.3.1.7.9 + ... Test title: PATCH NSD Management Subscriptions - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to update NSD Management subscriptions + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Patch Request for NSD Management Subscriptions + Check HTTP Response Status Code Is 405 + +DELETE NSD Management Subscriptions - Method not implemented + [Documentation] Test ID: 5.3.1.7.10 + ... Test title: DELETE NSD Management Subscriptions - Method not implemented + ... Test objective: The objective is to test that DELETE method is not allowed to delete NSD Management subscriptions + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: The NSD Management subscriptions are not deleted by the failed operation + Send Delete Request for NSD Management Subscriptions + Check HTTP Response Status Code Is 405 + Check Postcondition NSD Management Subscriptions Exists + +Get All NSD Management Subscriptions as Paged Response + [Documentation] Test ID: 5.3.1.7.11 + ... Test title: Get All NSD Management Subscriptions as Paged Response + ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions as a Paged Response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 200 + Check HTTP Response Header Contain Link + +Get NSD Management Subscriptions - Bad Request Response too Big + [Documentation] Test ID: 5.3.1.7.12 + ... Test title: Get NSD Management Subscriptions - Bad Request Response too Big + ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. + ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. + ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Get all NSD Management Subscriptions + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +Create new NSD Management subscription - Unprocessable Entity + [Documentation] Test ID: 5.3.1.7.13 + ... Test title: Create new NSD Management subscription - Unprocessable Entity + ... Test objective: The objective is to test the creation of a new NSD Management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed + ... Pre-conditions: none + ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for NSD Management Subscription + Check HTTP Response Status Code Is 422 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/environment/variables.txt b/SOL005/NSLCMCoord-API/environment/variables.txt new file mode 100644 index 000000000..17b0218da --- /dev/null +++ b/SOL005/NSLCMCoord-API/environment/variables.txt @@ -0,0 +1,20 @@ +*** Variables *** +${NFVO_HOST} localhost # Hostname of the NFVO +${NFVO_PORT} 8081 # Listening port of the NFVO +${NFVO_SCHEMA} https +${AUTHORIZATION_HEADER} Authorization +${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 +${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${NFVO_AUTH_USAGE} 1 +${CONTENT_TYPE_JSON} application/json +${ACCEPT_JSON} application/json +${apiRoot} / +${apiMajorVersion} v1 +${apiName} lcmcoord + + +${response} httpresponse + +${coordinationId} 297b3460-dfbe-4c7f-80e6-7e7df8e11031 +${ongoingCoordinationId} afa7e711-dd83-4605-b426-57da720df71b +${erroneousCoordinationId} ERRONEOUS_COORDINATION_ID diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json new file mode 100644 index 000000000..9e26dfeeb --- /dev/null +++ b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json b/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json new file mode 100644 index 000000000..e69de29bb diff --git a/SOL005/NSLCMCoordination-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot deleted file mode 100644 index 13dd255d2..000000000 --- a/SOL005/NSLCMCoordination-API/ApiVersion.robot +++ /dev/null @@ -1,4 +0,0 @@ -*** Settings *** - -*** Test Cases *** - -- GitLab From b34553ca0700aca340440851b6df0a6cad5f909e Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Wed, 20 Oct 2021 15:33:34 +0200 Subject: [PATCH 03/13] Refactoring files --- SOL005/NSLCMCoord-API/Notifications.robot | 306 ---------------------- SOL005/NSLCMCoord-API/Subscriptions.robot | 186 ------------- 2 files changed, 492 deletions(-) delete mode 100644 SOL005/NSLCMCoord-API/Notifications.robot delete mode 100644 SOL005/NSLCMCoord-API/Subscriptions.robot diff --git a/SOL005/NSLCMCoord-API/Notifications.robot b/SOL005/NSLCMCoord-API/Notifications.robot deleted file mode 100644 index e6d214945..000000000 --- a/SOL005/NSLCMCoord-API/Notifications.robot +++ /dev/null @@ -1,306 +0,0 @@ -*** Setting *** -Resource environment/variables.txt -Suite Setup Create Sessions -Suite Teardown Terminate All Processes kill=true -Library MockServerLibrary -Library Process -Library OperatingSystem -Library BuiltIn -Library Collections -Library String - -*** Test Cases *** -NSD Onboarding Notification - [Documentation] Test ID: 5.3.1.9.1 - ... Test title: NSD Onboarding Notification - ... Test objective: The objective is to test the dispatch of NSD Onboarding notification when the NSD onboarding operation is successfully completed, 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 NSD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the completion of NSD Onboarding (external action) - Check NSD Onboarding Notification Http Request Body Json Schema Is NsdOnboardingNotification - Check NSD Onboarding Notification Http Request Body notificationType attribute Is NsdOnboardingNotification - -NSD Onboarding Failure Notification - [Documentation] Test ID: 5.3.1.9.2 - ... Test title: NSD Onboarding Failure Notification - ... Test objective: The objective is to test the dispatch of NSD Onboarding failure notification when the NSD onboarding operation 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 NSD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the failure of NSD Onboarding (external action) - Check NSD Onboarding Failure Notification Http Request Body Json Schema Is NsdOnboardingFailureNotification - Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is NsdOnboardingFailureNotification - -NSD Operational State Change Notification - [Documentation] Test ID: 5.3.1.9.3 - ... Test title: NSD Operational State Change Notification - ... Test objective: The objective is to test the dispatch of NSD Operational State Change notification when the NSD operational status change 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 NSD management subscription for operational state change notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the change of NSD Operational State (external action) - Check NSD Operational State Change Notification Http Request Body Json Schema Is NsdChangeNotification - Check NSD Operational State Change Notification Http Request Body notificationType attribute Is NsdChangeNotification - -NSD Deletion Notification - [Documentation] Test ID: 5.3.1.9.4 - ... Test title: NSD Deletion Notification - ... Test objective: The objective is to test the dispatch of NSD Deletion notification when the NSD is deleted from 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 NSD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the deletion of NSD (external action) - Check NSD Deletion Notification Http Request Body Json Schema Is NsdDeletionNotification - Check NSD Deletion Notification Http Request Body notificationType attribute Is NsdDeletionNotification - -PNFD Onboarding Notification - [Documentation] Test ID: 5.3.1.9.5 - ... Test title: PNFD Onboarding Notification - ... Test objective: The objective is to test the dispatch of PNFD Onboarding notification when the PNFD onboarding operation is successfully completed, 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 PNFD management subscription for onboarding notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the completion of PNFD Onboarding (external action) - Check PNFD Onboarding Notification Http Request Body Json Schema Is PnfdOnboardingNotification - Check PNFD Onboarding Notification Http Request Body notificationType attribute Is PnfdOnboardingNotification - -PNFD Onboarding Failure Notification - [Documentation] Test ID: 5.3.1.9.6 - ... Test title: PNFD Onboarding Failure Notification - ... Test objective: The objective is to test the dispatch of PNFD Onboarding failure notification when the PNFD onboarding operation 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 PNFD management subscription for onboarding failure notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the failure of PNFD Onboarding (external action) - Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is PnfdOnboardingFailureNotification - Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is PndfOnboardingFailureNotification - -PNFD Deletion Notification - [Documentation] Test ID: 5.3.1.9.7 - ... Test title: PNFD Deletion Notification - ... Test objective: The objective is to test the dispatch of PNFD Deletion notification when the PNFD is deleted from 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 PNFD management subscription for deletion notifications is available in the NFVO. - ... Reference: Clause 5.4.10.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Trigger the deletion of PNFD (external action) - Check PNFD Deletion Notification Http Request Body Json Schema Is PnfdDeletionNotification - Check PNFD Deletion Notification Http Request Body notificationType attribute Is PnfdDeletionNotification - - -*** Keywords *** -Trigger the completion of NSD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the failure of NSD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the change of NSD Operational State (external action) - #do nothing - Log do nothing - -Trigger the deletion of NSD (external action) - #do nothing - Log do nothing - -Trigger the completion of PNFD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the failure of PNFD Onboarding (external action) - #do nothing - Log do nothing - -Trigger the deletion of PNFD (external action) - #do nothing - Log do nothing - -Check PNFD Onboarding Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check PNFD Onboarding Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure PNFD Onboarding Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check PNFD Onboarding Failure Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check PNFD Onboarding Failure Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification PNFD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check PNFD Deletion Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check PNFD Deletion Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure PNFD Deletion Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Onboarding Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check NSD Onboarding Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure NSD Onboarding Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Onboarding Failure Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - - -Check NSD Onboarding Failure Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure Notification NSD Onboarding Failure Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Operational State Change Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check NSD Operational State Change Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure NSD Operational State Change Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Check NSD Deletion Notification Http Request Body Json Schema Is - [Arguments] ${element} - ${schema}= Get File schemas/${element}.schema.json - Configure Notification Forward ${schema} ${callback_endpoint} ${callback_endpoint_fwd} - -Check NSD Deletion Notification Http Request Body notificationType attribute Is - [Arguments] ${type} - Configure NSD Deletion Handler ${callback_endpoint_fwd} ${type} - Wait Until Keyword Succeeds 2 min 10 sec Verify Mock Expectation ${notification_request} - Clear Requests ${callback_endpoint} - Clear Requests ${callback_endpoint_fwd} - -Configure PNFD Deletion Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure NSD Deletion Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure NSD Operational State Change Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure PNFD Onboarding Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification PNFD Onboarding Failure Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure NSD Onboarding Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification NSD Onboarding Failure Handler - [Arguments] ${endpoint} ${type} - ${json}= evaluate {} - set to dictionary ${json} notificationType ${type} - ${BODY}= evaluate json.dumps(${json}) json - Log Creating mock request and response to handle status notification - &{req}= Create Mock Request Matcher POST ${endpoint} body_type="JSON" body=${BODY} - Set Global Variable ${notification_request} ${req} - &{notification_response}= Create Mock Response status_code=204 - Create Mock Expectation ${notification_request} ${notification_response} - -Configure Notification Forward - [Arguments] ${schema} ${endpoint} ${endpoint_fwd} - Log Creating mock HTTP forward to handle ${schema} - &{notification_tmp}= Create Mock Request Matcher POST ${endpoint} body_type="JSON_SCHEMA" body=${schema} - &{notification_fwd}= Create Mock Http Forward ${endpoint_fwd} - Create Mock Expectation With Http Forward ${notification_tmp} ${notification_fwd} - -Create Sessions - Start Process java -jar ${MOCK_SERVER_JAR} -serverPort ${callback_port} alias=mockInstance - Wait For Process handle=mockInstance timeout=5s on_timeout=continue - Create Mock Session ${callback_uri}:${callback_port} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/Subscriptions.robot b/SOL005/NSLCMCoord-API/Subscriptions.robot deleted file mode 100644 index 170efabc2..000000000 --- a/SOL005/NSLCMCoord-API/Subscriptions.robot +++ /dev/null @@ -1,186 +0,0 @@ -*** Settings *** -Library JSONSchemaLibrary schemas/ -Resource environment/variables.txt # Generic Parameters -Resource NSDManagementKeywords.robot -Library OperatingSystem -Library JSONLibrary -Library Process -Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_verify=false -Suite Setup Create Sessions -Suite Teardown Terminate All Processes kill=true - -*** Test Cases *** -Get All NSD Management Subscriptions - [Documentation] Test ID: 5.3.1.7.1 - ... Test title: Get All NSD Management Subscriptions - ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions and perform a JSON schema validation of the returned subscriptions data structure - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get all NSD Management Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is NsdmSubscriptions - -Get NSD Management Subscriptions with attribute-based filter - [Documentation] Test ID: 5.3.1.7.2 - ... Test title: Get NSD Management Subscriptions with attribute-based filter - ... Test objective: The objective is to test the retrieval of NSD Management subscriptions using attribute-based filter, perform a JSON schema validation of the collected data structure, and verify that the retrieved information matches the issued attribute-based filters - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get NSD Management Subscriptions with attribute-based filters - Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is NsdmSubscriptions - Check HTTP Response Body Subscriptions Match the requested Attribute-Based Filter - -Get NSD Management Subscriptions with invalid attribute-based filter - [Documentation] Test ID: 5.3.1.7.3 - ... Test title: Get NSD Management Subscriptions with attribute-based filters - ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails when using invalid attribute-based filters, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get NSD Management Subscriptions with invalid attribute-based filters - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET NSD Management Subscription with invalid resource endpoint - [Documentation] Test ID: 5.3.1.7.4 - ... Test title: GET NSD Management Subscription with invalid resource endpoint - ... Test objective: The objective is to test that the retrieval of all NSD Management subscriptions fails when using invalid resource endpoint. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get NSD Management Subscriptions with invalid resource endpoint - Check HTTP Response Status Code Is 404 - Check HTTP Response Body Json Schema Is ProblemDetails - -Create new NSD Management subscription - [Documentation] Test ID: 5.3.1.7.5 - ... Test title: Create new NSD Management subscription - ... Test objective: The objective is to test the creation of a new NSD Management subscription and perform a JSON schema and content validation of the returned subscription data structure - ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: The NSD Management subscription is successfully set and it matches the issued subscription - Send Post Request for NSD Management Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is NsdmSubscription - Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription - Check Postcondition NSD Management Subscription Is Set - -Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions - [Tags] no-duplicated-subs - [Documentation] Test ID: 5.3.1.7.6 - ... Test title: Create duplicated NSD Management subscription with NFVO not creating duplicated subscriptions - ... Test objective: The objective is to test the attempt of a creation of a duplicated NSD Management subscription and check that no new subscription is created by the NFVO and a link to the original subscription is returned - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: The NFVO does not support the creation of duplicated subscriptions - ... Post-Conditions: The existing NSD Management subscription returned is available in the NFVO - Send Post Request for Duplicated NSD Management Subscription - Check HTTP Response Status Code Is 303 - Check HTTP Response Body Is Empty - Check HTTP Response Header Contains Location - Check Postcondition Subscription Resource Returned in Location Header Is Available - -Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions - [Tags] duplicated-subs - [Documentation] Test ID: 5.3.1.7.7 - ... Test title: Create duplicated NSD Management subscription with NFVO creating duplicated subscriptions - ... Test objective: The objective is to test the creation of a duplicated NSD Management subscription and perform a JSON schema and content validation of the returned duplicated subscription data structure - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: The NFVO supports the creation of duplicated subscriptions - ... Post-Conditions: The duplicated NSD Management subscription is successfully set and it matches the issued subscription - Send Post Request for Duplicated NSD Management Subscription - Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is NsdmSubscription - Check HTTP Response Body NsdmSubscription Attributes Values Match the Issued Subscription - Check Postcondition NSD Management Subscription Is Set - -PUT NSD Management Subscriptions - Method not implemented - [Documentation] Test ID: 5.3.1.7.8 - ... Test title: PUT NSD Management Subscriptions - Method not implemented - ... Test objective: The objective is to test that PUT method is not allowed to modify NSD Management subscriptions - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.3 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Put Request for NSD Management Subscriptions - Check HTTP Response Status Code Is 405 - -PATCH NSD Management Subscriptions - Method not implemented - [Documentation] Test ID: 5.3.1.7.9 - ... Test title: PATCH NSD Management Subscriptions - Method not implemented - ... Test objective: The objective is to test that PATCH method is not allowed to update NSD Management subscriptions - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.4 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Patch Request for NSD Management Subscriptions - Check HTTP Response Status Code Is 405 - -DELETE NSD Management Subscriptions - Method not implemented - [Documentation] Test ID: 5.3.1.7.10 - ... Test title: DELETE NSD Management Subscriptions - Method not implemented - ... Test objective: The objective is to test that DELETE method is not allowed to delete NSD Management subscriptions - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.5 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: The NSD Management subscriptions are not deleted by the failed operation - Send Delete Request for NSD Management Subscriptions - Check HTTP Response Status Code Is 405 - Check Postcondition NSD Management Subscriptions Exists - -Get All NSD Management Subscriptions as Paged Response - [Documentation] Test ID: 5.3.1.7.11 - ... Test title: Get All NSD Management Subscriptions as Paged Response - ... Test objective: The objective is to test the retrieval of all NSD Management subscriptions as a Paged Response. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get all NSD Management Subscriptions - Check HTTP Response Status Code Is 200 - Check HTTP Response Header Contain Link - -Get NSD Management Subscriptions - Bad Request Response too Big - [Documentation] Test ID: 5.3.1.7.12 - ... Test title: Get NSD Management Subscriptions - Bad Request Response too Big - ... Test objective: The objective is to test that the retrieval of NSD Management subscriptions fails because reponse is too big, and perform the JSON schema validation of the failed operation HTTP response. - ... Pre-conditions: At least one NSD Management subscription is available in the NFVO. - ... Reference: Clause 5.4.8.3.2 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Get all NSD Management Subscriptions - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -Create new NSD Management subscription - Unprocessable Entity - [Documentation] Test ID: 5.3.1.7.13 - ... Test title: Create new NSD Management subscription - Unprocessable Entity - ... Test objective: The objective is to test the creation of a new NSD Management subscription fials when content type of the payload body is supported and the payload body of a request contains syntactically correct data but the data cannot be processed - ... Pre-conditions: none - ... Reference: Clause 5.4.8.3.1 - ETSI GS NFV-SOL 005 [3] v3.3.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Post Request for NSD Management Subscription - Check HTTP Response Status Code Is 422 \ No newline at end of file -- GitLab From 6249ded46944435561dd345e1801dd019294059d Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Wed, 20 Oct 2021 16:41:43 +0200 Subject: [PATCH 04/13] Adding schemas and json body requests --- SOL005/NSLCMCoord-API/NSLCMCoord.robot | 133 ++++++++++------ .../NSLCMCoord-API/NSLCMCoordCancelTask.robot | 133 ++++++---------- .../jsons/createLcmCoordRequest.json | 16 +- .../jsons/createLcmCoordRequestMalformed.json | 15 ++ .../schemas/LcmCoord.schema.json | 143 ++++++++++++++++++ 5 files changed, 306 insertions(+), 134 deletions(-) create mode 100644 SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json diff --git a/SOL005/NSLCMCoord-API/NSLCMCoord.robot b/SOL005/NSLCMCoord-API/NSLCMCoord.robot index e8fd90e54..7fd7881c1 100644 --- a/SOL005/NSLCMCoord-API/NSLCMCoord.robot +++ b/SOL005/NSLCMCoord-API/NSLCMCoord.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This Clause defines the "cancel" operation related to an individual coordination action for the NS LCM Coordination interface +Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource NSLCMCoordKeywords.robot @@ -8,94 +8,137 @@ Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_veri Library OperatingSystem *** Test Cases *** -Request a cancellation of an ongoing coordination action +Request a Coordination of an LCM operation occurrence synchronously [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a cancellation of an ongoing coordination action - ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task - ... Pre-conditions: An ongoing coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously + ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO + Send Post Request for coordination of an LCM operation occurrence + Check HTTP Response Status Code Is 201 + Check HTTP Response Header Contains Location + Check HTTP Response Body Json Schema Is LcmCoord + Check Postcondition LcmCoord Exists + + +Request a Coordination of an LCM operation occurrence asynchronously + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence asynchronously + ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for cancellation of an ongoing coordination action + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence Check HTTP Response Status Code Is 202 + Check HTTP Response Header Contains Location -Request a cancellation of a finished coordination action +Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a cancellation of aterminated coordination action - ... Test objective: The objective is to test the request for the cancellation of a finished coordination action - ... Pre-conditions: A finished coordination action is available - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... + ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for cancellation of a finished coordination action + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence - conflict Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails + - +Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately + ... 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 teh request, but can perform it sometime in the future. + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable + Check HTTP Response Status Code Is 503 + Check HTTP Response Header Contains Retry-After + -Request a cancellation of an ongoing coordination action without authentication +Request a Coordination of an LCM operation occurrence without authentication [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Reques a cancellation of an ongoing coordination action without using 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 + ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication + ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: none - ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Send Post Request for cancellation of an ongoing coordination action without authorization token + Send Post Request for coordination of an LCM operation occurrence without authorization token Check HTTP Response Status Code Is 401 -GET information about a cancellation of an ongoing coordination action - method not implemented +Request a Coordination of an LCM operation occurrence with malformed request + [Documentation] # Test ID: 5.3.1.1.11 + ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request + ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body + ... Pre-conditions: none + ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_NFVO + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence with malformed request + Check HTTP Response Status Code Is 400 + Check HTTP Response Body Json Schema Is ProblemDetails + +GET all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: GET information about a cancellation of an ongoing coordination action - ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: GET all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - GET information about a cancellation of an ongoing coordination action + GET all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 -PUT information about a cancellation of an ongoing coordination action - method not implemented +PUT all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PUT information about a cancellation of an ongoing coordination action - ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PUT all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PUT information about a cancellation of an ongoing coordination action + PUT all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 -PATCH information about a cancellation of an ongoing coordination action - method not implemented +PATCH all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PATCH information about a cancellation of an ongoing coordination action - ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PATCH all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PATCH information about a cancellation of an ongoing coordination action + PATCH all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 -DELETE information about a cancellation of an ongoing coordination action - method not implemented +DELETE all Coordinations of an LCM operation occurrence - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: DELETE information about a cancellation of an ongoing coordination action - ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action - ... Pre-conditions: A cancellation task has been activated - ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: DELETE all Coordinations of an LCM operation occurrence + ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information + ... Pre-conditions: One or more LCM Coordinations have been requested + ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - DELETE information about a cancellation of an ongoing coordination action + DELETE all Coordinations of an LCM operation occurrence Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot index 7fd7881c1..e8fd90e54 100644 --- a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot +++ b/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot @@ -1,5 +1,5 @@ *** Settings *** -Documentation This Clause defines all the resources and methods provided by the NS LCM coordination interface. +Documentation This Clause defines the "cancel" operation related to an individual coordination action for the NS LCM Coordination interface Library JSONSchemaLibrary schemas/ Resource environment/variables.txt # Generic Parameters Resource NSLCMCoordKeywords.robot @@ -8,137 +8,94 @@ Library REST ${NFVO_SCHEMA}://${NFVO_HOST}:${NFVO_PORT} ssl_veri Library OperatingSystem *** Test Cases *** -Request a Coordination of an LCM operation occurrence synchronously +Request a cancellation of an ongoing coordination action [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously - ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO - Send Post Request for coordination of an LCM operation occurrence - Check HTTP Response Status Code Is 201 - Check HTTP Response Header Contains Location - Check HTTP Response Body Json Schema Is LcmCoord - Check Postcondition LcmCoord Exists - - -Request a Coordination of an LCM operation occurrence asynchronously - [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence asynchronously - ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a cancellation of an ongoing coordination action + ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task + ... Pre-conditions: An ongoing coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence + ... Post-Conditions: none + Send Post Request for cancellation of an ongoing coordination action Check HTTP Response Status Code Is 202 - Check HTTP Response Header Contains Location -Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED +Request a cancellation of a finished coordination action [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... - ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: Request a cancellation of aterminated coordination action + ... Test objective: The objective is to test the request for the cancellation of a finished coordination action + ... Pre-conditions: A finished coordination action is available + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence - conflict + ... Post-Conditions: none + Send Post Request for cancellation of a finished coordination action Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails - -Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED - [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately - ... 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 teh request, but can perform it sometime in the future. - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable - Check HTTP Response Status Code Is 503 - Check HTTP Response Header Contains Retry-After - + -Request a Coordination of an LCM operation occurrence without authentication +Request a cancellation of an ongoing coordination action without authentication [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication - ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... Test title: Reques a cancellation of an ongoing coordination action without using 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 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence without authorization token + Send Post Request for cancellation of an ongoing coordination action without authorization token Check HTTP Response Status Code Is 401 -Request a Coordination of an LCM operation occurrence with malformed request - [Documentation] # Test ID: 5.3.1.1.11 - ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request - ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO - ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence with malformed request - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - -GET all Coordinations of an LCM operation occurrence - method not implemented +GET information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: GET all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: GET information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - GET all Coordinations of an LCM operation occurrence + GET information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 -PUT all Coordinations of an LCM operation occurrence - method not implemented +PUT information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PUT all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PUT information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PUT all Coordinations of an LCM operation occurrence + PUT information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 -PATCH all Coordinations of an LCM operation occurrence - method not implemented +PATCH information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: PATCH all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: PATCH information about a cancellation of an ongoing coordination action + ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - PATCH all Coordinations of an LCM operation occurrence + PATCH information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 -DELETE all Coordinations of an LCM operation occurrence - method not implemented +DELETE information about a cancellation of an ongoing coordination action - method not implemented [Documentation] # Test ID: 5.3.1.1.1 - ... Test title: DELETE all Coordinations of an LCM operation occurrence - ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested - ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Test title: DELETE information about a cancellation of an ongoing coordination action + ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action + ... Pre-conditions: A cancellation task has been activated + ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_NFVO ... Applicability: none ... Post-Conditions: none - DELETE all Coordinations of an LCM operation occurrence + DELETE information about a cancellation of an ongoing coordination action Check HTTP Response Status Code Is 405 \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json index 9e26dfeeb..66f1d955a 100644 --- a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json +++ b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json @@ -1 +1,15 @@ -{} \ No newline at end of file +{ + "nsInstanceId": "string", + "nsLcmOpOccId": "string", + "lcmOperationType": "INSTANTIATE", + "coordinationActionName": "string", + "inputParams": {}, + "_links": { + "nsLcmOpOcc": { + "href": "string" + }, + "nsInstance": { + "href": "string" + } + } +} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json new file mode 100644 index 000000000..b1d13135b --- /dev/null +++ b/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json @@ -0,0 +1,15 @@ +{ + "nsInstance": "string", + "nsLcmOpOccId": "string", + "lcmOperationType": "INSTANTIATE", + "coordinationActionName": "string", + "inputParams": {}, + "_links": { + "nsLcmOpOcc": { + "href": "string" + }, + "nsInstance": { + "href": "string" + } + } +} \ No newline at end of file diff --git a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json b/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json index e69de29bb..76e29d5e7 100644 --- a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json +++ b/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json @@ -0,0 +1,143 @@ +{ + "description": "This type represents an LCM coordination result. It shall comply with the provisions \ndefined in table 12.5.2.3-1.\n\nNOTE: How to determine the supported coordination actions is outside the scope of the \n present version of this document.\n", + "required": [ + "id", + "coordinationResult", + "nsInstanceId", + "nsLcmOpOccId", + "lcmOperationType", + "coordinationActionName", + "_links" + ], + "properties": { + "id": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "coordinationResult": { + "description": "The enumeration LcmCoordResultType defines the permitted values to represent the result \nof executing an LCM coordination action. The coordination result also implies the action \nto be performed by the NFVO as the follow-up to this coordination. The LcmCoordResultType \nshall comply with the provisions defined in table 12.5.4.3.-1.\n\n- CONTINUE: The related LCM operation shall be continued, staying in the state \"PROCESSING\".\n- ABORT: The related LCM operation shall be aborted by transitioning into the state \"FAILED_TEMP\".\n- CANCELLED: The coordination action has been cancelled upon request of the API consumer, \n i.e. the NFVO. The related LCM operation shall be aborted by transitioning into \n the state \"FAILED_TEMP\".\n", + "type": "string", + "enum": [ + "CONTINUE", + "ABORT", + "CACELLED" + ] + }, + "nsInstanceId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "nsLcmOpOccId": { + "description": "An identifier with the intention of being globally unique.\n", + "type": "string" + }, + "lcmOperationType": { + "description": "The enumeration LcmOperationForCoordType defines the permitted values to represent \nNS lifecycle operation types in NS LCM operation coordination actions. \nIt shall comply with the provisions defined in table 12.5.4.3-1.\n\n- INSTANTIATE: Represents the \"Instantiate NS\" LCM operation.\n- SCALE: Represents the \"Scale NS\" LCM operation.\n- UPDATE: Represents the \"Update NS\" LCM operation.\n- TERMINATE: Represents the \"Terminate NS\" LCM operation. \n- HEAL: Represents the \"Heal NS\" LCM operation.\n", + "type": "string", + "enum": [ + "INSTANTIATE", + "SCALE", + "UPDATE", + "TERMINATE", + "HEAL" + ] + }, + "coordinationActionName": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + }, + "outputParams": { + "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 key- value pairs is represented as an object. It shall comply with the provisions defined in clause 4 of IETF RFC 7159.\n", + "type": "object" + }, + "warnings": { + "description": "A string as defined in IETF RFC 8259.\n", + "type": "string" + }, + "error": { + "description": "The definition of the general \"ProblemDetails\" data structure from IETF RFC 7807 [19] is reproduced in this structure. Compared to the general framework defined in IETF RFC 7807 [19], the \"status\" and \"detail\" attributes are mandated to be included by the present document, to ensure that the response contains additional textual information about an error. IETF RFC 7807 [19] foresees extensibility of the \"ProblemDetails\" type. It is possible that particular APIs in the present document, or particular implementations, define extensions to define additional attributes that provide more information about the error. The description column only provides some explanation of the meaning to Facilitate understanding of the design. For a full description, see IETF RFC 7807 [19].\n", + "type": "object", + "required": [ + "status", + "detail" + ], + "properties": { + "type": { + "description": "A URI reference according to IETF RFC 3986 [5] that identifies the problem type. It is encouraged that the URI provides human-readable documentation for the problem (e.g. using HTML) when dereferenced. When this member is not present, its value is assumed to be \"about:blank\".\n", + "type": "string", + "format": "URI" + }, + "title": { + "description": "A short, human-readable summary of the problem type. It should not change from occurrence to occurrence of the problem, except for purposes of localization. If type is given and other than \"about:blank\", this attribute shall also be provided. A short, human-readable summary of the problem type. It SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization (e.g., using proactive content negotiation; see [RFC7231], Section 3.4).\n", + "type": "string" + }, + "status": { + "description": "The HTTP status code for this occurrence of the problem. The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.\n", + "type": "integer" + }, + "detail": { + "description": "A human-readable explanation specific to this occurrence of the problem.\n", + "type": "string" + }, + "instance": { + "description": "A URI reference that identifies the specific occurrence of the problem. It may yield further information if dereferenced.\n", + "type": "string", + "format": "URI" + } + } + }, + "_links": { + "description": "Links to resources related to this resource.\n", + "type": "object", + "required": [ + "self", + "nsLcmOpOcc", + "nsInstance" + ], + "properties": { + "self": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsLcmOpOcc": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + }, + "nsInstance": { + "description": "This type represents a link to a resource.\n", + "type": "object", + "required": [ + "href" + ], + "properties": { + "href": { + "description": "URI of a resource referenced from a notification. Should be an absolute URI (i.e. a URI that contains {apiRoot}), however, may be a relative URI (i.e. a URI where the {apiRoot} part is omitted) if the {apiRoot} information is not available.\n", + "type": "string", + "format": "url" + } + } + } + } + } + } +} \ No newline at end of file -- GitLab From 8e5856261b225260d492528f8782ae96c972285c Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 10:33:28 +0200 Subject: [PATCH 05/13] renamed NSLCMCoord api folder --- SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/ApiVersion.robot | 0 .../IndividualNSLCMCoord.robot | 0 SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoord.robot | 0 .../NSLCMCoordCancelTask.robot | 0 .../NSLCMCoordKeywords.robot | 0 .../environment/variables.txt | 0 .../jsons/createLcmCoordRequest.json | 0 .../jsons/createLcmCoordRequestMalformed.json | 0 .../schemas/LcmCoord.schema.json | 0 9 files changed, 0 insertions(+), 0 deletions(-) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/ApiVersion.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/IndividualNSLCMCoord.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoord.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoordCancelTask.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/NSLCMCoordKeywords.robot (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/environment/variables.txt (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/jsons/createLcmCoordRequest.json (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/jsons/createLcmCoordRequestMalformed.json (100%) rename SOL005/{NSLCMCoord-API => NSLCMCoordination-API}/schemas/LcmCoord.schema.json (100%) diff --git a/SOL005/NSLCMCoord-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot similarity index 100% rename from SOL005/NSLCMCoord-API/ApiVersion.robot rename to SOL005/NSLCMCoordination-API/ApiVersion.robot diff --git a/SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot b/SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot similarity index 100% rename from SOL005/NSLCMCoord-API/IndividualNSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot diff --git a/SOL005/NSLCMCoord-API/NSLCMCoord.robot b/SOL005/NSLCMCoordination-API/NSLCMCoord.robot similarity index 100% rename from SOL005/NSLCMCoord-API/NSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/NSLCMCoord.robot diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot similarity index 100% rename from SOL005/NSLCMCoord-API/NSLCMCoordCancelTask.robot rename to SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot diff --git a/SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot similarity index 100% rename from SOL005/NSLCMCoord-API/NSLCMCoordKeywords.robot rename to SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot diff --git a/SOL005/NSLCMCoord-API/environment/variables.txt b/SOL005/NSLCMCoordination-API/environment/variables.txt similarity index 100% rename from SOL005/NSLCMCoord-API/environment/variables.txt rename to SOL005/NSLCMCoordination-API/environment/variables.txt diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json similarity index 100% rename from SOL005/NSLCMCoord-API/jsons/createLcmCoordRequest.json rename to SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json diff --git a/SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json similarity index 100% rename from SOL005/NSLCMCoord-API/jsons/createLcmCoordRequestMalformed.json rename to SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json diff --git a/SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json b/SOL005/NSLCMCoordination-API/schemas/LcmCoord.schema.json similarity index 100% rename from SOL005/NSLCMCoord-API/schemas/LcmCoord.schema.json rename to SOL005/NSLCMCoordination-API/schemas/LcmCoord.schema.json -- GitLab From b58eee47b0f2d8a101afd895d73b170d3249e9d1 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 10:42:11 +0200 Subject: [PATCH 06/13] updated test id and config id for NSLCMCoord --- SOL005/NSLCMCoordination-API/ApiVersion.robot | 40 +++++++++---------- ...bot => CancelCoordinationActionTask.robot} | 30 +++++++------- .../{NSLCMCoord.robot => Coordinations.robot} | 40 +++++++++---------- ...bot => IndividualCoordinationAction.robot} | 24 +++++------ indexes/sol_005_index.csv | 6 ++- 5 files changed, 72 insertions(+), 68 deletions(-) rename SOL005/NSLCMCoordination-API/{NSLCMCoordCancelTask.robot => CancelCoordinationActionTask.robot} (87%) rename SOL005/NSLCMCoordination-API/{NSLCMCoord.robot => Coordinations.robot} (89%) rename SOL005/NSLCMCoordination-API/{IndividualNSLCMCoord.robot => IndividualCoordinationAction.robot} (91%) diff --git a/SOL005/NSLCMCoordination-API/ApiVersion.robot b/SOL005/NSLCMCoordination-API/ApiVersion.robot index 2f35eb345..92aae617c 100644 --- a/SOL005/NSLCMCoordination-API/ApiVersion.robot +++ b/SOL005/NSLCMCoordination-API/ApiVersion.robot @@ -9,24 +9,24 @@ Library JSONSchemaLibrary schemas/ *** Test Cases *** POST API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.1 + [Documentation] Test ID: 5.3.8.1.1 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none POST API Version Check HTTP Response Status Code Is 405 GET API Version - [Documentation] Test ID: 5.3.1.10.2 + [Documentation] Test ID: 5.3.8.1.2 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET API Version @@ -34,60 +34,60 @@ GET API Version Check HTTP Response Body Json Schema Is ApiVersionInformation PUT API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.3 + [Documentation] Test ID: 5.3.8.1.3 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT API Version Check HTTP Response Status Code Is 405 PATCH API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.4 + [Documentation] Test ID: 5.3.8.1.4 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH API Version Check HTTP Response Status Code Is 405 DELETE API Version - Method not implemented - [Documentation] Test ID: 5.3.1.10.5 + [Documentation] Test ID: 5.3.8.1.5 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE API Version Check HTTP Response Status Code Is 405 POST API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.6 + [Documentation] Test ID: 5.3.8.1.6 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none POST API Version Check HTTP Response Status Code Is 405 GET API Version with apiMajorVerion - [Documentation] Test ID: 5.3.1.10.7 + [Documentation] Test ID: 5.3.8.1.7 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET API Version @@ -95,36 +95,36 @@ GET API Version with apiMajorVerion Check HTTP Response Body Json Schema Is ApiVersionInformation PUT API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.8 + [Documentation] Test ID: 5.3.8.1.8 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT API Version Check HTTP Response Status Code Is 405 PATCH API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.9 + [Documentation] Test ID: 5.3.8.1.9 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH API Version Check HTTP Response Status Code Is 405 DELETE API Version with apiMajorVerion - Method not implemented - [Documentation] Test ID: 5.3.1.10.10 + [Documentation] Test ID: 5.3.8.1.10 ... 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 v3.3.1 - ... Config ID: Config_prod_VNFM + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE API Version diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot similarity index 87% rename from SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot rename to SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot index e8fd90e54..b1d24a067 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoordCancelTask.robot +++ b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot @@ -9,12 +9,12 @@ Library OperatingSystem *** Test Cases *** Request a cancellation of an ongoing coordination action - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.4.1 ... Test title: Request a cancellation of an ongoing coordination action - ... Test objective: The objective is to test the request for teh cancellation of an ongoing coordination task + ... Test objective: The objective is to test the request for the cancellation of an ongoing coordination task ... Pre-conditions: An ongoing coordination action is available ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for cancellation of an ongoing coordination action @@ -22,12 +22,12 @@ Request a cancellation of an ongoing coordination action Request a cancellation of a finished coordination action - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.4.2 ... Test title: Request a cancellation of aterminated coordination action ... Test objective: The objective is to test the request for the cancellation of a finished coordination action ... Pre-conditions: A finished coordination action is available ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for cancellation of a finished coordination action @@ -37,12 +37,12 @@ Request a cancellation of a finished coordination action Request a cancellation of an ongoing coordination action without authentication - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.4.3 ... Test title: Reques a cancellation of an ongoing coordination action without using 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 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for cancellation of an ongoing coordination action without authorization token @@ -50,12 +50,12 @@ Request a cancellation of an ongoing coordination action without authentication GET information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.4 ... Test title: GET information about a cancellation of an ongoing coordination action ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET information about a cancellation of an ongoing coordination action @@ -63,12 +63,12 @@ GET information about a cancellation of an ongoing coordination action - method PUT information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.5 ... Test title: PUT information about a cancellation of an ongoing coordination action ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT information about a cancellation of an ongoing coordination action @@ -76,12 +76,12 @@ PUT information about a cancellation of an ongoing coordination action - method PATCH information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.6 ... Test title: PATCH information about a cancellation of an ongoing coordination action ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH information about a cancellation of an ongoing coordination action @@ -89,12 +89,12 @@ PATCH information about a cancellation of an ongoing coordination action - metho DELETE information about a cancellation of an ongoing coordination action - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.4.7 ... Test title: DELETE information about a cancellation of an ongoing coordination action ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE information about a cancellation of an ongoing coordination action diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoord.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot similarity index 89% rename from SOL005/NSLCMCoordination-API/NSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/Coordinations.robot index 7fd7881c1..c33eeb490 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoord.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -9,12 +9,12 @@ Library OperatingSystem *** Test Cases *** Request a Coordination of an LCM operation occurrence synchronously - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.1 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: A Individual coordination action resource is successfully created on the NFVO Send Post Request for coordination of an LCM operation occurrence @@ -25,12 +25,12 @@ Request a Coordination of an LCM operation occurrence synchronously Request a Coordination of an LCM operation occurrence asynchronously - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.2 ... Test title: Request a Coordination of an LCM operation occurrence asynchronously ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence @@ -39,12 +39,12 @@ Request a Coordination of an LCM operation occurrence asynchronously Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence - conflict @@ -53,12 +53,12 @@ Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLET Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.4 ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately ... 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 teh request, but can perform it sometime in the future. ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable @@ -67,12 +67,12 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un Request a Coordination of an LCM operation occurrence without authentication - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.5 ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence without authorization token @@ -80,12 +80,12 @@ Request a Coordination of an LCM operation occurrence without authentication Request a Coordination of an LCM operation occurrence with malformed request - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.2.6 ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body ... Pre-conditions: none ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Send Post Request for coordination of an LCM operation occurrence with malformed request @@ -93,12 +93,12 @@ Request a Coordination of an LCM operation occurrence with malformed request Check HTTP Response Body Json Schema Is ProblemDetails GET all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.7 ... Test title: GET all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none GET all Coordinations of an LCM operation occurrence @@ -106,12 +106,12 @@ GET all Coordinations of an LCM operation occurrence - method not implemented PUT all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.8 ... Test title: PUT all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT all Coordinations of an LCM operation occurrence @@ -119,12 +119,12 @@ PUT all Coordinations of an LCM operation occurrence - method not implemented PATCH all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.9 ... Test title: PATCH all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH all Coordinations of an LCM operation occurrence @@ -132,12 +132,12 @@ PATCH all Coordinations of an LCM operation occurrence - method not implemented DELETE all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.2.10 ... Test title: DELETE all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE all Coordinations of an LCM operation occurrence diff --git a/SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot similarity index 91% rename from SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot rename to SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot index 8e075bd49..6892cb09f 100644 --- a/SOL005/NSLCMCoordination-API/IndividualNSLCMCoord.robot +++ b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot @@ -14,7 +14,7 @@ POST an individual coordination action of an LCM operation occurrence - method n ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none POST an individual Coordination of an LCM operation occurrence @@ -27,7 +27,7 @@ Get information about a finished coordination task ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. ... Pre-conditions: Individual coordination task is terminated ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about a finished coordination task @@ -41,7 +41,7 @@ Get information about an ongoing coordination task ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about an ongoing coordination task @@ -54,7 +54,7 @@ Get information about an invalid coordination task ... Test objective: The objective is to try to read an individual coordination task ... Pre-conditions: Individual coordination task is not present ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about an ongoing coordination task @@ -62,12 +62,12 @@ Get information about an invalid coordination task Get information about a finished coordination task without authentication - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.1 ... Test title: Request information related to 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 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none Retrieve information about an ongoing coordination task @@ -75,12 +75,12 @@ Get information about a finished coordination task without authentication PUT an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.2 ... Test title: PUT an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PUT an individual coordination action of an LCM operation occurrence @@ -88,12 +88,12 @@ PUT an individual coordination action of an LCM operation occurrence - method no PATCH an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.3 ... Test title: PATCH an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none PATCH an individual coordination action of an LCM operation occurrence @@ -101,12 +101,12 @@ PATCH an individual coordination action of an LCM operation occurrence - method DELETE an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.4 ... Test title: DELETE an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_NFVO + ... Config ID: Config_prod_OSS/BSS ... Applicability: none ... Post-Conditions: none DELETE an individual coordination action of an LCM operation occurrence diff --git a/indexes/sol_005_index.csv b/indexes/sol_005_index.csv index 7a3c3503c..5bf0ff7cc 100644 --- a/indexes/sol_005_index.csv +++ b/indexes/sol_005_index.csv @@ -91,4 +91,8 @@ 5.3.7.8,Cancel VNF Snapshot Package Content Operation Task Endpoint, CancelVNFSnapshotPackageOperationTask.robot 5.3.7.9,Access Configuration for External Artifacts Endpoint, AccessConfigurationForExternalArtifacts.robot 5.3.7.10,Individual VNF Snapshot Package Artifact Endpoint,IndividualVNFSnapshotPackageArtifact.robot - +5.3.8,NS LCM Coordination Interface, NSLCMCoordination-API +5.3.8.1,API Version Resource Endpoint, ApiVersion.robot +5.3.8.2,Coordinations Endpoint, Coordinations.robot +5.3.8.3,Individual Coordination Action Endpoint, IndividualCoordinationAction.robot +5.3.8.4,Cancel Coordination Action Task Endpoint, CancelCoordinationActionTask.robot -- GitLab From 2756568252c12a5191f68d5efe3120e7dc4f9f98 Mon Sep 17 00:00:00 2001 From: Giacomo Bernini Date: Thu, 21 Oct 2021 12:04:55 +0200 Subject: [PATCH 07/13] NSLCMCoord test id updates --- .../IndividualCoordinationAction.robot | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot index 6892cb09f..2b1069a6f 100644 --- a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot @@ -9,7 +9,7 @@ Library OperatingSystem *** Test Cases *** POST an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] # Test ID: 5.3.1.1.1 + [Documentation] Test ID: 5.3.8.3.1 ... Test title: POST an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested @@ -22,7 +22,7 @@ POST an individual coordination action of an LCM operation occurrence - method n Get information about a finished coordination task - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.2 ... Test title: Request information related to a terminated coordination task ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. ... Pre-conditions: Individual coordination task is terminated @@ -36,7 +36,7 @@ Get information about a finished coordination task Get information about an ongoing coordination task - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.3 ... Test title: Request information related to an ongoing coordination task ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled @@ -49,7 +49,7 @@ Get information about an ongoing coordination task Get information about an invalid coordination task - [Documentation] # Test ID: 5.3.1.1.11 + [Documentation] Test ID: 5.3.8.3.4 ... Test title: Request information related to an invalid coordination task ... Test objective: The objective is to try to read an individual coordination task ... Pre-conditions: Individual coordination task is not present @@ -62,7 +62,7 @@ Get information about an invalid coordination task Get information about a finished coordination task without authentication - [Documentation] Test ID: 5.3.8.3.1 + [Documentation] Test ID: 5.3.8.3.5 ... Test title: Request information related to 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 @@ -75,7 +75,7 @@ Get information about a finished coordination task without authentication PUT an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.3.2 + [Documentation] Test ID: 5.3.8.3.6 ... Test title: PUT an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested @@ -88,7 +88,7 @@ PUT an individual coordination action of an LCM operation occurrence - method no PATCH an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.3.3 + [Documentation] Test ID: 5.3.8.3.7 ... Test title: PATCH an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested @@ -101,7 +101,7 @@ PATCH an individual coordination action of an LCM operation occurrence - method DELETE an individual coordination action of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.3.4 + [Documentation] Test ID: 5.3.8.3.8 ... Test title: DELETE an individual coordination action of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested -- GitLab From 56f0ea5e39bc9c90014822b2cdcaacc8793b7ec2 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Thu, 21 Oct 2021 12:51:11 +0200 Subject: [PATCH 08/13] Adopting template model to coordination request --- .../NSLCMCoordination-API/Coordinations.robot | 39 +++++--------- .../NSLCMCoordKeywords.robot | 51 +++++++++++-------- .../environment/variables.txt | 20 +++++++- .../jsons/createLcmCoordRequest.json | 29 +++++------ .../jsons/createLcmCoordRequestMalformed.json | 15 ------ .../schemas/ApiVersionInformation.schema.json | 38 ++++++++++++++ 6 files changed, 114 insertions(+), 78 deletions(-) delete mode 100644 SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json create mode 100644 SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index c33eeb490..17492d85d 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -12,7 +12,7 @@ Request a Coordination of an LCM operation occurrence synchronously [Documentation] Test ID: 5.3.8.2.1 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... Test objective: The objective is to test the synchronous request for the coordination of an LCM operation occurrence and perform the JSON schema validation of the returned structure - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -28,7 +28,7 @@ Request a Coordination of an LCM operation occurrence asynchronously [Documentation] Test ID: 5.3.8.2.2 ... Test title: Request a Coordination of an LCM operation occurrence asynchronously ... Test objective: The objective is to test the asynchronous request for the coordination of an LCM operation occurrence and perform the validation of the headers returned - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -42,7 +42,7 @@ Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLET [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -56,7 +56,7 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un [Documentation] Test ID: 5.3.8.2.4 ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately ... 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 teh request, but can perform it sometime in the future. - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -70,7 +70,7 @@ Request a Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 5.3.8.2.5 ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token - ... Pre-conditions: none + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -79,24 +79,11 @@ Request a Coordination of an LCM operation occurrence without authentication Check HTTP Response Status Code Is 401 -Request a Coordination of an LCM operation occurrence with malformed request - [Documentation] Test ID: 5.3.8.2.6 - ... Test title: Reques a Coordination of an LCM operation occurrence with malformed request - ... Test objective: The objective is to test the failure of the request for the coordination of an LCM operation occurrence providing a malformed LcmCoordRequest body - ... Pre-conditions: none - ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 - ... Config ID: Config_prod_OSS/BSS - ... Applicability: none - ... Post-Conditions: none - Send Post Request for coordination of an LCM operation occurrence with malformed request - Check HTTP Response Status Code Is 400 - Check HTTP Response Body Json Schema Is ProblemDetails - GET all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.7 + [Documentation] Test ID: 5.3.8.2.6 ... Test title: GET all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -106,10 +93,10 @@ GET all Coordinations of an LCM operation occurrence - method not implemented PUT all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.8 + [Documentation] Test ID: 5.3.8.2.7 ... Test title: PUT all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -119,10 +106,10 @@ PUT all Coordinations of an LCM operation occurrence - method not implemented PATCH all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.9 + [Documentation] Test ID: 5.3.8.2.8 ... Test title: PATCH all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -132,10 +119,10 @@ PATCH all Coordinations of an LCM operation occurrence - method not implemented DELETE all Coordinations of an LCM operation occurrence - method not implemented - [Documentation] Test ID: 5.3.8.2.10 + [Documentation] Test ID: 5.3.8.2.9 ... Test title: DELETE all Coordinations of an LCM operation occurrence ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information - ... Pre-conditions: One or more LCM Coordinations have been requested + ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot index c59d23f72..aa06b36ba 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot +++ b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot @@ -16,7 +16,8 @@ Send Post Request for coordination of an LCM operation occurrence Log Requesting a new coordination task for an LCM Operation occurrence Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${body}= Get File jsons/createLcmCoordRequest.json + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHref} nsInstanceHref=${nsInstanceHref} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} ${output}= Output response @@ -57,11 +58,28 @@ Check Postcondition LcmCoord Exists Send Post Request for coordination of an LCM operation occurrence - conflict - Log To be done + Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccIdNotProcessing} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHrefNotProcessing} nsInstanceHref=${nsInstanceHref} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} Send Post Request for coordination of an LCM operation occurrence synchronously - service unavailable - Log To be done + Log Requesting a new coordination task for an LCM Operation occurrence when API producer + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccIdServiceUnavailable} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHrefServiceUnavailable} nsInstanceHref=${nsInstanceHref} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Send Post Request for coordination of an LCM operation occurrence without authorization token @@ -73,16 +91,7 @@ Send Post Request for coordination of an LCM operation occurrence without author ${output}= Output response Set Suite Variable ${response} ${output} -Send Post Request for coordination of an LCM operation occurrence with malformed request - Log Requesting a new coordination task for an LCM Operation occurrence - Set Headers {"Accept": "${ACCEPT_JSON}"} - Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - ${body}= Get File jsons/createLcmCoordRequestMalformed.json - Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} - ${output}= Output response - Set Suite Variable ${response} ${output} - + GET all Coordinations of an LCM operation occurrence Log Requesting the retrieve of all coordination tasks Set Headers {"Accept": "${ACCEPT_JSON}"} @@ -190,11 +199,11 @@ DELETE an individual coordination action of an LCM operation occurrence Send Post Request for cancellation of an ongoing coordination action - Log Requesting the cancellatio9n of an ongoing coordination task + Log Requesting the cancellation of an ongoing coordination task Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -203,7 +212,7 @@ Send Post Request for cancellation of a finished coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${finishedCoordinationActionId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -212,7 +221,7 @@ Send Post Request for cancellation of an ongoing coordination action without aut Log Requesting the cancellation of an ongoing coordination task without authorization Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} - REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -221,7 +230,7 @@ GET information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.GET ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -230,7 +239,7 @@ PUT information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.PUT ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -239,7 +248,7 @@ PATCH information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} @@ -248,6 +257,6 @@ DELETE information about a cancellation of an ongoing coordination action Set Headers {"Accept": "${ACCEPT_JSON}"} Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${AUTHORIZATION_TOKEN}"} - REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/cancel + REST.DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations/${ongoingCoordinationId}/cancel ${output}= Output response Set Suite Variable ${response} ${output} \ No newline at end of file diff --git a/SOL005/NSLCMCoordination-API/environment/variables.txt b/SOL005/NSLCMCoordination-API/environment/variables.txt index 17b0218da..088646c95 100644 --- a/SOL005/NSLCMCoordination-API/environment/variables.txt +++ b/SOL005/NSLCMCoordination-API/environment/variables.txt @@ -12,9 +12,27 @@ ${apiRoot} / ${apiMajorVersion} v1 ${apiName} lcmcoord - ${response} httpresponse ${coordinationId} 297b3460-dfbe-4c7f-80e6-7e7df8e11031 ${ongoingCoordinationId} afa7e711-dd83-4605-b426-57da720df71b ${erroneousCoordinationId} ERRONEOUS_COORDINATION_ID +${finishedCoordinationActionId} dfbe80e6-4605-dd83-b426-57da720df82c + +### Template data for coordinationRequest +${nsInstanceId} +${nsLcmOpOccId} +${lcmOperationType} +${coordinationActionName} +${nsLcmOpOccHref} +${nsInstanceHref} + + +### Template data for coordinationRequest for LCMOpp not in PROCESSING state +${nsLcmOpOccIdNotProcessing} +${nsLcmOpOccHrefNotProcessing} + + +### Template data for coordinationRequest for LCMOpp when API producer cannot execute immediately the request +${nsLcmOpOccIdServiceUnavailable} +${nsLcmOpOccHrefServiceUnavailable} diff --git a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json index 66f1d955a..e7753d557 100644 --- a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json +++ b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequest.json @@ -1,15 +1,14 @@ -{ - "nsInstanceId": "string", - "nsLcmOpOccId": "string", - "lcmOperationType": "INSTANTIATE", - "coordinationActionName": "string", - "inputParams": {}, - "_links": { - "nsLcmOpOcc": { - "href": "string" - }, - "nsInstance": { - "href": "string" - } - } -} \ No newline at end of file +{{ + "nsInstanceId": "{nsInstanceId}", + "nsLcmOpOccId": "{nsLcmOpOccId}", + "lcmOperationType": "{lcmOperationType}", + "coordinationActionName": "{coordinationActionName}", + "_links": {{ + "nsLcmOpOcc": {{ + "href": "{nsLcmOpOccHref}" + }}, + "nsInstance": {{ + "href": "{nsInstanceHref}" + }} + }} +}} \ No newline at end of file diff --git a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json b/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json deleted file mode 100644 index b1d13135b..000000000 --- a/SOL005/NSLCMCoordination-API/jsons/createLcmCoordRequestMalformed.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "nsInstance": "string", - "nsLcmOpOccId": "string", - "lcmOperationType": "INSTANTIATE", - "coordinationActionName": "string", - "inputParams": {}, - "_links": { - "nsLcmOpOcc": { - "href": "string" - }, - "nsInstance": { - "href": "string" - } - } -} \ No newline at end of file diff --git a/SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json b/SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json new file mode 100644 index 000000000..42a4c8a3e --- /dev/null +++ b/SOL005/NSLCMCoordination-API/schemas/ApiVersionInformation.schema.json @@ -0,0 +1,38 @@ +{ + "description": "This type represents API version information.\n", + "type": "object", + "required": [ + "uriPrefix", + "apiVersions" + ], + "properties": { + "uriPrefix": { + "description": "Specifies the URI prefix for the API, in the following form {apiRoot}/{apiName}/{apiMajorVersion}/.\n", + "type": "string" + }, + "apiVersions": { + "description": "Version(s) supported for the API signalled by the uriPrefix attribute.\n", + "type": "array", + "items": { + "type": "object", + "required": [ + "version" + ], + "properties": { + "version": { + "description": "Identifies a supported version. The value of the version attribute shall be a version identifier as specified in clause 4.6.1.\n", + "type": "string" + }, + "isDeprecated": { + "description": "The Boolean is a data type having two values (TRUE and FALSE).\n", + "type": "boolean" + }, + "retirementDate": { + "description": "Date-time stamp. Representation: String formatted according toas defined by the date-time production in IETF RFC 3339.\n", + "format": "date-time" + } + } + } + } + } +} \ No newline at end of file -- GitLab From fce36d78b2f1d8739bffe97b080817c36ca855a0 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 22 Oct 2021 17:58:40 +0200 Subject: [PATCH 09/13] Fixing test case naming and titles --- .../CancelCoordinationActionTask.robot | 15 +++++++-------- .../NSLCMCoordination-API/Coordinations.robot | 18 +++++++++--------- .../IndividualCoordinationAction.robot | 16 ++++++++-------- 3 files changed, 24 insertions(+), 25 deletions(-) diff --git a/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot index b1d24a067..ed0759914 100644 --- a/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot +++ b/SOL005/NSLCMCoordination-API/CancelCoordinationActionTask.robot @@ -23,7 +23,7 @@ Request a cancellation of an ongoing coordination action Request a cancellation of a finished coordination action [Documentation] Test ID: 5.3.8.4.2 - ... Test title: Request a cancellation of aterminated coordination action + ... Test title: Request a cancellation of a finished coordination action ... Test objective: The objective is to test the request for the cancellation of a finished coordination action ... Pre-conditions: A finished coordination action is available ... Reference: Clause 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -33,12 +33,11 @@ Request a cancellation of a finished coordination action Send Post Request for cancellation of a finished coordination action Check HTTP Response Status Code Is 409 Check HTTP Response Body Json Schema Is ProblemDetails - - + Request a cancellation of an ongoing coordination action without authentication [Documentation] Test ID: 5.3.8.4.3 - ... Test title: Reques a cancellation of an ongoing coordination action without using 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 12.4.4.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -51,7 +50,7 @@ Request a cancellation of an ongoing coordination action without authentication GET information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.4 - ... Test title: GET information about a cancellation of an ongoing coordination action + ... Test title: GET information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the GET method is not allowed to retrieve cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -64,7 +63,7 @@ GET information about a cancellation of an ongoing coordination action - method PUT information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.5 - ... Test title: PUT information about a cancellation of an ongoing coordination action + ... Test title: PUT information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -77,7 +76,7 @@ PUT information about a cancellation of an ongoing coordination action - method PATCH information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.6 - ... Test title: PATCH information about a cancellation of an ongoing coordination action + ... Test title: PATCH information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: he objective is to test that the PATCH method is not allowed to modify cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -90,7 +89,7 @@ PATCH information about a cancellation of an ongoing coordination action - metho DELETE information about a cancellation of an ongoing coordination action - method not implemented [Documentation] Test ID: 5.3.8.4.7 - ... Test title: DELETE information about a cancellation of an ongoing coordination action + ... Test title: DELETE information about a cancellation of an ongoing coordination action - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove cancellation details of an ongoing coordination action ... Pre-conditions: A cancellation task has been activated ... Reference: Clause 12.4.4.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index 17492d85d..9c33f3c21 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -38,9 +38,9 @@ Request a Coordination of an LCM operation occurrence asynchronously Check HTTP Response Header Contains Location -Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLETED +Request a Coordination of an LCM operation occurrence - CONFLICT [Documentation] Test ID: 5.3.8.2.3 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously ... + ... Test title: Request a Coordination of an LCM operation occurrence - CONFLICT ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... ... Pre-conditions: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -52,9 +52,9 @@ Request a Coordination of an LCM operation occurrence - CONFLICT # TO BE COMPLET Check HTTP Response Body Json Schema Is ProblemDetails -Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable # TO BE COMPLETED +Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable [Documentation] Test ID: 5.3.8.2.4 - ... Test title: Request a Coordination of an LCM operation occurrence synchronously with the NFVO that is not able to perform the request immediately + ... Test title: Request a Coordination of an LCM operation occurrence synchronously - 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 teh request, but can perform it sometime in the future. ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -68,7 +68,7 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un Request a Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 5.3.8.2.5 - ... Test title: Reques a Coordination of an LCM operation occurrence without using authentication + ... Test title: Request a Coordination of an LCM operation occurrence without authentication ... Test objective: The objective is to test teh 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 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -81,7 +81,7 @@ Request a Coordination of an LCM operation occurrence without authentication GET all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.6 - ... Test title: GET all Coordinations of an LCM operation occurrence + ... Test title: GET all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the GET method is not allowed to retrieve coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -94,7 +94,7 @@ GET all Coordinations of an LCM operation occurrence - method not implemented PUT all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.7 - ... Test title: PUT all Coordinations of an LCM operation occurrence + ... Test title: PUT all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -107,7 +107,7 @@ PUT all Coordinations of an LCM operation occurrence - method not implemented PATCH all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.8 - ... Test title: PATCH all Coordinations of an LCM operation occurrence + ... Test title: PATCH all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PATCH method is not allowed to modify coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -120,7 +120,7 @@ PATCH all Coordinations of an LCM operation occurrence - method not implemented DELETE all Coordinations of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.2.9 - ... Test title: DELETE all Coordinations of an LCM operation occurrence + ... Test title: DELETE all Coordinations of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove coordination requests information ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" ... Reference: Clause 12.4.2.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 diff --git a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot index 2b1069a6f..61eba4383 100644 --- a/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot +++ b/SOL005/NSLCMCoordination-API/IndividualCoordinationAction.robot @@ -10,7 +10,7 @@ Library OperatingSystem *** Test Cases *** POST an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.1 - ... Test title: POST an individual coordination action of an LCM operation occurrence + ... Test title: POST an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the POST method is not allowed to submit a new individuaal coordination requests information ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -23,7 +23,7 @@ POST an individual coordination action of an LCM operation occurrence - method n Get information about a finished coordination task [Documentation] Test ID: 5.3.8.3.2 - ... Test title: Request information related to a terminated coordination task + ... Test title: Get information about a finished coordination task ... Test objective: The objective is to retrieve information about an individual coordination task and perform a JSON schema validation. ... Pre-conditions: Individual coordination task is terminated ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -37,7 +37,7 @@ Get information about a finished coordination task Get information about an ongoing coordination task [Documentation] Test ID: 5.3.8.3.3 - ... Test title: Request information related to an ongoing coordination task + ... Test title: Get information about an ongoing coordination task ... Test objective: The objective is to retrieve information about an individual coordination task that is still in running or is in the process of being cancelled ... Pre-conditions: Individual coordination task is still ongoing or is in the process of being cancelled ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -50,7 +50,7 @@ Get information about an ongoing coordination task Get information about an invalid coordination task [Documentation] Test ID: 5.3.8.3.4 - ... Test title: Request information related to an invalid coordination task + ... Test title: Get information about an invalid coordination task ... Test objective: The objective is to try to read an individual coordination task ... Pre-conditions: Individual coordination task is not present ... Reference: Clause 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -63,7 +63,7 @@ Get information about an invalid coordination task Get information about a finished coordination task without authentication [Documentation] Test ID: 5.3.8.3.5 - ... Test title: Request information related to a finished coordination task 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 12.4.3.3.2 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -76,7 +76,7 @@ Get information about a finished coordination task without authentication PUT an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.6 - ... Test title: PUT an individual coordination action of an LCM operation occurrence + ... Test title: PUT an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PUT method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.3 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -89,7 +89,7 @@ PUT an individual coordination action of an LCM operation occurrence - method no PATCH an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.7 - ... Test title: PATCH an individual coordination action of an LCM operation occurrence + ... Test title: PATCH an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the PATCH method is not allowed to modify an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.4 - ETSI GS NFV-SOL 005 [3] v3.5.1 @@ -102,7 +102,7 @@ PATCH an individual coordination action of an LCM operation occurrence - method DELETE an individual coordination action of an LCM operation occurrence - method not implemented [Documentation] Test ID: 5.3.8.3.8 - ... Test title: DELETE an individual coordination action of an LCM operation occurrence + ... Test title: DELETE an individual coordination action of an LCM operation occurrence - method not implemented ... Test objective: The objective is to test that the DELETE method is not allowed to remove an individual coordination action ... Pre-conditions: One or more LCM Coordinations have been requested ... Reference: Clause 12.4.3.3.5 - ETSI GS NFV-SOL 005 [3] v3.5.1 -- GitLab From 10871d0d93594a0d200279fedb662f3a6c591044 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 22 Oct 2021 18:13:27 +0200 Subject: [PATCH 10/13] Editorial fix --- SOL005/NSLCMCoordination-API/Coordinations.robot | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index 9c33f3c21..47cc92ebd 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -41,7 +41,7 @@ Request a Coordination of an LCM operation occurrence asynchronously Request a Coordination of an LCM operation occurrence - CONFLICT [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence - CONFLICT - ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... + ... Test objective: The objective is to test the failure of a request for the coordination of an LCM operation occurrence ... Pre-conditions: The status of the related LCM opeation occurrence is not "PROCESSING" ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS -- GitLab From a3a8f86a528b08bf564e590586c7e8affe31b62e Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Tue, 26 Oct 2021 09:52:40 +0200 Subject: [PATCH 11/13] Editorial fixes --- SOL005/NSLCMCoordination-API/Coordinations.robot | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index 47cc92ebd..ce1974636 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -55,8 +55,8 @@ Request a Coordination of an LCM operation occurrence - CONFLICT Request a Coordination of an LCM operation occurrence synchronously - Service Unavailable [Documentation] Test ID: 5.3.8.2.4 ... Test title: Request a Coordination of an LCM operation occurrence synchronously - 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 teh request, but can perform it sometime in the future. - ... Pre-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot + ... 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-conditions: The status of the related LCM opeation occurrence is "PROCESSING" but API producer cannot perform immediately the request ... Reference: Clause 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS ... Applicability: none @@ -69,7 +69,7 @@ Request a Coordination of an LCM operation occurrence synchronously - Service Un Request a Coordination of an LCM operation occurrence without authentication [Documentation] Test ID: 5.3.8.2.5 ... Test title: Request a Coordination of an LCM operation occurrence without authentication - ... Test objective: The objective is to test teh failure of the request for the coordination of an LCM operation occurrence without providing an authentication token + ... 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 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 ... Config ID: Config_prod_OSS/BSS -- GitLab From 5b1389cdc29e53480bb71dd03a2388ed1a8faf2e Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Tue, 26 Oct 2021 12:37:01 +0200 Subject: [PATCH 12/13] Added 403 forbidden testcase --- SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot | 11 +++++++++++ .../NSLCMCoordination-API/environment/variables.txt | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot index aa06b36ba..1fbd51d7c 100644 --- a/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot +++ b/SOL005/NSLCMCoordination-API/NSLCMCoordKeywords.robot @@ -57,6 +57,17 @@ Check Postcondition LcmCoord Exists Check HTTP Response Body Json Schema Is LcmCoord +Send Post Request for coordination of an LCM operation occurrence - forbidden + Log Requesting a new coordination task for an LCM Operation occurrence + Set Headers {"Accept": "${ACCEPT_JSON}"} + Set Headers {"Content-Type": "${CONTENT_TYPE_JSON}"} + ${template}= Get File jsons/createLcmCoordRequest.json + ${body}= Format String ${template} nsInstanceId=${nsInstanceId} nsLcmOpOccId=${nsLcmOpOccId} lcmOperationType=${lcmOperationType} coordinationActionName=${coordinationActionName} nsLcmOpOccHref=${nsLcmOpOccHref} nsInstanceHref=${nsInstanceHref} + Run Keyword If ${NFVO_AUTH_USAGE} == 1 Set Headers {"${AUTHORIZATION_HEADER}":"${INSUFFICIENT_AUTHORIZATION_TOKEN}"} + REST.POST ${apiRoot}/${apiName}/${apiMajorVersion}/coordinations ${body} + ${output}= Output response + Set Suite Variable ${response} ${output} + Send Post Request for coordination of an LCM operation occurrence - conflict Log Requesting a new coordination task for an LCM Operation occurrence not in PROCESSING state Set Headers {"Accept": "${ACCEPT_JSON}"} diff --git a/SOL005/NSLCMCoordination-API/environment/variables.txt b/SOL005/NSLCMCoordination-API/environment/variables.txt index 088646c95..ef38b0b48 100644 --- a/SOL005/NSLCMCoordination-API/environment/variables.txt +++ b/SOL005/NSLCMCoordination-API/environment/variables.txt @@ -4,7 +4,8 @@ ${NFVO_PORT} 8081 # Listening port of the NFVO ${NFVO_SCHEMA} https ${AUTHORIZATION_HEADER} Authorization ${AUTHORIZATION_TOKEN} Bearer 0b79bab50daca910b000d4f1a2b675d604257e42 -${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken +${INSUFFICIENT_AUTHORIZATION_TOKEN} Bearer INSUFFICIENT_AUTHORIZATION_TOKEN +#${NEG_AUTHORIZATION_TOKEN} Bearer negativetoken ${NFVO_AUTH_USAGE} 1 ${CONTENT_TYPE_JSON} application/json ${ACCEPT_JSON} application/json -- GitLab From 2af2a7c16d8e3497fb48cde844a3f23d2c421d2a Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Tue, 26 Oct 2021 12:49:56 +0200 Subject: [PATCH 13/13] Added 403 forbidden testcase --- SOL005/NSLCMCoordination-API/Coordinations.robot | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/SOL005/NSLCMCoordination-API/Coordinations.robot b/SOL005/NSLCMCoordination-API/Coordinations.robot index ce1974636..fa077cba6 100644 --- a/SOL005/NSLCMCoordination-API/Coordinations.robot +++ b/SOL005/NSLCMCoordination-API/Coordinations.robot @@ -37,7 +37,19 @@ Request a Coordination of an LCM operation occurrence asynchronously Check HTTP Response Status Code Is 202 Check HTTP Response Header Contains Location - +Request a Coordination of an LCM operation occurrence - FORBIDDEN + [Documentation] Test ID: 5.3.8.2.3 + ... Test title: Request a 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-conditions: 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 12.4.2.3.1 - ETSI GS NFV-SOL 005 [3] v3.5.1 + ... Config ID: Config_prod_OSS/BSS + ... Applicability: none + ... Post-Conditions: none + Send Post Request for coordination of an LCM operation occurrence - forbidden + Check HTTP Response Status Code Is 403 + Check HTTP Response Body Json Schema Is ProblemDetails + Request a Coordination of an LCM operation occurrence - CONFLICT [Documentation] Test ID: 5.3.8.2.3 ... Test title: Request a Coordination of an LCM operation occurrence - CONFLICT -- GitLab