blob: a166e108edb68c94b0a8f32de54420902e440e85 [file] [log] [blame]
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -08001*** Settings ***
2Documentation Test suite for Instance creation for multiple subscribers with different "s_tags"
3Suite Setup Read InputFile
4Test Template Verify Instance Functionality
5Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
Zack Williams821c5022020-01-15 15:11:46 -070010Library CORDRobot
11Library ImportResource resources=CORDRobot
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080012
13*** Variables ***
14${USER} admin
15${PASSWORD} admin
16${PATHFILE} ${CURDIR}/data/Subscriber.json
17${PATHFILE2} ${CURDIR}/data/VoltTenant.json
18
19*** Test Cases *** TYPE LISTINDEX
20Test Create Instance-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-1
39 INSTANCE_VALIDATE 0
40
41Test Instance creation validation-2
42 INSTANCE_VALIDATE 1
43
44Test Instance creation validation-3
45 INSTANCE_VALIDATE 2
46
47*** Keywords ***
48Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070049 ${subscriberList} = CORDRobot.jsonToList ${PATHFILE} SubscriberInfo
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080050 Set Suite Variable ${slist} ${subscriberList}
Zack Williams821c5022020-01-15 15:11:46 -070051 ${voltList}= CORDRobot.jsonToList ${PATHFILE2} voltSubscriberInfo
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080052 Set Suite Variable ${vlist} ${voltList}
53
54Verify Instance functionality
55 [Arguments] ${type} ${listIndex}
56 Run Keyword If "${type}" == "SUBSCRIBER_CREATE" Test Post Subscriber Create ${listIndex}
57 Run Keyword If "${type}" == "TENANT_CREATE" Test Post volt Tenant Create ${listIndex}
58 Run Keyword If "${type}" == "INSTANCE_VALIDATE" Test Instance Validation ${listIndex}
59
60Test Post Subscriber Create
61 [Arguments] ${listIndex}
62 ${subscriberList} = Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070063 ${subscriberDict}= CORDRobot.listToDict ${subscriberList} ${listIndex}
64 ${api_result}= CORDRobot.ApiPost TENANT_SUBSCRIBER ${subscriberDict}
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080065 Should Be True ${api_result}
66
67Test Post volt Tenant Create
68 [Arguments] ${listIndex}
69 ${voltTenantList} = Get Variable Value ${vlist}
Zack Williams821c5022020-01-15 15:11:46 -070070 ${voltTenantDict}= CORDRobot.listToDict ${voltTenantList} ${listIndex}
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080071 ${voltDict}= Get From Dictionary ${voltTenantDict} voltTenant
72 ${account_num}= Get From Dictionary ${voltTenantDict} account_num
Zack Williams821c5022020-01-15 15:11:46 -070073 ${get_result}= CORDRobot.ApiGet TENANT_SUBSCRIBER
74 ${subscriberDict}= CORDRobot.getDictFromListofDict ${get_result} account_num ${account_num}
75 ${subscriberID}= CORDRobot.getFieldValueFromDict ${subscriberDict} id
76 ${updatedVoltDict}= CORDRobot.setFieldValueInDict ${voltDict} subscriber ${subscriberID}
77 ${api_result}= CORDRobot.ApiPost TENANT_VOLT ${updatedVoltDict}
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080078 Should Be True ${api_result}
79 # Verifying Get operation after POST
Zack Williams821c5022020-01-15 15:11:46 -070080 ${getVolt_result}= CORDRobot.ApiGet TENANT_VOLT
81 ${getJsonDict}= CORDRobot.getDictFromListOfDict ${getVolt_result} subscriber ${subscriberID}
82 ${test_result}= CORDRobot.compare_dict ${voltDict} ${getJsonDict}
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080083 Should Be True ${test_result}
84
85Test Instance Validation
86 [Arguments] ${listIndex}
87 ${voltTenantList}= Get Variable Value ${vlist}
Zack Williams821c5022020-01-15 15:11:46 -070088 ${voltTenantDict}= CORDRobot.listToDict ${voltTenantList} ${listIndex}
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080089 ${voltDict}= Get From Dictionary ${voltTenantDict} voltTenant
90 ${input_sTag}= Get From Dictionary ${voltDict} s_tag
Zack Williams821c5022020-01-15 15:11:46 -070091 ${get_result}= CORDRobot.ApiGet TENANT_VOLT
92 ${tenantDict}= CORDRobot.getDictFromListofDict ${get_result} s_tag ${input_sTag}
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080093 Log ${tenantDict}
Zack Williams821c5022020-01-15 15:11:46 -070094 ${instance_id_fromvolt}= CORDRobot.getFieldValueFromDict ${tenantDict} instance_id
95 ${instance_name}= CORDRobot.getFieldValueFromDict ${tenantDict} instance_name
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -080096 ${instance_id_name}= Catenate SEPARATOR=- ${instance_name} ${instance_id_fromvolt}
Zack Williams821c5022020-01-15 15:11:46 -070097 ${get_instanceresult}= CORDRobot.ApiGet CORE_INSTANCES
98 ${instanceDict}= CORDRobot.getDictFromListofDict ${get_instanceresult} instance_name ${instance_id_name}
99 ${instance_id_fromCore}= CORDRobot.getFieldValueFromDict ${instanceDict} id
Suchitra.Vemuri455a2ef2016-12-09 15:46:27 -0800100 Should Be Equal As Strings ${instance_id_fromvolt} ${instance_id_fromCore}