aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vfc/nfvo-catalog
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vfc/nfvo-catalog')
-rw-r--r--tests/vfc/nfvo-catalog/IndividualVNFPackage.robot68
-rw-r--r--tests/vfc/nfvo-catalog/VNFPackageContent.robot97
-rw-r--r--tests/vfc/nfvo-catalog/files/vgw.csarbin0 -> 23182 bytes
3 files changed, 165 insertions, 0 deletions
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/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/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