blob: a4ef5163259abb350593a2856741cbaaad1dc341 [file] [log] [blame]
*** Settings ***
Documentation Test suite for Instance creation for multiple subscribers with different "s_tags"
Suite Setup Read InputFile
Test Template Verify Instance Functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library ../Framework/utils/utils.py
Library ../Framework/restApi.py
*** Variables ***
${USER} admin
${PASSWORD} admin
${PATHFILE} ${CURDIR}/data/Subscriber.json
${PATHFILE2} ${CURDIR}/data/VoltTenant.json
*** Test Cases *** TYPE LISTINDEX
Test Create Instance-1
SUBSCRIBER_CREATE 0
Test Create Subscriber-2
SUBSCRIBER_CREATE 1
Test Create Subscriber-3
SUBSCRIBER_CREATE 2
Test Create Tenant-1
TENANT_CREATE 0
Test Create Tenant-2
TENANT_CREATE 1
Test Create Tenant-3
TENANT_CREATE 2
Test Instance creation validation-1
INSTANCE_VALIDATE 0
Test Instance creation validation-2
INSTANCE_VALIDATE 1
Test Instance creation validation-3
INSTANCE_VALIDATE 2
*** Keywords ***
Read InputFile
${subscriberList} = utils.jsonToList ${PATHFILE} SubscriberInfo
Set Suite Variable ${slist} ${subscriberList}
${voltList}= utils.jsonToList ${PATHFILE2} voltSubscriberInfo
Set Suite Variable ${vlist} ${voltList}
Verify Instance functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "SUBSCRIBER_CREATE" Test Post Subscriber Create ${listIndex}
Run Keyword If "${type}" == "TENANT_CREATE" Test Post volt Tenant Create ${listIndex}
Run Keyword If "${type}" == "INSTANCE_VALIDATE" Test Instance Validation ${listIndex}
Test Post Subscriber Create
[Arguments] ${listIndex}
${subscriberList} = Get Variable Value ${slist}
${subscriberDict}= utils.listToDict ${subscriberList} ${listIndex}
${api_result}= restApi.ApiPost TENANT_SUBSCRIBER ${subscriberDict}
Should Be True ${api_result}
Test Post volt Tenant Create
[Arguments] ${listIndex}
${voltTenantList} = Get Variable Value ${vlist}
${voltTenantDict}= utils.listToDict ${voltTenantList} ${listIndex}
${voltDict}= Get From Dictionary ${voltTenantDict} voltTenant
${account_num}= Get From Dictionary ${voltTenantDict} account_num
${get_result}= restApi.ApiGet TENANT_SUBSCRIBER
${subscriberDict}= utils.getDictFromListofDict ${get_result} account_num ${account_num}
${subscriberID}= utils.getFieldValueFromDict ${subscriberDict} id
${updatedVoltDict}= utils.setFieldValueInDict ${voltDict} subscriber ${subscriberID}
${api_result}= restApi.ApiPost TENANT_VOLT ${updatedVoltDict}
Should Be True ${api_result}
# Verifying Get operation after POST
${getVolt_result}= restApi.ApiGet TENANT_VOLT
${getJsonDict}= utils.getDictFromListOfDict ${getVolt_result} subscriber ${subscriberID}
${test_result}= utils.compare_dict ${voltDict} ${getJsonDict}
Should Be True ${test_result}
Test Instance Validation
[Arguments] ${listIndex}
${voltTenantList}= Get Variable Value ${vlist}
${voltTenantDict}= utils.listToDict ${voltTenantList} ${listIndex}
${voltDict}= Get From Dictionary ${voltTenantDict} voltTenant
${input_sTag}= Get From Dictionary ${voltDict} s_tag
${get_result}= restApi.ApiGet TENANT_VOLT
${tenantDict}= utils.getDictFromListofDict ${get_result} s_tag ${input_sTag}
Log ${tenantDict}
${instance_id_fromvolt}= utils.getFieldValueFromDict ${tenantDict} instance_id
${instance_name}= utils.getFieldValueFromDict ${tenantDict} instance_name
${instance_id_name}= Catenate SEPARATOR=- ${instance_name} ${instance_id_fromvolt}
${get_instanceresult}= restApi.ApiGet CORE_INSTANCES
${instanceDict}= utils.getDictFromListofDict ${get_instanceresult} instance_name ${instance_id_name}
${instance_id_fromCore}= utils.getFieldValueFromDict ${instanceDict} id
Should Be Equal As Strings ${instance_id_fromvolt} ${instance_id_fromCore}