blob: dc042a01070cc6e25cda9796e192682c6d937e40 [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 ***
14${USER} admin
15${PASSWORD} admin
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080016${PATHFILE} ${CURDIR}/data/Ch_Subscriber_MultiInstance.json
Suchitra Vemurida8492a2017-06-15 14:47:24 -070017
18*** Test Cases *** TYPE LISTINDEX
19Test Create Subscriber-1
20 SUBSCRIBER_CREATE 0
21
22Test Create Subscriber-2
23 SUBSCRIBER_CREATE 1
24
25Test Create Subscriber-3
26 SUBSCRIBER_CREATE 2
27
Suchitra Vemurida8492a2017-06-15 14:47:24 -070028Test Instance creation validation
29 INSTANCE_VALIDATE 0
30
31*** Keywords ***
32Read InputFile
33 ${subscriberList} = utils.jsonToList ${PATHFILE} SubscriberInfo
34 Set Suite Variable ${slist} ${subscriberList}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070035 @{instanceList}= Create List
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070036 ${Subscriber_Id}= Set Variable
Suchitra Vemurida8492a2017-06-15 14:47:24 -070037 Set Suite Variable @{instanceList}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070038 Set Suite Variable ${Subscriber_Id}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070039
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080040Verify Multiple Instance Creation Functionality
Suchitra Vemurida8492a2017-06-15 14:47:24 -070041 [Arguments] ${type} ${listIndex}
42 Run Keyword If "${type}" == "SUBSCRIBER_CREATE" Test Post Subscriber Create ${listIndex}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070043 Run Keyword If "${type}" == "INSTANCE_VALIDATE" Test Instance Validation ${listIndex}
44
45Test Post Subscriber Create
46 [Arguments] ${listIndex}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080047 [Documentation] Test posts subscribers and validates the end-end functionality until instance creations
48 # Read input from data files and post subscriber
Suchitra Vemurida8492a2017-06-15 14:47:24 -070049 ${subscriberList} = Get Variable Value ${slist}
50 ${subscriberDict}= utils.listToDict ${subscriberList} ${listIndex}
51 ${api_result}= restApi.ApiPost VOLT_SUBSCRIBER ${subscriberDict}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080052 Sleep 30
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070053 ${service_specific_id}= utils.getFieldValueFromDict ${subscriberDict} service_specific_id
54 ${json_result}= restApi.ApiGet VOLT_SUBSCRIBER
55 Log ${json_result}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080056 # Verifying GET operation after POST and validating the contents posted match the input data
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070057 ${json_result_list}= Get From Dictionary ${json_result} items
58 ${getJsonDict}= utils.getDictFromListOfDict ${json_result_list} service_specific_id ${service_specific_id}
59 ${result}= utils.compare_dict ${subscriberDict} ${getJsonDict}
60 Should Be True ${result}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070061 ${Subscriber_Id}= utils.getFieldValueFromDict ${getJsonDict} id
62 Log ${Subscriber_Id}
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080063 # Retrieve subscribed_links_id from GET result of the posted Subscriber
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070064 ${subscribed_links_ids_list}= utils.getFieldValueFromDict ${getJsonDict} subscribed_links_ids
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080065 Log ${subscribed_links_ids_list}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070066 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080067 Log ${subscribed_links_ids}
68 # Retrieve provided_links_ids from core/serviceinstancelink
69 ${getServiceLink}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
Suchitra Vemuridaeb2472017-08-15 11:58:21 -070070 ${provider_service_instance_id}= Get From Dictionary ${getServiceLink} provider_service_instance_id
Suchitra Vemuri465d46a2018-03-02 00:04:47 -080071 # Verify created volt using the above provider_service_instance_id
72 # Verifying GET operation for the Autocreated Volt
73 ${get_result}= restApi.ApiChameleonGet VOLT_TENANT ${provider_service_instance_id}
74 Should Be True ${get_result}
75 # Get "subscriber_links_ids" from the GET result of /volt/volttenants
76 ${subscribed_links_ids_list}= Get From Dictionary ${get_result} subscribed_links_ids
77 ${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
Suchitra Vemurida8492a2017-06-15 14:47:24 -070078 # Validation of Instances
79 Log ${instanceList}
Suchitra Vemurie40e0d22017-08-23 16:08:38 -070080 ${serviceLinkDict}= restApi.ApiChameleonGet CH_CORE_SERVICELINK ${subscribed_links_ids}
81 Log ${serviceLinkDict}
82 ${VSGTenant}= Get From Dictionary ${serviceLinkDict} provider_service_instance_id
83 # Retrieve VSGTenant to retrieve instance_id
84 ${getVSG_result}= restApi.ApiChameleonGet VSG_TENANT ${VSGTenant}
Suchitra Vemurida8492a2017-06-15 14:47:24 -070085 ${instance_id}= Get From Dictionary ${getVSG_result} instance_id
86 Append To List ${instanceList} ${instance_id}
87 Log ${instanceList}
88 ${get_CoreInstanceresult}= restApi.ApiChameleonGet CH_CORE_INSTANCES ${instance_id}
89 Should Be True ${get_CoreInstanceresult}
90
91Test Instance Validation
92 [Arguments] ${listIndex}
93 ${get_result}= restApi.ApiGet VSG_TENANT
94 Should Be True ${get_result}
95 ${instanceFinalList}= Remove Duplicates ${instanceList}
96 Log ${instanceFinalList}
97 ${instanceCount}= Get Length ${instanceFinalList}
98 Log ${instanceCount}
99 Should Be True ${instanceCount} == 3