blob: 8ce29f02e80573911a495731685d1e611c277002 [file] [log] [blame]
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -08001*** Settings ***
2Documentation Test suite for Instance creation for multiple subscribers with same "s_tag"
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.Vemuri0c8024a2016-12-07 16:31:21 -080012
13*** Variables ***
14${USER} admin
15${PASSWORD} admin
16${PATHFILE} ${CURDIR}/data/Subscriber.json
17${PATHFILE2} ${CURDIR}/data/SingleInstance_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
39 INSTANCE_VALIDATE 0
40
41*** Keywords ***
42Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070043 ${subscriberList} = CORDRobot.jsonToList ${PATHFILE} SubscriberInfo
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080044 Set Suite Variable ${slist} ${subscriberList}
Zack Williams821c5022020-01-15 15:11:46 -070045 ${voltList}= CORDRobot.jsonToList ${PATHFILE2} voltSubscriberInfo
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080046 Set Suite Variable ${vlist} ${voltList}
47
48Verify Instance functionality
49 [Arguments] ${type} ${listIndex}
50 Run Keyword If "${type}" == "SUBSCRIBER_CREATE" Test Post Subscriber Create ${listIndex}
51 Run Keyword If "${type}" == "TENANT_CREATE" Test Post volt Tenant Create ${listIndex}
52 Run Keyword If "${type}" == "INSTANCE_VALIDATE" Test Instance Validation ${listIndex}
53
54Test Post Subscriber Create
55 [Arguments] ${listIndex}
56 ${subscriberList} = Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070057 ${subscriberDict}= CORDRobot.listToDict ${subscriberList} ${listIndex}
58 ${api_result}= CORDRobot.ApiPost TENANT_SUBSCRIBER ${subscriberDict}
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080059 Should Be True ${api_result}
60
61Test Post volt Tenant Create
62 [Arguments] ${listIndex}
63 ${voltTenantList} = Get Variable Value ${vlist}
Zack Williams821c5022020-01-15 15:11:46 -070064 ${voltTenantDict}= CORDRobot.listToDict ${voltTenantList} ${listIndex}
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080065 ${voltDict}= Get From Dictionary ${voltTenantDict} voltTenant
66 ${account_num}= Get From Dictionary ${voltTenantDict} account_num
Zack Williams821c5022020-01-15 15:11:46 -070067 ${get_result}= CORDRobot.ApiGet TENANT_SUBSCRIBER
68 ${subscriberDict}= CORDRobot.getDictFromListofDict ${get_result} account_num ${account_num}
69 ${subscriberID}= CORDRobot.getFieldValueFromDict ${subscriberDict} id
70 ${updatedVoltDict}= CORDRobot.setFieldValueInDict ${voltDict} subscriber ${subscriberID}
71 ${api_result}= CORDRobot.ApiPost TENANT_VOLT ${updatedVoltDict}
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080072 Should Be True ${api_result}
73 # Verifying Get operation after POST
Zack Williams821c5022020-01-15 15:11:46 -070074 ${getVolt_result}= CORDRobot.ApiGet TENANT_VOLT
75 ${getJsonDict}= CORDRobot.getDictFromListOfDict ${getVolt_result} subscriber ${subscriberID}
76 ${test_result}= CORDRobot.compare_dict ${voltDict} ${getJsonDict}
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080077 Should Be True ${test_result}
78
79Test Instance Validation
80 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070081 ${get_result}= CORDRobot.ApiGet TENANT_SUBSCRIBER
82 ${instance_id_fromvolt}= CORDRobot.getAllFieldValues ${get_result} instance_id
83 ${instance_name}= CORDRobot.getAllFieldValues ${get_result} instance_name
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080084 ${instance_id_name}= Catenate SEPARATOR=- ${instance_name} ${instance_id_fromvolt}
Zack Williams821c5022020-01-15 15:11:46 -070085 ${get_instanceresult}= CORDRobot.ApiGet CORE_INSTANCES
86 ${instanceDict}= CORDRobot.getDictFromListofDict ${get_instanceresult} instance_name ${instance_id_name}
87 ${instance_id_fromCore}= CORDRobot.getFieldValueFromDict ${instanceDict} id
Suchitra.Vemuri0c8024a2016-12-07 16:31:21 -080088 Should Be Equal As Strings ${instance_id_fromvolt} ${instance_id_fromCore}