Add csit case for VNF Packages
Issue-ID: INT-1015
Signed-off-by: Olivia.Zhan <zhan.jie1@zte.com.cn>
Change-Id: Ic7e8718f037d11bf7d1ea806e16519e6cfa99d46
diff --git a/tests/vfc/nfvo-catalog/VNFPackages.robot b/tests/vfc/nfvo-catalog/VNFPackages.robot
new file mode 100644
index 0000000..52e5004
--- /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}