blob: 5f9333941511c566071b42d525a2d43091c062e5 [file] [log] [blame]
*** Settings ***
Documentation Test suite for PONPort
Suite Setup Read InputFile
Test Template Verify PONPort functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library CORDRobot
Library ImportResource resources=CORDRobot
*** Variables ***
# Update the input file for olt_device_id before running the tests
${PATHFILE} ${CURDIR}/data/PONPort.json
*** Test Cases *** TYPE LISTINDEX
Test Create PONPort-1
CREATE 0
Test Get PONPort-1
RETRIEVE 0
Test Delete PONPort-1
DELETE 0
Test Create PONPort-2
CREATE 1
Test Get PONPort-2
RETRIEVE 1
Test Delete PONPort-2
DELETE 1
Test Create PONPort-3
CREATE 2
Test Get PONPort-3
RETRIEVE 2
Test Delete PONPort-3
DELETE 2
*** Keywords ***
Read InputFile
${PONPortList}= CORDRobot.jsonToList ${PATHFILE} PONPortInfo
Set Suite Variable ${plist} ${PONPortList}
Set Suite Variable ${PONPort_Id} ${EMPTY}
Verify PONPort functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Post PONPort API ${listIndex}
Run Keyword If "${type}" == "RETRIEVE" Test Get PONPort API ${listIndex}
Run Keyword If "${type}" == "DELETE" Test Delete PONPort API ${listIndex}
Test Post PONPort API
[Arguments] ${listIndex}
${PONPortList} = Get Variable Value ${plist}
${PONPortDict}= CORDRobot.listToDict ${PONPortList} ${listIndex}
${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson PON_PORT ${PONPortDict}
Should Be True ${api_result_status}
${PONPort_Id}= Get From Dictionary ${api_result_json} id
Set Global Variable ${PONPort_Id}
Test Get PONPort API
[Arguments] ${listIndex}
Log ${PONPort_Id}
${json_result}= CORDRobot.ApiChameleonGet PON_PORT ${PONPort_Id}
Log ${json_result}
${PONPortList} = Get Variable Value ${plist}
${PONPortDict}= CORDRobot.listToDict ${PONPortList} ${listIndex}
Log ${PONPortDict}
${test_result}= CORDRobot.compare_dict ${PONPortDict} ${json_result}
Should Be True ${test_result}
Test Delete PONPort API
[Arguments] ${listIndex}
${test_result}= CORDRobot.ApiChameleonDelete PON_PORT ${PONPort_Id}
Should Be True ${test_result}