diff --git a/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot new file mode 100644 index 0000000000000000000000000000000000000000..22585149a94d67cae25c454a7d106dcf38c81ad4 --- /dev/null +++ b/SOL009/NFVMANOLogManagement-API/IndividualSubscription.robot @@ -0,0 +1,98 @@ +*** Settings *** +Library JSONSchemaLibrary schemas/ +Resource environment/variables.txt # Generic Parameters +Library REST ${NFVMANO_SCHEMA}://${NFVMANO_HOST}:${NFVMANO_PORT} ssl_verify=false +Library OperatingSystem +Library JSONLibrary +Resource NFVMANOLogManagementKeywords.robot + +*** Test Cases *** +GET Individual Subscription + [Documentation] Test ID: 8.3.4.6.1 + ... Test title: GET Individual Subscription + ... Test objective: The objective is to test the retrieval of individual subscription and perform a JSON schema and content validation of the returned subscription data structure + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Get Individual Subscription + Check HTTP Response Status Code Is 200 + Check HTTP Response Body Json Schema Is LogmSubscription + Check HTTP Response Body Subscription Identifier matches the requested Subscription + +GET Individual Subscription - invalid resource identifier + [Documentation] Test ID: 8.3.4.6.2 + ... Test title: GET Individual Subscription - invalid resource identifier + ... Test objective: The objective is to test that the retrieval of an individual subscription fails when using an invalid resource identifier + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.2 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + GET individual Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + +DELETE Individual Subscription + [Documentation] Test ID: 8.3.4.6.3 + ... Test title: DELETE Individual Subscription + ... Test objective: The objective is to test the deletion of an individual subscription + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The is not available anymore in the NFV-MANO + Send Delete request for individual Subscription + Check HTTP Response Status Code Is 204 + Check Postcondition Subscription is Deleted + +DELETE Individual Subscription - invalid resource identifier + [Documentation] Test ID: 8.3.4.6.4 + ... Test title: DELETE Individual Subscription - invalid resource identifier + ... Test objective: The objective is to test that the deletion of an individual subscription fails when using an invalid resource identifier + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.5 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: none + Send Delete request for individual Subscription with invalid resource identifier + Check HTTP Response Status Code Is 404 + +POST Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.4.6.5 + ... Test title: POST Individual Subscription - Method not implemented + ... Test objective: The objective is to test that POST method is not allowed to create a new Subscription + ... Pre-conditions: + ... Reference: clause 8.5.8.3.1 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The VNF Performance Subscription is not created on the NFV-MANO + Send Post request for individual Subscription + Check HTTP Response Status Code Is 405 + Check Postcondition Subscription is not Created + +PUT Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.4.6.6 + ... Test title: PUT Individual Subscription - Method not implemented + ... Test objective: The objective is to test that PUT method is not allowed to update an existing subscription + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.3 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The subscription is not modified by the operation + Send Put request for individual Subscription + Check HTTP Response Status Code Is 405 + Check Postcondition Subscription is Unmodified (Implicit) + +PATCH Individual Subscription - Method not implemented + [Documentation] Test ID: 8.3.4.6.7 + ... Test title: PATCH Individual Subscription - Method not implemented + ... Test objective: The objective is to test that PATCH method is not allowed to modify an existing subscription + ... Pre-conditions: At least one subscription is available in the NFV-MANO. + ... Reference: clause 8.5.8.3.4 - ETSI GS NFV-SOL 009 [5] V3.3.1 + ... Config ID: Config_prod_NFV-MANO + ... Applicability: none + ... Post-Conditions: The subscription is not modified by the operation + Send Patch request for individual Threshold + Check HTTP Response Status Code Is 405 + Check Postcondition Subscription is Unmodified (Implicit) \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot index d6efb3eccd24ce5ef18460573a43bc8c7f9eee14..198f96f6e460ec6ab7d180827190d0850e707b1d 100644 --- a/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot +++ b/SOL009/NFVMANOLogManagement-API/NFVMANOLogManagementKeywords.robot @@ -485,4 +485,83 @@ Send Delete Request for Subscriptions Check Postcondition Subscriptions Exists Log Checking that subscriptions exists Get all Subscriptions - Check HTTP Response Status Code Is 200 \ No newline at end of file + Check HTTP Response Status Code Is 200 + +Get Individual Subscription + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check HTTP Response Body Subscription Identifier matches the requested Subscription + Log Trying to check response ID + Should Be Equal As Strings ${response['body']['id']} ${subscriptionId} + Log Subscription identifier as expected + +GET individual Subscription with invalid resource identifier + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Send Delete request for individual Subscription + Set headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable ${response} ${output} + +Check Postcondition Subscription is Deleted + Log Check Postcondition Subscription is deleted + GET individual Subscription + Check HTTP Response Status Code Is 404 + +Send Delete request for individual Subscription with invalid resource identifier + Log Trying to delete a subscription in the VNFM with invalid id + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + DELETE ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${erroneousSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Post request for individual Subscription + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + POST ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Put request for individual Subscription + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PUT ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Send Patch request for individual Threshold + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${origOutput}= Output response + Set Suite Variable ${origResponse} ${origOutput} + PATCH ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${subscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + +Check Postcondition Subscription is Unmodified (Implicit) + Log Check postconidtion subscription not modified + GET individual Subscription + Log Check Response matches original Subscription + ${subscription}= evaluate json.loads('''${response['body']}''') json + Should Be Equal As Strings ${origResponse['body']['id']} ${subscription.id} + Should Be Equal As Strings ${origResponse['body']['callbackUri']} ${subscription.callbackUri} + +Check Postcondition Subscription is not Created + Log Trying to get a new subscription + Set Headers {"Accept": "${ACCEPT_JSON}"} + Run Keyword If ${AUTH_USAGE} == 1 Set Headers {"Authorization": "${AUTHORIZATION}"} + GET ${apiRoot}/${apiName}/${apiMajorVersion}/subscriptions/${newSubscriptionId} + ${output}= Output response + Set Suite Variable @{response} ${output} + Check HTTP Response Status Code Is 404 \ No newline at end of file diff --git a/SOL009/NFVMANOLogManagement-API/environment/variables.txt b/SOL009/NFVMANOLogManagement-API/environment/variables.txt index dd59dda33de19abd67c2e0d76317f5a2bfc2d192..27017b9563bb79631c1bccc494c1c1922e970212 100644 --- a/SOL009/NFVMANOLogManagement-API/environment/variables.txt +++ b/SOL009/NFVMANOLogManagement-API/environment/variables.txt @@ -53,3 +53,6 @@ ${SYNC_MODE} 1 ${retry} 2 min ${polling} 10 sec +${subscriptionId} 17563e75-0e14-4bd7-94b4-6bbb869c79aa +${erroneousSubscriptionId} erroneousSubscriptionId +${newSubscriptionId} newSubsciptionId \ No newline at end of file