Add csit case for PNF Descriptors 06/91206/2
authorOlivia.Zhan <zhan.jie1@zte.com.cn>
Thu, 11 Jul 2019 01:27:06 +0000 (09:27 +0800)
committerOlivia Zhan <zhan.jie1@zte.com.cn>
Thu, 11 Jul 2019 01:28:35 +0000 (01:28 +0000)
Issue-ID: INT-1015
Signed-off-by: Olivia.Zhan <zhan.jie1@zte.com.cn>
Change-Id: I3abe3fcb8094001a1de1f37c92cfcf8f403b2f95

plans/vfc-nfvo-catalog/sanity-check/testplan.txt
tests/vfc/nfvo-catalog/PNFDescriptors.robot [new file with mode: 0644]
tests/vfc/nfvo-catalog/jsons/CreatePnfdInfoRequest.json [new file with mode: 0644]
tests/vfc/nfvo-catalog/test.robot

index ad6cad5..ba5d4fc 100644 (file)
@@ -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 (file)
index 0000000..c4fef13
--- /dev/null
@@ -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 (file)
index 0000000..b3086d7
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "userDefinedData": {}
+}
\ No newline at end of file
index af7b887..1390e9f 100644 (file)
@@ -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']}