You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 1 | *** Settings *** |
| 2 | Documentation Test suite for Site verification |
| 3 | Suite Setup Read InputFile |
| 4 | Test Template Verify Site functionality |
| 5 | Library Collections |
| 6 | Library String |
| 7 | Library OperatingSystem |
| 8 | Library XML |
| 9 | Library RequestsLibrary |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 10 | Library CORDRobot |
| 11 | Library ImportResource resources=CORDRobot |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 12 | |
| 13 | *** Variables *** |
| 14 | ${USER} admin |
| 15 | ${PASSWORD} admin |
| 16 | ${PATHFILE} ${CURDIR}/data/Site.json |
| 17 | ${PATHFILE2} ${CURDIR}/data/putSite.json |
| 18 | |
| 19 | *** Test Cases *** TYPE LISTINDEX |
| 20 | Test Post Site-1 CREATE 0 |
| 21 | |
| 22 | Test Get Site-1 RETRIEVE 0 |
| 23 | |
| 24 | Test Edit Site-1 PUT 0 |
| 25 | |
| 26 | Test Delete Site-1 DELETE 0 |
| 27 | |
| 28 | Test Post Site-2 CREATE 1 |
| 29 | |
| 30 | Test Get Site-2 RETRIEVE 1 |
| 31 | |
| 32 | Test Edit Site-2 PUT 1 |
| 33 | |
| 34 | Test Delete Site-2 DELETE 1 |
| 35 | |
| 36 | *** Keywords *** |
| 37 | Read InputFile |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 38 | ${siteList}= CORDRobot.jsonToList ${PATHFILE} SiteInfo |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 39 | Set Suite Variable ${slist} ${siteList} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 40 | ${putSiteList}= CORDRobot.jsonToList ${PATHFILE2} SiteInfo |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 41 | Set Suite Variable ${putList} ${putSiteList} |
| 42 | |
| 43 | Verify Site functionality |
| 44 | [Arguments] ${type} ${listIndex} |
| 45 | Run Keyword If "${type}" == "CREATE" Test Post Site API ${listIndex} |
| 46 | Run Keyword If "${type}" == "RETRIEVE" Test Get Site API ${listIndex} |
| 47 | Run Keyword If "${type}" == "PUT" Test Edit Site API ${listIndex} |
| 48 | Run Keyword If "${type}" == "DELETE" Test Delete Site API ${listIndex} |
| 49 | |
| 50 | Test Post Site API |
| 51 | [Arguments] ${listIndex} |
| 52 | ${siteList} = Get Variable Value ${slist} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 53 | ${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex} |
| 54 | ${api_result}= CORDRobot.ApiPost CORE_SITES ${siteDict} |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 55 | Should Be True ${api_result} |
| 56 | |
| 57 | Test Get Site API |
| 58 | [Arguments] ${listIndex} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 59 | ${json_result}= CORDRobot.ApiGet CORE_SITES |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 60 | Log ${json_result} |
| 61 | ${siteList}= Get Variable Value ${slist} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 62 | ${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex} |
| 63 | ${name}= CORDRobot.getFieldValueFromDict ${siteDict} name |
| 64 | ${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result} name ${name} |
| 65 | ${test_result}= CORDRobot.compare_dict ${siteDict} ${getJsonDict} |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 66 | Should Be True ${test_result} |
| 67 | |
| 68 | Test Edit Site API |
| 69 | [Arguments] ${listIndex} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 70 | ${get_result}= CORDRobot.ApiGet CORE_SITES |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 71 | ${putSiteList}= Get Variable Value ${putList} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 72 | ${putSiteDict}= CORDRobot.listToDict ${putSiteList} ${listIndex} |
| 73 | ${name}= CORDRobot.getFieldValueFromDict ${putSiteDict} name |
| 74 | ${siteDict}= CORDRobot.getDictFromListofDict ${get_result} name ${name} |
| 75 | ${siteID}= CORDRobot.getFieldValueFromDict ${siteDict} id |
| 76 | ${api_result}= CORDRobot.ApiPut CORE_SITES ${putSiteDict} ${siteID} |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 77 | Should Be True ${api_result} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 78 | ${getResultAfterPut}= CORDRobot.ApiGet CORE_SITES ${siteID} |
| 79 | ${test_result}= CORDRobot.compare_dict ${putSiteDict} ${getResultAfterPut} |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 80 | Should Be True ${test_result} |
| 81 | |
| 82 | Test Delete Site API |
| 83 | [Arguments] ${listIndex} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 84 | ${json_result}= CORDRobot.ApiGet CORE_SITES |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 85 | ${siteList}= Get Variable Value ${slist} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 86 | ${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex} |
| 87 | ${name}= CORDRobot.getFieldValueFromDict ${siteDict} name |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 88 | Log ${name} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 89 | ${siteDict}= CORDRobot.getDictFromListofDict ${json_result} name ${name} |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 90 | Log ${siteDict} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 91 | ${siteId}= CORDRobot.getFieldValueFromDict ${siteDict} id |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 92 | Log ${siteId} |
Zack Williams | 821c502 | 2020-01-15 15:11:46 -0700 | [diff] [blame^] | 93 | ${test_result}= CORDRobot.ApiDelete CORE_SITES ${siteId} |
You Wang | 65aa7ef | 2017-01-03 16:23:44 -0800 | [diff] [blame] | 94 | Should Be True ${test_result} |