summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plans/vfc-nfvo-catalog/sanity-check/testplan.txt1
-rw-r--r--tests/vfc/nfvo-catalog/IndividualSubscription.robot80
-rw-r--r--tests/vfc/nfvo-catalog/Subscriptions.robot54
3 files changed, 129 insertions, 6 deletions
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}
-