blob: f11a2227751e72d1ae93cdc8689a41a720261496 [file] [log] [blame]
*** Settings ***
Documentation Test suite for volt Tenant Verification - Chameleon API
Suite Setup Read InputFile
Test Template Verify volt Tenant Functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library CORDRobot
Library ImportResource resources=CORDRobot
*** Variables ***
${PATHFILE} ${CURDIR}/data/Ch_VoltTenant.json
${PATHFILE2} ${CURDIR}/data/Ch_putVoltTenant.json
${PATHFILE3} ${CURDIR}/data/Ch_Subscriber.json
*** Test Cases *** TYPE LISTINDEX
Test volt Tenant-1 CREATE 0
Test volt Tenant-2 CREATE 1
Test volt Tenant-3 CREATE 2
*** Keywords ***
Read InputFile
${subscriberList} = CORDRobot.jsonToList ${PATHFILE3} SubscriberInfo
Set Suite Variable ${slist} ${subscriberList}
${voltList} = CORDRobot.jsonToList ${PATHFILE} voltSubscriberInfo
Set Suite Variable ${vlist} ${voltList}
${putvoltList}= CORDRobot.jsonToList ${PATHFILE2} voltSubscriberInfo
Set Suite Variable ${putList} ${putvoltList}
Verify volt Tenant Functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Post volt Tenant API ${listIndex}
Test Post volt Tenant API
[Arguments] ${listIndex}
${subscriberList} = Get Variable Value ${slist}
${subscriberDict}= CORDRobot.listToDict ${subscriberList} ${listIndex}
${service_specific_id}= CORDRobot.getFieldValueFromDict ${subscriberDict} service_specific_id
${json_result}= CORDRobot.ApiGet VOLT_SUBSCRIBER
Log ${json_result}
${json_result_list}= Get From Dictionary ${json_result} items
${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result_list} service_specific_id ${service_specific_id}
${Subscriber_Id}= CORDRobot.getFieldValueFromDict ${getJsonDict} id
Log ${Subscriber_Id}
${voltTenantList} = Get Variable Value ${vlist}
${voltTenantDict}= CORDRobot.listToDict ${voltTenantList} ${listIndex}
${voltDict}= Get From Dictionary ${voltTenantDict} voltTenant
${c_tag}= Get From Dictionary ${voltDict} c_tag
${postResult}= CORDRobot.ApiPost VOLT_TENANT ${voltDict}
Sleep 30
# Verifying GET operation after POST
${get_result}= CORDRobot.ApiGet VOLT_TENANT
${get_result_list}= Get From Dictionary ${get_result} items
${getJsonDict}= CORDRobot.getDictFromListofDict ${get_result_list} c_tag ${c_tag}
Log ${getJsonDict}
${test_result}= CORDRobot.compare_dict ${voltDict} ${getJsonDict}
Should Be True ${test_result}
${Volt_Id}= Get From Dictionary ${getJsonDict} id
${provided_links_ids_list}= CORDRobot.getFieldValueFromDict ${getJsonDict} provided_links_ids
Log ${provided_links_ids_list}
${provided_links_ids}= Get From List ${provided_links_ids_list} 0
Log ${provided_links_ids}
# Get subscribed_links_ids from volttenant
${subscribed_links_ids_list}= CORDRobot.getFieldValueFromDict ${getJsonDict} subscribed_links_ids
${subscribed_links_ids}= Get From List ${subscribed_links_ids_list} 0
# Retrieve service links using provided links ID
${getServiceLink}= CORDRobot.ApiChameleonGet CH_CORE_SERVICELINK ${provided_links_ids}
${provider_service_instance_id}= Get From Dictionary ${getServiceLink} provider_service_instance_id
# Update the subscriber_service_instance_id to the required subscriber_id to establish desired link
${serviceDict}= Create Dictionary subscriber_service_instance_id=${Subscriber_Id}
${result}= CORDRobot.ApiChameleonPut CH_CORE_SERVICELINK ${serviceDict} ${provided_links_ids}
Sleep 30
Should Be True ${result}