blob: 75599ebf24fd255acc800da46e4f1b8971e73fd8 [file] [log] [blame]
You Wang65aa7ef2017-01-03 16:23:44 -08001*** Settings ***
2Documentation Test suite for Site verification
3Suite Setup Read InputFile
4Test Template Verify Site functionality
5Library Collections
6Library String
7Library OperatingSystem
8Library XML
9Library RequestsLibrary
Zack Williams821c5022020-01-15 15:11:46 -070010Library CORDRobot
11Library ImportResource resources=CORDRobot
You Wang65aa7ef2017-01-03 16:23:44 -080012
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
20Test Post Site-1 CREATE 0
21
22Test Get Site-1 RETRIEVE 0
23
24Test Edit Site-1 PUT 0
25
26Test Delete Site-1 DELETE 0
27
28Test Post Site-2 CREATE 1
29
30Test Get Site-2 RETRIEVE 1
31
32Test Edit Site-2 PUT 1
33
34Test Delete Site-2 DELETE 1
35
36*** Keywords ***
37Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070038 ${siteList}= CORDRobot.jsonToList ${PATHFILE} SiteInfo
You Wang65aa7ef2017-01-03 16:23:44 -080039 Set Suite Variable ${slist} ${siteList}
Zack Williams821c5022020-01-15 15:11:46 -070040 ${putSiteList}= CORDRobot.jsonToList ${PATHFILE2} SiteInfo
You Wang65aa7ef2017-01-03 16:23:44 -080041 Set Suite Variable ${putList} ${putSiteList}
42
43Verify 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
50Test Post Site API
51 [Arguments] ${listIndex}
52 ${siteList} = Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070053 ${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex}
54 ${api_result}= CORDRobot.ApiPost CORE_SITES ${siteDict}
You Wang65aa7ef2017-01-03 16:23:44 -080055 Should Be True ${api_result}
56
57Test Get Site API
58 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070059 ${json_result}= CORDRobot.ApiGet CORE_SITES
You Wang65aa7ef2017-01-03 16:23:44 -080060 Log ${json_result}
61 ${siteList}= Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070062 ${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 Wang65aa7ef2017-01-03 16:23:44 -080066 Should Be True ${test_result}
67
68Test Edit Site API
69 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070070 ${get_result}= CORDRobot.ApiGet CORE_SITES
You Wang65aa7ef2017-01-03 16:23:44 -080071 ${putSiteList}= Get Variable Value ${putList}
Zack Williams821c5022020-01-15 15:11:46 -070072 ${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 Wang65aa7ef2017-01-03 16:23:44 -080077 Should Be True ${api_result}
Zack Williams821c5022020-01-15 15:11:46 -070078 ${getResultAfterPut}= CORDRobot.ApiGet CORE_SITES ${siteID}
79 ${test_result}= CORDRobot.compare_dict ${putSiteDict} ${getResultAfterPut}
You Wang65aa7ef2017-01-03 16:23:44 -080080 Should Be True ${test_result}
81
82Test Delete Site API
83 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070084 ${json_result}= CORDRobot.ApiGet CORE_SITES
You Wang65aa7ef2017-01-03 16:23:44 -080085 ${siteList}= Get Variable Value ${slist}
Zack Williams821c5022020-01-15 15:11:46 -070086 ${siteDict}= CORDRobot.listToDict ${siteList} ${listIndex}
87 ${name}= CORDRobot.getFieldValueFromDict ${siteDict} name
You Wang65aa7ef2017-01-03 16:23:44 -080088 Log ${name}
Zack Williams821c5022020-01-15 15:11:46 -070089 ${siteDict}= CORDRobot.getDictFromListofDict ${json_result} name ${name}
You Wang65aa7ef2017-01-03 16:23:44 -080090 Log ${siteDict}
Zack Williams821c5022020-01-15 15:11:46 -070091 ${siteId}= CORDRobot.getFieldValueFromDict ${siteDict} id
You Wang65aa7ef2017-01-03 16:23:44 -080092 Log ${siteId}
Zack Williams821c5022020-01-15 15:11:46 -070093 ${test_result}= CORDRobot.ApiDelete CORE_SITES ${siteId}
You Wang65aa7ef2017-01-03 16:23:44 -080094 Should Be True ${test_result}