blob: c0e32d7fec1cd420e880496f9477b17f6600aae6 [file] [log] [blame]
Suchitra Vemurida8492a2017-06-15 14:47:24 -07001*** Settings ***
Suchitra Vemuri465d46a2018-03-02 00:04:47 -08002Documentation Test suite for Instance creation for multiple subscribers with multiple "s_tag" - Chameleon APIs
Suchitra Vemurida8492a2017-06-15 14:47:24 -07003Suite Setup Read InputFile
Suchitra Vemuri465d46a2018-03-02 00:04:47 -08004Test Template Verify Multiple Instance Creation Functionality
Suchitra Vemurida8492a2017-06-15 14:47:24 -07005Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
10Library ../Framework/utils/utils.py
11Library ../Framework/restApi.py
12
13*** Variables ***
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080014${PATHFILE} ${CURDIR}/data/Ch_Subscriber_MultiInstance.json
Suchitra Vemurida8492a2017-06-15 14:47:24 -070015
16*** Test Cases *** TYPE LISTINDEX
17Test Create Subscriber-1
18 SUBSCRIBER_CREATE 0
19
20Test Create Subscriber-2
21 SUBSCRIBER_CREATE 1
22
23Test Create Subscriber-3
24 SUBSCRIBER_CREATE 2
25
Suchitra Vemurida8492a2017-06-15 14:47:24 -070026Test Instance creation validation
27 INSTANCE_VALIDATE 0
28
29*** Keywords ***
30Read InputFile
31 ${subscriberList} = utils.jsonToList ${PATHFILE} SubscriberInfo
32 Set Suite Variable ${slist} ${subscriberList}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070033 @{instanceList}= Create List
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070034 ${Subscriber_Id}= Set Variable
Suchitra Vemurida8492a2017-06-15 14:47:24 -070035 Set Suite Variable @{instanceList}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070036 Set Suite Variable ${Subscriber_Id}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070037
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080038Verify Multiple Instance Creation Functionality
Suchitra Vemurida8492a2017-06-15 14:47:24 -070039 [Arguments] ${type} ${listIndex}
40 Run Keyword If "${type}" == "SUBSCRIBER_CREATE" Test Post Subscriber Create ${listIndex}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070041 Run Keyword If "${type}" == "INSTANCE_VALIDATE" Test Instance Validation ${listIndex}
42
43Test Post Subscriber Create
44 [Arguments] ${listIndex}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080045 [Documentation] Test posts subscribers and validates the end-end functionality until instance creations
46 # Read input from data files and post subscriber
Suchitra Vemurida8492a2017-06-15 14:47:24 -070047 ${subscriberList} = Get Variable Value ${slist}
48 ${subscriberDict}= utils.listToDict ${subscriberList} ${listIndex}
49 ${api_result}= restApi.ApiPost VOLT_SUBSCRIBER ${subscriberDict}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080050 Sleep 30
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070051 ${service_specific_id}= utils.getFieldValueFromDict ${subscriberDict} service_specific_id
52 ${json_result}= restApi.ApiGet VOLT_SUBSCRIBER
53 Log ${json_result}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080054 # Verifying GET operation after POST and validating the contents posted match the input data
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070055 ${json_result_list}= Get From Dictionary ${json_result} items
56 ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} service_specific_id ${service_specific_id}
57 ${result}= utils.compare_dict ${subscriberDict} ${getJsonDict}
58 Should Be True ${result}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070059 ${Subscriber_Id}= utils.getFieldValueFromDict ${getJsonDict} id
60 Log ${Subscriber_Id}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080061 # Retrieve subscribed_links_id from GET result of the posted Subscriber
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070062 ${subscribed_links_ids_list}= utils.getFieldValueFromDict ${getJsonDict} subscribed_links_ids
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080063 Log ${subscribed_links_ids_list}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070064 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080065 Log ${subscribed_links_ids}
66 # Retrieve provided_links_ids from core/serviceinstancelink
67 ${getServiceLink}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070068 ${provider_service_instance_id}= Get From Dictionary ${getServiceLink} provider_service_instance_id
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080069 # Verify created volt using the above provider_service_instance_id
70 # Verifying GET operation for the Autocreated Volt
71 ${get_result}= restApi.ApiChameleonGet VOLT_TENANT ${provider_service_instance_id}
72 Should Be True ${get_result}
73 # Get "subscriber_links_ids" from the GET result of /volt/volttenants
74 ${subscribed_links_ids_list}= Get From Dictionary ${get_result} subscribed_links_ids
75 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
Suchitra Vemurida8492a2017-06-15 14:47:24 -070076 # Validation of Instances
77 Log ${instanceList}
Suchitra Vemurie40e0d22017-08-23 16:08:38 -070078 ${serviceLinkDict}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
79 Log ${serviceLinkDict}
80 ${VSGTenant}= Get From Dictionary ${serviceLinkDict} provider_service_instance_id
81 # Retrieve VSGTenant to retrieve instance_id
82 ${getVSG_result}= restApi.ApiChameleonGet VSG_TENANT ${VSGTenant}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070083 ${instance_id}= Get From Dictionary ${getVSG_result} instance_id
84 Append To List ${instanceList} ${instance_id}
85 Log ${instanceList}
86 ${get_CoreInstanceresult}= restApi.ApiChameleonGet CH_CORE_INSTANCES ${instance_id}
87 Should Be True ${get_CoreInstanceresult}
88
89Test Instance Validation
90 [Arguments] ${listIndex}
91 ${get_result}= restApi.ApiGet VSG_TENANT
92 Should Be True ${get_result}
93 ${instanceFinalList}= Remove Duplicates ${instanceList}
94 Log ${instanceFinalList}
95 ${instanceCount}= Get Length ${instanceFinalList}
96 Log ${instanceCount}
97 Should Be True ${instanceCount} == 3