blob: e765d652b6903a28f7bc1900dbea33bddfb8a9ff [file] [log] [blame]
*** Settings ***
Documentation Test suite for Users API
Suite Setup Read InputFile
Test Template Verify User 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/CoreUsers.json
*** Test Cases *** TYPE LISTINDEX
Test Add User-1 CREATE 0
Test Get User-1 RETRIEVE 0
Test Delete User-1 DELETE 0
Test Add User-2 CREATE 1
Test Get User-2 RETRIEVE 1
Test Delete User-2 DELETE 1
Test Add User-3 CREATE 2
Test Get User-3 RETRIEVE 2
Test Delete User-3 DELETE 2
*** Keywords ***
Read InputFile
${userList} = CORDRobot.jsonToList ${PATHFILE} UserInfo
Set Suite Variable ${uList} ${userList}
Verify User functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Post Users API ${listIndex}
Run Keyword If "${type}" == "RETRIEVE" Test Get Users API ${listIndex}
Run Keyword If "${type}" == "DELETE" Test Delete Users API ${listIndex}
Test Post Users API
[Arguments] ${listIndex}
${userList} = Get Variable Value ${uList}
${userDict}= CORDRobot.listToDict ${userList} ${listIndex}
${api_result}= CORDRobot.ApiPost CORE_USERS ${userDict}
Should Be True ${api_result}
Test Get Users API
[Arguments] ${listIndex}
${json_result}= CORDRobot.ApiGet CORE_USERS
Log ${json_result}
${userList}= Get Variable Value ${uList}
${inputDict}= CORDRobot.listToDict ${userList} ${listIndex}
${email}= CORDRobot.getFieldValueFromDict ${inputDict} email
${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result} email ${email}
${test_result}= CORDRobot.compare_dict ${inputDict} ${getJsonDict}
Should Be True ${json_result}
Test Delete Users API
[Arguments] ${listIndex}
${json_getresult}= CORDRobot.ApiGet CORE_USERS
${userList}= Get Variable Value ${uList}
${userDict}= CORDRobot.listToDict ${uList} ${listIndex}
${email}= CORDRobot.getFieldValueFromDict ${userDict} email
Log ${email}
${getUserDict}= CORDRobot.getDictFromListofDict ${json_getresult} email ${email}
Log ${getUserDict}
${userID}= CORDRobot.getFieldValueFromDict ${getUserDict} id
Log ${userID}
${test_result}= CORDRobot.ApiDelete CORE_USERS ${userID}
Should be True ${test_result}