blob: 83c6dd3f2465e43aad98ee0e01b873ef91bcb01b [file] [log] [blame]
Suchitra Vemurif7410a92017-05-16 17:04:05 -07001*** Settings ***
2Documentation Test suite for Users API
3Suite Setup Read InputFile
4Test Template Verify User functionality
5Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
Zack Williams821c5022020-01-15 15:11:46 -070010Library CORDRobot
11Library ImportResource resources=CORDRobot
Suchitra Vemurif7410a92017-05-16 17:04:05 -070012
13*** Variables ***
Suchitra Vemurif7410a92017-05-16 17:04:05 -070014${PATHFILE} ${CURDIR}/data/Ch_Users.json
15
16*** Test Cases *** TYPE LISTINDEX
17Test Add User-1 CREATE 0
18
19Test Get User-1 RETRIEVE 0
20
21Test Delete User-1 DELETE 0
22
23Test Add User-2 CREATE 1
24
25Test Get User-2 RETRIEVE 1
26
27Test Delete User-2 DELETE 1
28
29Test Add User-3 CREATE 2
30
31Test Get User-3 RETRIEVE 2
32
33Test Delete User-3 DELETE 2
34
35*** Keywords ***
36Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070037 ${userList} = CORDRobot.jsonToList ${PATHFILE} UserInfo
Suchitra Vemurif7410a92017-05-16 17:04:05 -070038 Set Suite Variable ${uList} ${userList}
39
40Verify User functionality
41 [Arguments] ${type} ${listIndex}
42 Run Keyword If "${type}" == "CREATE" Test Post Users API ${listIndex}
43 Run Keyword If "${type}" == "RETRIEVE" Test Get Users API ${listIndex}
44 Run Keyword If "${type}" == "DELETE" Test Delete Users API ${listIndex}
45
46Test Post Users API
47 [Arguments] ${listIndex}
48 ${userList} = Get Variable Value ${uList}
Zack Williams821c5022020-01-15 15:11:46 -070049 ${userDict}= CORDRobot.listToDict ${userList} ${listIndex}
50 ${api_result}= CORDRobot.ApiPost CH_CORE_USERS ${userDict}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070051 Should Be True ${api_result}
52
53Test Get Users API
54 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070055 ${json_result}= CORDRobot.ApiGet CH_CORE_USERS
Suchitra Vemurif7410a92017-05-16 17:04:05 -070056 ${json_result_list}= Get From Dictionary ${json_result} items
57 Log ${json_result_list}
58 ${userList}= Get Variable Value ${uList}
Zack Williams821c5022020-01-15 15:11:46 -070059 ${inputDict}= CORDRobot.listToDict ${userList} ${listIndex}
60 ${email}= CORDRobot.getFieldValueFromDict ${inputDict} email
61 ${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result_list} email ${email}
62 ${test_result}= CORDRobot.compare_dict ${inputDict} ${getJsonDict}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070063 Should Be True ${json_result}
64
65Test Delete Users API
66 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070067 ${json_getresult}= CORDRobot.ApiGet CH_CORE_USERS
Suchitra Vemurif7410a92017-05-16 17:04:05 -070068 ${json_getresult_list}= Get From Dictionary ${json_getresult} items
69 ${userList}= Get Variable Value ${uList}
Zack Williams821c5022020-01-15 15:11:46 -070070 ${userDict}= CORDRobot.listToDict ${uList} ${listIndex}
71 ${email}= CORDRobot.getFieldValueFromDict ${userDict} email
Suchitra Vemurif7410a92017-05-16 17:04:05 -070072 Log ${email}
Zack Williams821c5022020-01-15 15:11:46 -070073 ${getUserDict}= CORDRobot.getDictFromListofDict ${json_getresult_list} email ${email}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070074 Log ${getUserDict}
Zack Williams821c5022020-01-15 15:11:46 -070075 ${userID}= CORDRobot.getFieldValueFromDict ${getUserDict} id
Suchitra Vemurif7410a92017-05-16 17:04:05 -070076 Log ${userID}
Zack Williams821c5022020-01-15 15:11:46 -070077 ${test_result}= CORDRobot.ApiChameleonDelete CH_CORE_USERS ${userID}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070078 Should be True ${test_result}