blob: 90f80b4f403cc3ad26ad26fbcdebe70345fe6101 [file] [log] [blame]
Suchitra Vemurif58de922017-06-14 12:53:42 -07001*** Settings ***
2Documentation Test suite for Instance creation for multiple subscribers with same "s_tag" - Chameleon APIs
3Suite Setup Read InputFile
4Test Template Verify Single Instance Functionality
5Library 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
16${PATHFILE} ${CURDIR}/data/Ch_Subscriber.json
17${PATHFILE2} ${CURDIR}/data/Ch_SingleInstance_VoltTenant.json
18
19*** Test Cases *** TYPE LISTINDEX
20Test Create Subscriber-1
21 SUBSCRIBER_CREATE 0
22
23Test Create Subscriber-2
24 SUBSCRIBER_CREATE 1
25
26Test Create Subscriber-3
27 SUBSCRIBER_CREATE 2
28
29Test Create Tenant-1
30 TENANT_CREATE 0
31
32Test Create Tenant-2
33 TENANT_CREATE 1
34
35Test Create Tenant-3
36 TENANT_CREATE 2
37
38Test Instance creation validation
39 INSTANCE_VALIDATE 0
40
41*** Keywords ***
42Read InputFile
43 ${subscriberList} = utils.jsonToList ${PATHFILE} SubscriberInfo
44 Set Suite Variable ${slist} ${subscriberList}
45 ${voltList}= utils.jsonToList ${PATHFILE2} voltSubscriberInfo
46 Set Suite Variable ${vlist} ${voltList}
47 @{instanceList}= Create List
48 Set Suite Variable @{instanceList}
49
50Verify Single Instance functionality
51 [Arguments] ${type} ${listIndex}
52 Run Keyword If "${type}" == "SUBSCRIBER_CREATE" Test Post Subscriber Create ${listIndex}
53 Run Keyword If "${type}" == "TENANT_CREATE" Test Post volt Tenant Create ${listIndex}
54 Run Keyword If "${type}" == "INSTANCE_VALIDATE" Test Instance Validation ${listIndex}
55
56Test Post Subscriber Create
57 [Arguments] ${listIndex}
58 ${subscriberList} = Get Variable Value ${slist}
59 ${subscriberDict}= utils.listToDict ${subscriberList} ${listIndex}
60 ${api_result}= restApi.ApiPost VOLT_SUBSCRIBER ${subscriberDict}
61 ${instanceList} Create List
62
63Test Post volt Tenant Create
64 [Arguments] ${listIndex}
65 ${voltTenantList} = Get Variable Value ${vlist}
66 ${voltTenantDict}= utils.listToDict ${voltTenantList} ${listIndex}
67 ${voltDict}= Get From Dictionary ${voltTenantDict} voltTenant
68 ${service_specific_id}= Get From Dictionary ${voltTenantDict} service_specific_id
69 ${get_result}= restApi.ApiGet VOLT_SUBSCRIBER
70 ${get_result_list}= Get From Dictionary ${get_result} items
71 ${subscriberDict}= utils.getDictFromListofDict ${get_result_list} service_specific_id ${service_specific_id}
72 ${subscriberID}= utils.getFieldValueFromDict ${subscriberDict} id
73 ${updatedVoltDict}= utils.setFieldValueInDict ${voltDict} subscriber_root_id ${subscriberID}
74 ${api_result}= restApi.ApiPost VOLT_TENANT ${updatedVoltDict}
75 Should Be True ${api_result}
76 # Verifying Get operation after POST
77 Sleep 20
78 ${getVolt_result}= restApi.ApiGet VOLT_TENANT
79 Log ${getVolt_result}
80 ${getVolt_result_list}= utils.getFieldValueFromDict ${getVolt_result} items
81 Log ${getVolt_result_list}
82 ${getJsonDict}= utils.getDictFromListOfDict ${getVolt_result_list} subscriber_root_id ${subscriberID}
83 Log ${getJsonDict}
84 ${test_result}= utils.compare_dict ${voltDict} ${getJsonDict}
85 Should Be True ${test_result}
86 # Validation of Instances
87 Log ${instanceList}
88 Log ${getJsonDict}
89 ${VSGTenantList}= Get From Dictionary ${getJsonDict} subscribed_tenants_ids
90 Log ${VSGTenantList}
91 ${VSGTenant}= Get From List ${VSGTenantList} 0
92 ${getVSG_result}= restApi.ApiChameleonGet VSG_TENANT ${VSGTenant}
93 ${instance_id}= Get From Dictionary ${getVSG_result} instance_id
94 Append To List ${instanceList} ${instance_id}
95 Log ${instanceList}
96
97Test Instance Validation
98 [Arguments] ${listIndex}
99 ${get_result}= restApi.ApiGet VSG_TENANT
100 Should Be True ${get_result}
101 ${instanceFinalList}= Remove Duplicates ${instanceList}
102 Log ${instanceFinalList}
103 ${instanceCount}= Get Length ${instanceFinalList}
104 Log ${instanceCount}
105 Should Be True ${instanceCount} == 1
106 ${instance_id}= Get From List ${instanceFinalList} 0
107 ${get_CoreInstanceresult}= restApi.ApiChameleonGet CH_CORE_INSTANCES ${instance_id}
108 Should Be True ${get_CoreInstanceresult}