Add csit case for VNF Package Subscriptions and Individual VNF Package Subscription 67/91067/3
authorOlivia.Zhan <zhan.jie1@zte.com.cn>
Tue, 9 Jul 2019 07:25:30 +0000 (15:25 +0800)
committerOlivia Zhan <zhan.jie1@zte.com.cn>
Tue, 9 Jul 2019 08:18:00 +0000 (08:18 +0000)
Issue-ID: INT-1015
Signed-off-by: Olivia.Zhan <zhan.jie1@zte.com.cn>
Change-Id: I7b1c7c06ecf535bf9f875efbeaafb2dd70d0a333

plans/vfc-nfvo-catalog/sanity-check/testplan.txt
tests/vfc/nfvo-catalog/IndividualSubscription.robot [new file with mode: 0644]
tests/vfc/nfvo-catalog/Subscriptions.robot

index cce75ed..f8a1656 100644 (file)
@@ -2,3 +2,4 @@
 # Place the suites in run order.
 vfc/nfvo-catalog/test.robot
 vfc/nfvo-catalog/Subscriptions.robot
 # Place the suites in run order.
 vfc/nfvo-catalog/test.robot
 vfc/nfvo-catalog/Subscriptions.robot
+vfc/nfvo-catalog/IndividualSubscription.robot
diff --git a/tests/vfc/nfvo-catalog/IndividualSubscription.robot b/tests/vfc/nfvo-catalog/IndividualSubscription.robot
new file mode 100644 (file)
index 0000000..342ce3d
--- /dev/null
@@ -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}
index b87c20f..a1d0022 100644 (file)
@@ -18,9 +18,9 @@ ${vnf_subscription_json}    ${SCRIPTS}/../tests/vfc/nfvo-catalog/jsons/vnf_subsc
 ${subscriptionId}
 
 *** Test Cases ***
 ${subscriptionId}
 
 *** Test Cases ***
-POST Subscription
-    Log    Trying to create a new subscription
-    [Documentation]    Create Vnf Subscription function test
+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
     ${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
@@ -35,11 +35,53 @@ POST Subscription
     ${subscriptionId}=    Convert To String      ${response_json['id']}
     Set Global Variable     ${subscriptionId}
 
     ${subscriptionId}=    Convert To String      ${response_json['id']}
     Set Global Variable     ${subscriptionId}
 
-DeleteVnfSubscriptionTest
-    [Documentation]    Delete Vnf Subscription function test
+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}
     ${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}
-