diff options
Diffstat (limited to 'tests/vfc/nfvo-catalog')
-rw-r--r-- | tests/vfc/nfvo-catalog/IndividualNSDescriptor.robot | 66 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/IndividualSubscription.robot | 80 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/IndividualVNFPackage.robot | 68 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/NSDescriptors.robot | 74 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/PNFDescriptors.robot | 74 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/Subscriptions.robot | 87 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/VNFPackageContent.robot | 97 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/VNFPackages.robot | 74 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/files/vgw.csar | bin | 0 -> 23182 bytes | |||
-rw-r--r-- | tests/vfc/nfvo-catalog/jsons/CreateNsdInfoRequest.json | 3 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json | 3 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/jsons/CreateVnfPkgInfoRequest.json | 3 | ||||
-rw-r--r-- | tests/vfc/nfvo-catalog/test.robot | 77 |
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 Binary files differnew file mode 100644 index 00000000..79e0d201 --- /dev/null +++ b/tests/vfc/nfvo-catalog/files/vgw.csar 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']} |