blob: ee7ec11c464a281349b349ad7bd8569c1a80c790 [file] [log] [blame]
Suchitra Vemurif7410a92017-05-16 17:04:05 -07001*** Settings ***
2Documentation Test suite for Slice API verification
3Suite Setup Read InputFile
4Test Template Verify Slice API 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| Variables | ../Properties/RestApiProperties.py
13
14*** Variables ***
15${USER} admin
16${PASSWORD} admin
17${PATHFILE} ${CURDIR}/data/Slice.json
18| ${IP} | ${SERVER_IP}
19| ${PORT} | ${SERVER_PORT}
20
21*** Test Cases *** TYPE LISTINDEX
22Test Add Slice-1 CREATE 0
23
24Test Get Slice-1 RETRIEVE 0
25
26Test Delete Slice-1 DELETE 0
27
28Test Add Slice-2 CREATE 1
29
30Test Get Slice-2 RETRIEVE 1
31
32Test Delete Slice-2 DELETE 1
33
34*** Keywords ***
35Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070036 ${sliceList} = CORDRobot.jsonToList ${PATHFILE} SliceInfo
Suchitra Vemurif7410a92017-05-16 17:04:05 -070037 Set Suite Variable ${sList} ${sliceList}
38 ${site}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/sites/1/
39 Set Suite Variable ${site} ${site}
40 ${creator}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/users/1/
41 Set Suite Variable ${creator} ${creator}
42
43Verify Slice API functionality
44 [Arguments] ${type} ${listIndex}
45 Run Keyword If "${type}" == "CREATE" Test Post Slice API ${listIndex}
46 Run Keyword If "${type}" == "RETRIEVE" Test Get Slice API ${listIndex}
47 Run Keyword If "${type}" == "DELETE" Test Delete Slice API ${listIndex}
48
49Test Post Slice API
50 [Arguments] ${listIndex}
51 ${sliceList} = Get Variable Value ${sList}
Zack Williams821c5022020-01-15 15:11:46 -070052 ${sliceDict}= CORDRobot.listToDict ${sliceList} ${listIndex}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070053 ${site}= Get Variable Value ${site}
Zack Williams821c5022020-01-15 15:11:46 -070054 ${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} site ${site}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070055 ${creator}= Get Variable Value ${creator}
Zack Williams821c5022020-01-15 15:11:46 -070056 ${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} creator ${creator}
57 ${api_result}= CORDRobot.ApiPost CORE_SLICES ${sliceDict}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070058 Should Be True ${api_result}
59
60Test Get Slice API
61 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070062 ${json_result}= CORDRobot.ApiGet CORE_SLICES
Suchitra Vemurif7410a92017-05-16 17:04:05 -070063 Log ${json_result}
64 ${sliceList}= Get Variable Value ${sList}
Zack Williams821c5022020-01-15 15:11:46 -070065 ${sliceDict}= CORDRobot.listToDict ${sliceList} ${listIndex}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070066 ${site}= Get Variable Value ${site}
Zack Williams821c5022020-01-15 15:11:46 -070067 ${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} site ${site}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070068 ${creator}= Get Variable Value ${creator}
Zack Williams821c5022020-01-15 15:11:46 -070069 ${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} creator ${creator}
70 ${ID}= CORDRobot.getFieldValueFromDict ${sliceDict} id
71 ${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result} id ${ID}
72 ${test_result}= CORDRobot.compare_dict ${sliceDict} ${getJsonDict}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070073 Should Be True ${json_result}
74
75Test Delete Slice API
76 [Arguments] ${listIndex}
Zack Williams821c5022020-01-15 15:11:46 -070077 ${json_getresult}= CORDRobot.ApiGet CORE_SLICES
Suchitra Vemurif7410a92017-05-16 17:04:05 -070078 ${sliceList}= Get Variable Value ${sList}
Zack Williams821c5022020-01-15 15:11:46 -070079 ${sliceDict}= CORDRobot.listToDict ${sList} ${listIndex}
80 ${sliceName}= CORDRobot.getFieldValueFromDict ${sliceDict} name
Suchitra Vemurif7410a92017-05-16 17:04:05 -070081 Log ${sliceName}
Zack Williams821c5022020-01-15 15:11:46 -070082 ${getSliceDict}= CORDRobot.getDictFromListofDict ${json_getresult} name ${sliceName}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070083 Log ${getSliceDict}
Zack Williams821c5022020-01-15 15:11:46 -070084 ${sliceID}= CORDRobot.getFieldValueFromDict ${getSliceDict} id
Suchitra Vemurif7410a92017-05-16 17:04:05 -070085 Log ${sliceID}
Zack Williams821c5022020-01-15 15:11:46 -070086 ${test_result}= CORDRobot.ApiDelete CORE_SLICES ${sliceID}
Suchitra Vemurif7410a92017-05-16 17:04:05 -070087 Should be True ${test_result}