blob: b23ec31afa4cea60f55e437929fe47dd7d66a859 [file] [log] [blame]
*** Settings ***
Documentation Test suite for Site verification
Suite Setup Read InputFile
Test Template Verify Site functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library CORDRobot
Library ImportResource resources=CORDRobot
*** Variables ***
${PATHFILE} ${CURDIR}/data/Ch_Site.json
${PATHFILE2} ${CURDIR}/data/Ch_putSite.json
*** Test Cases *** TYPE LISTINDEX
Test Post Site-1 CREATE 0
Test Get Site-1 RETRIEVE 0
Test Edit Site-1 PUT 0
Test Delete Site-1 DELETE 0
Test Post Site-2 CREATE 1
Test Get Site-2 RETRIEVE 1
Test Edit Site-2 PUT 1
Test Delete Site-2 DELETE 1
*** Keywords ***
Read InputFile
${siteList}= CORDRobot.jsonToList ${PATHFILE} SiteInfo
Set Suite Variable ${slist} ${siteList}
${putSiteList}= CORDRobot.jsonToList ${PATHFILE2} SiteInfo
Set Suite Variable ${putList} ${putSiteList}
Verify Site functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Post Site API ${listIndex}
Run Keyword If "${type}" == "RETRIEVE" Test Get Site API ${listIndex}
Run Keyword If "${type}" == "PUT" Test Edit Site API ${listIndex}
Run Keyword If "${type}" == "DELETE" Test Delete Site API ${listIndex}
Test Post Site API
[Arguments] ${listIndex}
${siteList} = Get Variable Value ${slist}
${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex}
${api_result}= CORDRobot.ApiPost CH_CORE_SITES ${siteDict}
Should Be True ${api_result}
Test Get Site API
[Arguments] ${listIndex}
${json_result}= CORDRobot.ApiGet CH_CORE_SITES
${json_result_list}= Get From Dictionary ${json_result} items
Log ${json_result_list}
${siteList}= Get Variable Value ${slist}
${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex}
${name}= CORDRobot.getFieldValueFromDict ${siteDict} name
${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result_list} name ${name}
${test_result}= CORDRobot.compare_dict ${siteDict} ${getJsonDict}
Should Be True ${test_result}
Test Edit Site API
[Arguments] ${listIndex}
${get_result}= CORDRobot.ApiGet CH_CORE_SITES
${get_result_list}= Get From Dictionary ${get_result} items
${putSiteList}= Get Variable Value ${putList}
${putSiteDict}= CORDRobot.listToDict ${putSiteList} ${listIndex}
${name}= CORDRobot.getFieldValueFromDict ${putSiteDict} name
${siteDict}= CORDRobot.getDictFromListofDict ${get_result_list} name ${name}
${siteID}= CORDRobot.getFieldValueFromDict ${siteDict} id
${api_result}= CORDRobot.ApiChameleonPut CH_CORE_SITES ${putSiteDict} ${siteID}
Should Be True ${api_result}
${getResultAfterPut}= CORDRobot.ApiChameleonGet CH_CORE_SITES ${siteID}
${test_result}= CORDRobot.compare_dict ${putSiteDict} ${getResultAfterPut}
Should Be True ${test_result}
Test Delete Site API
[Arguments] ${listIndex}
${json_result}= CORDRobot.ApiGet CH_CORE_SITES
${json_result_list}= Get From Dictionary ${json_result} items
${siteList}= Get Variable Value ${slist}
${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex}
${name}= CORDRobot.getFieldValueFromDict ${siteDict} name
Log ${name}
${siteDict}= CORDRobot.getDictFromListofDict ${json_result_list} name ${name}
Log ${siteDict}
${siteId}= CORDRobot.getFieldValueFromDict ${siteDict} id
Log ${siteId}
${test_result}= CORDRobot.ApiChameleonDelete CH_CORE_SITES ${siteId}
Should Be True ${test_result}