blob: a211672493e49a7d8f8459eec4e79272d8fbe9f1 [file] [log] [blame]
*** Settings ***
Documentation Test suite for FabricSwitch
Suite Setup Read InputFile
Test Template Verify FabricSwitch functionality
Library Collections
Library String
Library OperatingSystem
Library XML
Library RequestsLibrary
Library CORDRobot
Library ImportResource resources=CORDRobot
*** Variables ***
${PATHFILE} ../data/FabricSwitch.json
${PATHFILE1} ../data/FabricSwitchPort.json
*** Test Cases *** TYPE LISTINDEX
Test Create FarbicSwitch-1
CREATE 0
Test Get FabricSwitch-1
RETRIEVE 0
Test Create FabricSwitchPort-1
PORTCREATE 0
Test Get FabricSwitchPort-1
PORTRETRIEVE 0
Test Create FabricSwitchPort-2
PORTCREATE 1
Test Get FabricSwitchPort-2
PORTRETRIEVE 1
*** Keywords ***
Read InputFile
${FabricList}= CORDRobot.jsonToList ${PATHFILE} FabricSwitchInfo
Set Suite Variable ${dlist} ${FabricList}
Set Global Variable ${Fabric_Id} ${EMPTY}
${FabricPortList}= CORDRobot.jsonToList ${PATHFILE1} FabricSwitchPort
Set Suite Variable ${plist} ${FabricPortList}
Set Global Variable ${SwitchPort_Id} ${EMPTY}
Verify FabricSwitch functionality
[Arguments] ${type} ${listIndex}
Run Keyword If "${type}" == "CREATE" Test Create Fabric Switch ${listIndex}
Run Keyword If "${type}" == "RETRIEVE" Test Get Fabric Switch ${listIndex}
Run Keyword If "${type}" == "PORTCREATE" Test Create Switch Port API ${listIndex}
Run Keyword If "${type}" == "PORTRETRIEVE" Test Get Switch Port API ${listIndex}
Test Create Fabric Switch
[Arguments] ${listIndex}
${FabricList} = Get Variable Value ${dlist}
${FabricDict}= CORDRobot.listToDict ${FabricList} ${listIndex}
${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson FABRIC_SWITCH ${FabricDict}
Should Be True ${api_result_status}
${Fabric_Id}= Get From Dictionary ${api_result_json} id
Set Global Variable ${Fabric_Id}
Test Get Fabric Switch
[Arguments] ${listIndex}
Log ${Fabric_Id}
${json_result}= CORDRobot.ApiChameleonGet FABRIC_SWITCH ${Fabric_Id}
Log ${json_result}
${FabricList} = Get Variable Value ${dlist}
${FabricDict}= CORDRobot.listToDict ${FabricList} ${listIndex}
Log ${FabricDict}
${test_result}= CORDRobot.compare_dict ${FabricDict} ${json_result}
Should Be True ${test_result}
Test Create Switch Port API
[Arguments] ${listIndex}
${SwitchPortList} = Get Variable Value ${plist}
${SwitchPortDict}= CORDRobot.listToDict ${SwitchPortList} ${listIndex}
${SwitchPortDict}= CORDRobot.setFieldValueInDict ${SwitchPortDict} switch_id ${Fabric_Id}
${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson SWITCH_PORT ${SwitchPortDict}
Should Be True ${api_result_status}
${SwitchPort_Id}= Get From Dictionary ${api_result_json} id
Set Global Variable ${SwitchPort_Id}
Test Get Switch Port API
[Arguments] ${listIndex}
Log ${SwitchPort_Id}
${json_result}= CORDRobot.ApiChameleonGet SWITCH_PORT ${SwitchPort_Id}
Log ${json_result}
${SwitchPortList} = Get Variable Value ${plist}
${SwitchPortDict}= CORDRobot.listToDict ${SwitchPortList} ${listIndex}
Log ${SwitchPortDict}
${test_result}= CORDRobot.compare_dict ${SwitchPortDict} ${json_result}
Should Be True ${test_result}