From 1e0cd76fa5fb5f43d2b404083a0622eaf1e7b9f5 Mon Sep 17 00:00:00 2001 From: "Olivia.Zhan" Date: Tue, 9 Jul 2019 15:25:30 +0800 Subject: [PATCH] Add csit case for VNF Package Subscriptions and Individual VNF Package Subscription Issue-ID: INT-1015 Signed-off-by: Olivia.Zhan Change-Id: I7b1c7c06ecf535bf9f875efbeaafb2dd70d0a333 --- plans/vfc-nfvo-catalog/sanity-check/testplan.txt | 1 + .../vfc/nfvo-catalog/IndividualSubscription.robot | 80 ++++++++++++++++++++++ tests/vfc/nfvo-catalog/Subscriptions.robot | 54 +++++++++++++-- 3 files changed, 129 insertions(+), 6 deletions(-) create mode 100644 tests/vfc/nfvo-catalog/IndividualSubscription.robot diff --git a/plans/vfc-nfvo-catalog/sanity-check/testplan.txt b/plans/vfc-nfvo-catalog/sanity-check/testplan.txt index cce75ed0..f8a1656c 100644 --- a/plans/vfc-nfvo-catalog/sanity-check/testplan.txt +++ b/plans/vfc-nfvo-catalog/sanity-check/testplan.txt @@ -2,3 +2,4 @@ # Place the suites in run order. vfc/nfvo-catalog/test.robot vfc/nfvo-catalog/Subscriptions.robot +vfc/nfvo-catalog/IndividualSubscription.robot diff --git a/tests/vfc/nfvo-catalog/IndividualSubscription.robot b/tests/vfc/nfvo-catalog/IndividualSubscription.robot new file mode 100644 index 00000000..342ce3d1 --- /dev/null +++ b/tests/vfc/nfvo-catalog/IndividualSubscription.robot @@ -0,0 +1,80 @@ +*** Settings *** +Resource ../../common.robot +Library Collections +Library RequestsLibrary +Library OperatingSystem +Library json +Library HttpLibrary.HTTP + +*** Variables *** +@{return_ok_list}= 200 201 202 204 +${catalog_port} 8806 +${subscriptions_url} /api/vnfpkgm/v1/subscriptions + +#json files +${vnf_subscription_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/vnf_subscription.json + +#global variables +${subscriptionId} + +*** Test Cases *** +Create new VNF Package subscription for pre-condition + Log Create new VNF Package subscription for pre-condition + ${json_value}= json_from_file ${vnf_subscription_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${subscriptions_url} ${json_string} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} + ${response_json} json.loads ${resp.content} + ${callback_uri}= Convert To String ${response_json['callbackUri']} + Should Be Equal ${callback_uri} http://127.0.0.1:${catalog_port}/api/catalog/v1/callback_sample + ${subscriptionId}= Convert To String ${response_json['id']} + Set Global Variable ${subscriptionId} + +GET Individual VNF Package Subscription + Log GET Individual VNF Package Subscription + [Documentation] The objective is to test the retrieval of individual VNF package subscription + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Get Request web_session ${subscriptions_url}/${subscriptionId} + Should Be Equal As Strings 200 ${resp.status_code} + ${response_json} json.loads ${resp.content} + ${callback_uri}= Convert To String ${response_json['callbackUri']} + Should Be Equal ${callback_uri} http://127.0.0.1:${catalog_port}/api/catalog/v1/callback_sample + Should Be Equal As Strings ${subscriptionId} ${response_json['id']} + +POST Individual VNF Package Subscription - Method not implemented + Log POST Individual VNF Package Subscription - Method not implemented + [Documentation] The objective is to test that POST method is not allowed to create a new VNF Package Subscription + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Post Request web_session ${subscriptions_url}/${subscriptionId} + Should Be Equal As Strings 405 ${resp.status_code} + +PUT Individual VNF Package Subscription - Method not implemented + Log PUT Individual VNF Package Subscription - Method not implemented + [Documentation] The objective is to test that PUT method is not allowed to update an existing VNF Package subscription + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Put Request web_session ${subscriptions_url}/${subscriptionId} + Should Be Equal As Strings 405 ${resp.status_code} + +PATCH Individual VNF Package Subscription - Method not implemented + Log PATCH Individual VNF Package Subscription - Method not implemented + [Documentation] The objective is to test that PATCH method is not allowed to modify an existing VNF Package subscription + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Patch Request web_session ${subscriptions_url}/${subscriptionId} + Should Be Equal As Strings 405 ${resp.status_code} + +DELETE Individual VNF Package Subscription + Log DELETE Individual VNF Package Subscription + [Documentation] The objective is to test the deletion of an individual VNF package subscription + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Delete Request web_session ${subscriptions_url}/${subscriptionId} + ${responese_code}= Convert To String ${resp.status_code} + List Should Contain Value ${return_ok_list} ${responese_code} diff --git a/tests/vfc/nfvo-catalog/Subscriptions.robot b/tests/vfc/nfvo-catalog/Subscriptions.robot index b87c20f9..a1d00221 100644 --- a/tests/vfc/nfvo-catalog/Subscriptions.robot +++ b/tests/vfc/nfvo-catalog/Subscriptions.robot @@ -18,9 +18,9 @@ ${vnf_subscription_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/vnf_subsc ${subscriptionId} *** Test Cases *** -POST Subscription - Log Trying to create a new subscription - [Documentation] Create Vnf Subscription function test +Create new VNF Package subscription + Log Create new VNF Package subscription + [Documentation] The objective is to test the creation of a new VNF package subscription ${json_value}= json_from_file ${vnf_subscription_json} ${json_string}= string_from_json ${json_value} ${headers} Create Dictionary Content-Type=application/json Accept=application/json @@ -35,11 +35,53 @@ POST Subscription ${subscriptionId}= Convert To String ${response_json['id']} Set Global Variable ${subscriptionId} -DeleteVnfSubscriptionTest - [Documentation] Delete Vnf Subscription function test +Create duplicated VNF Package subscription + Log Create duplicated VNF Package subscription + [Documentation] The objective is to test the attempt of a creation of a duplicated VNF package subscription + ${json_value}= json_from_file ${vnf_subscription_json} + ${json_string}= string_from_json ${json_value} + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + Set Request Body ${json_string} + ${resp}= Post Request web_session ${subscriptions_url} ${json_string} + Should Be Equal As Strings 303 ${resp.status_code} + +GET All VNF Package Subscriptions + Log GET All VNF Package Subscriptions + [Documentation] The objective is to test the retrieval of all VNF package subscriptions + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Get Request web_session ${subscriptions_url} + Should Be Equal As Strings 200 ${resp.status_code} + +PUT VNF Package Subscriptions - Method not implemented + Log PUT VNF Package Subscriptions - Method not implemented + [Documentation] The objective is to test that PUT method is not allowed to modify VNF package subscriptions + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Put Request web_session ${subscriptions_url} + Should Be Equal As Strings 405 ${resp.status_code} + +PATCH VNF Package Subscriptions - Method not implemented + Log PATCH VNF Package Subscriptions - Method not implemented + [Documentation] The objective is to test that PATCH method is not allowed to update VNF package subscriptions + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Patch Request web_session ${subscriptions_url} + Should Be Equal As Strings 405 ${resp.status_code} + +DELETE VNF Package Subscriptions - Method not implemented + Log DELETE VNF Package Subscriptions - Method not implemented + [Documentation] The objective is to test that DELETE method is not allowed to delete VNF package subscriptions + ${headers} Create Dictionary Content-Type=application/json Accept=application/json + Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} + ${resp}= Delete Request web_session ${subscriptions_url} + Should Be Equal As Strings 405 ${resp.status_code} + +DELETE VNF Package Subscription + Log DELETE VNF Package Subscription ${headers} Create Dictionary Content-Type=application/json Accept=application/json Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers} ${resp}= Delete Request web_session ${subscriptions_url}/${subscriptionId} ${responese_code}= Convert To String ${resp.status_code} List Should Contain Value ${return_ok_list} ${responese_code} - -- 2.16.6