From 4881bf309111157deacdc49c60326d2dcfd65016 Mon Sep 17 00:00:00 2001 From: "Olivia.Zhan" Date: Thu, 11 Jul 2019 09:27:06 +0800 Subject: Add csit case for PNF Descriptors Issue-ID: INT-1015 Signed-off-by: Olivia.Zhan Change-Id: I3abe3fcb8094001a1de1f37c92cfcf8f403b2f95 --- plans/vfc-nfvo-catalog/sanity-check/testplan.txt | 1 + tests/vfc/nfvo-catalog/PNFDescriptors.robot | 74 +++++++++++++++++++++ .../nfvo-catalog/jsons/CreatePnfdInfoRequest.json | 3 + tests/vfc/nfvo-catalog/test.robot | 77 ++++++++-------------- 4 files changed, 106 insertions(+), 49 deletions(-) create mode 100644 tests/vfc/nfvo-catalog/PNFDescriptors.robot create mode 100644 tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json diff --git a/plans/vfc-nfvo-catalog/sanity-check/testplan.txt b/plans/vfc-nfvo-catalog/sanity-check/testplan.txt index ad6cad50..ba5d4fcc 100644 --- a/plans/vfc-nfvo-catalog/sanity-check/testplan.txt +++ b/plans/vfc-nfvo-catalog/sanity-check/testplan.txt @@ -6,3 +6,4 @@ vfc/nfvo-catalog/IndividualSubscription.robot vfc/nfvo-catalog/VNFPackages.robot vfc/nfvo-catalog/IndividualVNFPackage.robot vfc/nfvo-catalog/VNFPackageContent.robot +vfc/nfvo-catalog/PNFDescriptors.robot diff --git a/tests/vfc/nfvo-catalog/PNFDescriptors.robot b/tests/vfc/nfvo-catalog/PNFDescriptors.robot new file mode 100644 index 00000000..c4fef131 --- /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 Package + Log DELETE PNF 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 ${pnf_descriptors_url}/${pnfdId} + Should Be Equal As Strings 204 ${resp.status_code} 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/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']} -- cgit 1.2.3-korg