aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vfc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vfc')
-rw-r--r--tests/vfc/nfvo-catalog/IndividualNSDescriptor.robot66
-rw-r--r--tests/vfc/nfvo-catalog/IndividualSubscription.robot80
-rw-r--r--tests/vfc/nfvo-catalog/IndividualVNFPackage.robot68
-rw-r--r--tests/vfc/nfvo-catalog/NSDescriptors.robot74
-rw-r--r--tests/vfc/nfvo-catalog/PNFDescriptors.robot74
-rw-r--r--tests/vfc/nfvo-catalog/Subscriptions.robot87
-rw-r--r--tests/vfc/nfvo-catalog/VNFPackageContent.robot97
-rw-r--r--tests/vfc/nfvo-catalog/VNFPackages.robot74
-rw-r--r--tests/vfc/nfvo-catalog/files/vgw.csarbin0 -> 23182 bytes
-rw-r--r--tests/vfc/nfvo-catalog/jsons/CreateNsdInfoRequest.json3
-rw-r--r--tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json3
-rw-r--r--tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json3
-rw-r--r--tests/vfc/nfvo-catalog/test.robot77
13 files changed, 657 insertions, 49 deletions
diff --git a/tests/vfc/nfvo-catalog/IndividualNSDescriptor.robot b/tests/vfc/nfvo-catalog/IndividualNSDescriptor.robot
new file mode 100644
index 00000000..4c1e5b7d
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/IndividualNSDescriptor.robot
@@ -0,0 +1,66 @@
+*** Settings ***
+Resource ../../common.robot
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port} 8806
+${ns_descriptors_url} /api/nsd/v1/ns_descriptors
+
+#json files
+${request_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreateNsdInfoRequest.json
+
+#global variables
+${nsdId}
+
+*** Test Cases ***
+Create new Network Service Descriptor Resource
+ Log Create new Network Service Descriptor Resource
+ [Documentation] The objective is to test the creation of a new Create new Network Service Descriptor resource
+ ${json_value}= json_from_file ${request_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 ${ns_descriptors_url} ${json_string}
+ Should Be Equal As Strings 201 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings CREATED ${response_json['nsdOnboardingState']}
+ ${nsdId}= Convert To String ${response_json['id']}
+ Set Global Variable ${nsdId}
+
+GET Individual Network Service Descriptor Information
+ Log GET Individual Network Service Descriptor Information
+ [Documentation] The objective is to test the retrieval of an individual Network Service Descriptor information
+ ${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 ${ns_descriptors_url}/${nsdId}
+ Should Be Equal As Strings 200 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings ${nsdId} ${response_json['id']}
+
+POST Individual Network Service Descriptor - Method not implemented
+ Log POST Individual Network Service Descriptor - Method not implemented
+ [Documentation] The objective is to test that POST method is not allowed to create a new Network Service Descriptor
+ ${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 ${ns_descriptors_url}/${nsdId}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+PUT Individual Network Service Descriptor - Method not implemented
+ Log PUT Individual Network Service Descriptor - Method not implemented
+ [Documentation] The objective is to test that PUT method is not allowed to modify a new Network Service Descriptor
+ ${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 ${ns_descriptors_url}/${nsdId}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE Network Service Descriptor
+ Log DELETE Network Service Descriptor
+ ${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 ${ns_descriptors_url}/${nsdId}
+ Should Be Equal As Strings 204 ${resp.status_code}
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/IndividualVNFPackage.robot b/tests/vfc/nfvo-catalog/IndividualVNFPackage.robot
new file mode 100644
index 00000000..4c35a39e
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/IndividualVNFPackage.robot
@@ -0,0 +1,68 @@
+*** Settings ***
+Resource ../../common.robot
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port} 8806
+${vnf_packages_url} /api/vnfpkgm/v1/vnf_packages
+
+#json files
+${request_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
+
+
+#global variables
+${packageId}
+
+*** Test Cases ***
+Create new VNF Package Resource for pre-condition
+ Log Create new VNF Package Resource for pre-condition
+ ${json_value}= json_from_file ${request_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 ${vnf_packages_url} ${json_string}
+ Should Be Equal As Strings 201 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings CREATED ${response_json['onboardingState']}
+ ${packageId}= Convert To String ${response_json['id']}
+ Set Global Variable ${packageId}
+
+GET Individual VNF Package
+ Log GET Individual VNF Package
+ [Documentation] The objective is to test the retrieval of an individual VNF package information
+ ${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 ${vnf_packages_url}/${packageId}
+ Should Be Equal As Strings 200 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings ${packageId} ${response_json['id']}
+ Should Be Equal As Strings DISABLED ${response_json['operationalState']}
+
+PUT Individual VNF Package - Method not implemented
+ Log PUT Individual VNF Package - Method not implemented
+ [Documentation] The objective is to test that PUT method is not allowed to modify a VNF Package
+ ${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 ${vnf_packages_url}/${packageId}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+POST Individual VNF Package - Method not implemented
+ Log POST Individual VNF Package - Method not implemented
+ [Documentation] The objective is to test that POST method is not allowed to create new VNF Package
+ ${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 ${vnf_packages_url}/${packageId}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE Individual VNF Package
+ Log DELETE Individual VNF Package
+ [Documentation] The objective is to test the deletion of an individual VNF Package
+ ${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 ${vnf_packages_url}/${packageId}
+ Should Be Equal As Strings 204 ${resp.status_code}
diff --git a/tests/vfc/nfvo-catalog/NSDescriptors.robot b/tests/vfc/nfvo-catalog/NSDescriptors.robot
new file mode 100644
index 00000000..a76f7869
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/NSDescriptors.robot
@@ -0,0 +1,74 @@
+*** Settings ***
+Resource ../../common.robot
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port} 8806
+${ns_descriptors_url} /api/nsd/v1/ns_descriptors
+
+#json files
+${request_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreateNsdInfoRequest.json
+
+#global variables
+${nsdId}
+
+*** Test Cases ***
+Create new Network Service Descriptor Resource
+ Log Create new Network Service Descriptor Resource
+ [Documentation] The objective is to test the creation of a new Create new Network Service Descriptor resource
+ ${json_value}= json_from_file ${request_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 ${ns_descriptors_url} ${json_string}
+ Should Be Equal As Strings 201 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings CREATED ${response_json['nsdOnboardingState']}
+ ${nsdId}= Convert To String ${response_json['id']}
+ Set Global Variable ${nsdId}
+
+GET all Network Service Descriptors Information
+ Log GET all Network Service Descriptors Information
+ [Documentation] The objective is to test the retrieval of all the Network Service Descriptors information
+ ${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 ${ns_descriptors_url}
+ Should Be Equal As Strings 200 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings ${nsdId} ${response_json[0]['id']}
+
+PUT all Network Service Descriptors - Method not implemented
+ Log PUT all Network Service Descriptors - Method not implemented
+ [Documentation] The objective is to test that PUT method is not allowed to modify existing Network Service Descriptors
+ ${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 ${ns_descriptors_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+PATCH all Network Service Descriptors - Method not implemented
+ Log PATCH all Network Service Descriptors - Method not implemented
+ [Documentation] The objective is to test that PATCH method is not allowed to update existing Network Service Descriptors
+ ${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 ${ns_descriptors_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE all Network Service Descriptors - Method not implemented
+ Log DELETE all Network Service Descriptors - Method not implemented
+ [Documentation] The objective is to test that DELETE method is not allowed to delete existing Network Service Descriptors
+ ${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 ${ns_descriptors_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE Network Service Descriptor
+ Log DELETE Network Service Descriptor
+ ${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 ${ns_descriptors_url}/${nsdId}
+ Should Be Equal As Strings 204 ${resp.status_code}
diff --git a/tests/vfc/nfvo-catalog/PNFDescriptors.robot b/tests/vfc/nfvo-catalog/PNFDescriptors.robot
new file mode 100644
index 00000000..4c5e79e9
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/PNFDescriptors.robot
@@ -0,0 +1,74 @@
+*** Settings ***
+Resource ../../common.robot
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port} 8806
+${pnf_descriptors_url} /api/nsd/v1/pnf_descriptors
+
+#json files
+${request_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json
+
+#global variables
+${pnfdId}
+
+*** Test Cases ***
+Create new PNF Descriptor Resource
+ Log Create new PNF Descriptor Resource
+ [Documentation] The objective is to test the creation of a new Create new PNF Descriptor resource
+ ${json_value}= json_from_file ${request_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 ${pnf_descriptors_url} ${json_string}
+ Should Be Equal As Strings 201 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings CREATED ${response_json['pnfdOnboardingState']}
+ ${pnfdId}= Convert To String ${response_json['id']}
+ Set Global Variable ${pnfdId}
+
+GET all PNF Descriptors Information
+ Log GET all PNF Descriptors Information
+ [Documentation] The objective is to test the retrieval of all the PNF Descriptors information
+ ${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 ${pnf_descriptors_url}
+ Should Be Equal As Strings 200 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings ${pnfdId} ${response_json[0]['id']}
+
+PUT all PNF Descriptors - Method not implemented
+ Log PUT all PNF Descriptors - Method not implemented
+ [Documentation] The objective is to test that PUT method is not allowed to modify existing PNF Descriptors
+ ${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 ${pnf_descriptors_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+PATCH all PNF Descriptors - Method not implemented
+ Log PATCH all PNF Descriptors - Method not implemented
+ [Documentation] The objective is to test that PATCH method is not allowed to update existing PNF Descriptors
+ ${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 ${pnf_descriptors_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE all PNF Descriptors - Method not implemented
+ Log DELETE all PNF Descriptors - Method not implemented
+ [Documentation] The objective is to test that DELETE method is not allowed to delete existing PNF Descriptors
+ ${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 ${pnf_descriptors_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE PNF Descriptor
+ Log DELETE PNF Descriptor
+ ${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 ${pnf_descriptors_url}/${pnfdId}
+ Should Be Equal As Strings 204 ${resp.status_code}
diff --git a/tests/vfc/nfvo-catalog/Subscriptions.robot b/tests/vfc/nfvo-catalog/Subscriptions.robot
new file mode 100644
index 00000000..a1d00221
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/Subscriptions.robot
@@ -0,0 +1,87 @@
+*** 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
+ 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
+ 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}
+
+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}
diff --git a/tests/vfc/nfvo-catalog/VNFPackageContent.robot b/tests/vfc/nfvo-catalog/VNFPackageContent.robot
new file mode 100644
index 00000000..7c794b22
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/VNFPackageContent.robot
@@ -0,0 +1,97 @@
+*** Settings ***
+Resource ../../common.robot
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port} 8806
+${vnf_packages_url} /api/vnfpkgm/v1/vnf_packages
+
+#json files
+${request_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
+${request_csar} ${SCRIPTS}/../tests/vfc/nfvo-catalog/files/vgw.csar
+
+
+#global variables
+${packageId}
+
+*** Test Cases ***
+Create new VNF Package Resource for pre-condition
+ Log Create new VNF Package Resource for pre-condition
+ ${json_value}= json_from_file ${request_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 ${vnf_packages_url} ${json_string}
+ Should Be Equal As Strings 201 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings CREATED ${response_json['onboardingState']}
+ ${packageId}= Convert To String ${response_json['id']}
+ Set Global Variable ${packageId}
+
+Upload VNF Package Content
+ Log Upload VNF Package Content
+ [Documentation] The objective is to test the upload of a VNF Package Content in Zip format.
+ Create Session web_session http://${CATALOG_IP}:${catalog_port}
+ ${headers} Create Dictionary Accept=application/json
+ &{fileParts}= Create Dictionary
+ Create Multi Part ${fileParts} file ${request_csar}
+ Log ${fileParts}
+ ${resp}= Put Request web_session ${vnf_packages_url}/${packageId}/package_content files=${fileParts} headers=${headers}
+ Log ${resp.status_code}
+ Should Be Equal As Strings 202 ${resp.status_code}
+ Log Received 202 Accepted as expected
+
+GET Individual VNF Package Content
+ Log GET Individual VNF Package Content
+ [Documentation] The objective is to test the retrieval of an individual VNF package content
+ ${headers} Create Dictionary Content-Type=application/json
+ Create Session web_session http://${CATALOG_IP}:${catalog_port} headers=${headers}
+ ${resp}= Get Request web_session ${vnf_packages_url}/${packageId}/package_content
+ Should Be Equal As Strings 200 ${resp.status_code}
+
+Check Postcondition
+ Log Check Postcondition
+ ${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 ${vnf_packages_url}/${packageId}
+ Should Be Equal As Strings 200 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings ONBOARDED ${response_json['onboardingState']}
+
+POST Individual VNF Package Content - Method not implemented
+ Log POST Individual VNF Package Content - Method not implemented
+ [Documentation] The objective is to test that POST method is not allowed to create new VNF Package content
+ ${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 ${vnf_packages_url}/${packageId}/package_content
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+PATCH Individual VNF Package Content - Method not implemented
+ Log PATCH Individual VNF Package Content - Method not implemented
+ [Documentation] The objective is to test that PATCH method is not allowed to update a VNF Package content
+ ${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 ${vnf_packages_url}/${packageId}/package_content
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE Individual VNF Package Content - Method not implemented
+ Log DELETE Individual VNF Package Content - Method not implemented
+ [Documentation] The objective is to test that DELETE method is not allowed to delete a VNF Package content
+ ${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 ${vnf_packages_url}/${packageId}/package_content
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+*** Keywords ***
+Create Multi Part
+ [Arguments] ${addTo} ${partName} ${filePath} ${contentType}=${None} ${content}=${None}
+ ${fileData}= Run Keyword If '''${content}''' != '''${None}''' Set Variable ${content}
+ ... ELSE Get Binary File ${filePath}
+ ${fileDir} ${fileName}= Split Path ${filePath}
+ ${partData}= Create List ${fileName} ${fileData} ${contentType}
+ Set To Dictionary ${addTo} ${partName}=${partData} \ No newline at end of file
diff --git a/tests/vfc/nfvo-catalog/VNFPackages.robot b/tests/vfc/nfvo-catalog/VNFPackages.robot
new file mode 100644
index 00000000..52e50045
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/VNFPackages.robot
@@ -0,0 +1,74 @@
+*** Settings ***
+Resource ../../common.robot
+Library Collections
+Library RequestsLibrary
+Library OperatingSystem
+Library json
+Library HttpLibrary.HTTP
+
+*** Variables ***
+${catalog_port} 8806
+${vnf_packages_url} /api/vnfpkgm/v1/vnf_packages
+
+#json files
+${request_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
+
+#global variables
+${packageId}
+
+*** Test Cases ***
+Create new VNF Package Resource
+ Log Create new VNF Package Resource
+ [Documentation] The objective is to test the creation of a new VNF Package Resource
+ ${json_value}= json_from_file ${request_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 ${vnf_packages_url} ${json_string}
+ Should Be Equal As Strings 201 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings CREATED ${response_json['onboardingState']}
+ ${packageId}= Convert To String ${response_json['id']}
+ Set Global Variable ${packageId}
+
+GET all VNF Packages
+ Log GET all VNF Packages
+ [Documentation] The objective is to test the retrieval of all the available VNF packages information
+ ${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 ${vnf_packages_url}
+ Should Be Equal As Strings 200 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings ${packageId} ${response_json[0]['id']}
+
+PUT all VNF Packages - Method not implemented
+ Log PUT all VNF Packages - Method not implemented
+ [Documentation] The objective is to test that PUT method is not allowed to modify existing VNF Packages
+ ${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 ${vnf_packages_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+PATCH all VNF Packages - Method not implemented
+ Log PATCH all VNF Packages - Method not implemented
+ [Documentation] The objective is to test that PATCH method is not allowed to update existing VNF Packages
+ ${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 ${vnf_packages_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE all VNF Packages - Method not implemented
+ Log DELETE all VNF Packages - Method not implemented
+ [Documentation] The objective is to test that DELETE method is not allowed to delete existing VNF Packages
+ ${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 ${vnf_packages_url}
+ Should Be Equal As Strings 405 ${resp.status_code}
+
+DELETE VNF Package
+ Log DELETE VNF Package
+ ${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 ${vnf_packages_url}/${packageId}
+ Should Be Equal As Strings 204 ${resp.status_code}
diff --git a/tests/vfc/nfvo-catalog/files/vgw.csar b/tests/vfc/nfvo-catalog/files/vgw.csar
new file mode 100644
index 00000000..79e0d201
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/files/vgw.csar
Binary files differ
diff --git a/tests/vfc/nfvo-catalog/jsons/CreateNsdInfoRequest.json b/tests/vfc/nfvo-catalog/jsons/CreateNsdInfoRequest.json
new file mode 100644
index 00000000..b3086d7f
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/jsons/CreateNsdInfoRequest.json
@@ -0,0 +1,3 @@
+{
+ "userDefinedData": {}
+} \ No newline at end of file
diff --git a/tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json b/tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json
new file mode 100644
index 00000000..b3086d7f
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json
@@ -0,0 +1,3 @@
+{
+ "userDefinedData": {}
+} \ No newline at end of file
diff --git a/tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json b/tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
new file mode 100644
index 00000000..87845130
--- /dev/null
+++ b/tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json
@@ -0,0 +1,3 @@
+{
+ "userDefinedData": {}
+} \ No newline at end of file
diff --git a/tests/vfc/nfvo-catalog/test.robot b/tests/vfc/nfvo-catalog/test.robot
index af7b8874..1390e9fb 100644
--- a/tests/vfc/nfvo-catalog/test.robot
+++ b/tests/vfc/nfvo-catalog/test.robot
@@ -7,60 +7,39 @@ Library json
Library HttpLibrary.HTTP
*** Variables ***
-@{return_ok_list}= 200 201 202 204
${catalog_port} 8806
-${queryswagger_url} /api/catalog/v1/swagger.json
-${queryVNFPackage_url} /api/catalog/v1/vnfpackages
-${queryNSPackages_url} /api/catalog/v1/nspackages
-${healthcheck_url} /api/catalog/v1/health_check
-${create_subs_url} /api/vnfpkgm/v1/subscriptions
-${delete_subs_url} /api/vnfpkgm/v1/subscriptions
-
-#json files
-${vnf_subscription_json} ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/vnf_subscription.json
-
-#global variables
-${subscriptionId}
+${cataloghealthcheck_url} /api/catalog/v1/health_check
+${vnfpkgmhealthcheck_url} /api/vnfpkgm/v1/health_check
+${nsdhealthcheck_url} /api/nsd/v1/health_check
+${parserhealthcheck_url} /api/parser/v1/health_check
*** Test Cases ***
-GetVNFPackages
- ${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 ${queryVNFPackage_url}
- ${responese_code}= Convert To String ${resp.status_code}
- List Should Contain Value ${return_ok_list} ${responese_code}
-
-CatalogHealthCheckTest
+Check Health Catalog
+ Log Check Health Catalog
[Documentation] check health for catalog by MSB
- ${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 ${healthcheck_url}
- ${responese_code}= Convert To String ${resp.status_code}
- List Should Contain Value ${return_ok_list} ${responese_code}
- ${response_json} json.loads ${resp.content}
- ${health_status}= Convert To String ${response_json['status']}
- Should Be Equal ${health_status} active
+ Check Health ${cataloghealthcheck_url}
-CreateVnfSubscriptionTest
- [Documentation] Create Vnf Subscription function test
- ${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 ${create_subs_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}
+Check Health Vnfpkgm
+ Log Check Health Vnfpkgm
+ [Documentation] check health for Vnfpkgm by MSB
+ Check Health ${vnfpkgmhealthcheck_url}
+
+Check Health Nsd
+ Log Check Health Nsd
+ [Documentation] check health for Nsd by MSB
+ Check Health ${nsdhealthcheck_url}
+
+Check Health Parser
+ Log Check Health Parser
+ [Documentation] check health for Parser by MSB
+ Check Health ${parserhealthcheck_url}
-DeleteVnfSubscriptionTest
- [Documentation] Delete Vnf Subscription function test
+*** Keywords ***
+Check Health
+ [Arguments] ${url}
${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 ${delete_subs_url}/${subscriptionId}
- ${responese_code}= Convert To String ${resp.status_code}
- List Should Contain Value ${return_ok_list} ${responese_code}
+ ${resp}= Get Request web_session ${url}
+ Should Be Equal As Strings 200 ${resp.status_code}
+ ${response_json} json.loads ${resp.content}
+ Should Be Equal As Strings active ${response_json['status']}