blob: a9d6502588ea721348c8a27dc483d507dae08dfa [file] [log] [blame]
*** Settings ***
Documentation Test suite for Sanity Test of Node API
Suite Setup Read InputFile
Test Template Verify Node functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library CORDRobot
Library ImportResource resources=CORDRobot
*** Variables ***
${USER} admin
${PASSWORD} admin
${PATHFILE} ${CURDIR}/data/sanityNode.json
*** Test Cases *** TYPE LISTINDEX
Test Post Node-1 CREATE 0
#Test Get Node-1 RETRIEVE 0
Test Delete Node-1 DELETE 0
Test Post Node-2 CREATE 1
#Test Get Node-2 RETRIEVE 1
Test Delete Node-2 DELETE 1
*** Keywords ***
Read InputFile
${nodeList}= CORDRobot.jsonToList ${PATHFILE} NodeInfo
Set Suite Variable ${nlist} ${nodeList}
Verify Node functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Post Node API ${listIndex}
Run Keyword If "${type}" == "RETRIEVE" Test Get Node API ${listIndex}
Run Keyword If "${type}" == "DELETE" Test Delete Node API ${listIndex}
Test Post Node API
[Arguments] ${listIndex}
${nodeList}= Get Variable Value ${nlist}
${nodeDict}= CORDRobot.listToDict ${nodeList} ${listIndex}
${api_result}= CORDRobot.ApiPost CORE_SANITY_NODES ${nodeDict}
Should Be True ${api_result}
Test Get Node API
[Arguments] ${listIndex}
${json_result}= CORDRobot.ApiGet CORE_NODES
Log ${json_result}
${nodeList}= Get Variable Value ${nlist}
${nodeDict}= CORDRobot.listToDict ${nodeList} ${listIndex}
${name}= CORDRobot.getFieldValueFromDict ${nodeDict} name
${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result} name ${name}
${test_result}= CORDRobot.compare_dict ${nodeDict} ${getJsonDict}
Should Be True ${test_result}
Test Delete Node API
[Arguments] ${listIndex}
${json_result}= CORDRobot.ApiGet CORE_NODES
${nodeList}= Get Variable Value ${nlist}
${nodeDict}= CORDRobot.listToDict ${nodeList} ${listIndex}
${name}= CORDRobot.getFieldValueFromDict ${nodeDict} name
Log ${name}
${nodeDict}= CORDRobot.getDictFromListofDict ${json_result} name ${name}
Log ${nodeDict}
${nodeId}= CORDRobot.getFieldValueFromDict ${nodeDict} id
Log ${nodeId}
${test_result}= CORDRobot.ApiDelete CORE_NODES ${nodeId}
Should Be True ${test_result}