blob: 450ef43206e00bb2a2553fa1cbcea1ad7cf2a346 [file] [log] [blame]
*** Settings ***
Documentation Test suite for Instance API verification
Suite Setup Read InputFile
Test Template Verify Instance API functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library ../Framework/utils/utils.py
Library ../Framework/restApi.py
| Variables | ../Properties/RestApiProperties.py
*** Variables ***
${USER} admin
${PASSWORD} admin
${PATHFILE} ${CURDIR}/data/Instance.json
| ${IP} | ${SERVER_IP}
| ${PORT} | ${SERVER_PORT}
*** Test Cases *** TYPE LISTINDEX
Test Add Instance-1
CREATE 0
Test Get Instance-1
RETRIEVE 0
Test Delete Instance-1
DELETE 0
Test Add Instance-2
CREATE 1
Test Get Instance-2
RETRIEVE 1
Test Delete Instance-2
DELETE 1
*** Keywords ***
Read InputFile
${instanceList} = utils.jsonToList ${PATHFILE} InstanceInfo
Set Suite Variable ${iList} ${instanceList}
${image}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/images/1/
Set Suite Variable ${image} ${image}
${slice}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/slices/1/
Set Suite Variable ${slice} ${slice}
${deployment}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/deployments/1/
Set Suite Variable ${deployment} ${deployment}
${node}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/nodes/1/
Set Suite Variable ${node} ${node}
${creator}= Catenate SEPARATOR= http:// ${IP} : ${PORT} /api/core/users/1/
Set Suite Variable ${creator} ${creator}
Verify Instance API functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Post Instances ${listIndex}
Run Keyword If "${type}" == "RETRIEVE" Test Get Instances ${listIndex}
Run Keyword If "${type}" == "DELETE" Test Delete Instances ${listIndex}
Test Post Instances
[Arguments] ${listIndex}
${instanceList} = Get Variable Value ${iList}
${instanceDict}= utils.listToDict ${instanceList} ${listIndex}
${image}= Get Variable Value ${image}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} image ${image}
${slice}= Get Variable Value ${slice}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} slice ${slice}
${deployment}= Get Variable Value ${deployment}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} deployment ${deployment}
${node}= Get Variable Value ${node}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} node ${node}
${creator}= Get Variable Value ${creator}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} creator ${creator}
${api_result}= restApi.ApiPost CORE_INSTANCES ${instanceDict}
Should Be True ${api_result}
Test Get Instances
[Arguments] ${listIndex}
${json_result}= restApi.ApiGet CORE_INSTANCES
Log ${json_result}
${instanceList}= Get Variable Value ${iList}
${instanceDict}= utils.listToDict ${instanceList} ${listIndex}
${image}= Get Variable Value ${image}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} image ${image}
${slice}= Get Variable Value ${slice}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} slice ${slice}
${deployment}= Get Variable Value ${deployment}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} deployment ${deployment}
${node}= Get Variable Value ${node}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} node ${node}
${creator}= Get Variable Value ${creator}
${instanceDict}= utils.setFieldValueInDict ${instanceDict} creator ${creator}
${instanceName}= utils.getFieldValueFromDict ${instanceDict} name
${getJsonDict}= utils.getDictFromListOfDict ${json_result} name ${instanceName}
${test_result}= utils.compare_dict ${instanceDict} ${getJsonDict}
Should Be True ${json_result}
Test Delete Instances
[Arguments] ${listIndex}
${json_getresult}= restApi.ApiGet CORE_INSTANCES
${instanceList}= Get Variable Value ${iList}
${instanceDict}= utils.listToDict ${iList} ${listIndex}
${instanceName}= utils.getFieldValueFromDict ${instanceDict} name
Log ${instanceName}
${getInstanceDict}= utils.getDictFromListofDict ${json_getresult} name ${instanceName}
Log ${getInstanceDict}
${instanceID}= utils.getFieldValueFromDict ${getInstanceDict} id
Log ${instanceID}
${test_result}= restApi.ApiDelete CORE_INSTANCES ${instanceID}
Should be True ${test_result}