blob: ee7ec11c464a281349b349ad7bd8569c1a80c790 [file] [log] [blame]
*** Settings ***
Documentation Test suite for Slice API verification
Suite Setup Read InputFile
Test Template Verify Slice API functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library CORDRobot
Library ImportResource resources=CORDRobot
| Variables | ../Properties/RestApiProperties.py
*** Variables ***
${USER} admin
${PASSWORD} admin
${PATHFILE} ${CURDIR}/data/Slice.json
| ${IP} | ${SERVER_IP}
| ${PORT} | ${SERVER_PORT}
*** Test Cases *** TYPE LISTINDEX
Test Add Slice-1 CREATE 0
Test Get Slice-1 RETRIEVE 0
Test Delete Slice-1 DELETE 0
Test Add Slice-2 CREATE 1
Test Get Slice-2 RETRIEVE 1
Test Delete Slice-2 DELETE 1
*** Keywords ***
Read InputFile
${sliceList} = CORDRobot.jsonToList ${PATHFILE} SliceInfo
Set Suite Variable ${sList} ${sliceList}
${site}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/sites/1/
Set Suite Variable ${site} ${site}
${creator}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/users/1/
Set Suite Variable ${creator} ${creator}
Verify Slice API functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Post Slice API ${listIndex}
Run Keyword If "${type}" == "RETRIEVE" Test Get Slice API ${listIndex}
Run Keyword If "${type}" == "DELETE" Test Delete Slice API ${listIndex}
Test Post Slice API
[Arguments] ${listIndex}
${sliceList} = Get Variable Value ${sList}
${sliceDict}= CORDRobot.listToDict ${sliceList} ${listIndex}
${site}= Get Variable Value ${site}
${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} site ${site}
${creator}= Get Variable Value ${creator}
${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} creator ${creator}
${api_result}= CORDRobot.ApiPost CORE_SLICES ${sliceDict}
Should Be True ${api_result}
Test Get Slice API
[Arguments] ${listIndex}
${json_result}= CORDRobot.ApiGet CORE_SLICES
Log ${json_result}
${sliceList}= Get Variable Value ${sList}
${sliceDict}= CORDRobot.listToDict ${sliceList} ${listIndex}
${site}= Get Variable Value ${site}
${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} site ${site}
${creator}= Get Variable Value ${creator}
${sliceDict}= CORDRobot.setFieldValueInDict ${sliceDict} creator ${creator}
${ID}= CORDRobot.getFieldValueFromDict ${sliceDict} id
${getJsonDict}= CORDRobot.getDictFromListOfDict ${json_result} id ${ID}
${test_result}= CORDRobot.compare_dict ${sliceDict} ${getJsonDict}
Should Be True ${json_result}
Test Delete Slice API
[Arguments] ${listIndex}
${json_getresult}= CORDRobot.ApiGet CORE_SLICES
${sliceList}= Get Variable Value ${sList}
${sliceDict}= CORDRobot.listToDict ${sList} ${listIndex}
${sliceName}= CORDRobot.getFieldValueFromDict ${sliceDict} name
Log ${sliceName}
${getSliceDict}= CORDRobot.getDictFromListofDict ${json_getresult} name ${sliceName}
Log ${getSliceDict}
${sliceID}= CORDRobot.getFieldValueFromDict ${getSliceDict} id
Log ${sliceID}
${test_result}= CORDRobot.ApiDelete CORE_SLICES ${sliceID}
Should be True ${test_result}