blob: a211672493e49a7d8f8459eec4e79272d8fbe9f1 [file] [log] [blame]
Suchitra Vemuri242f8362018-09-12 12:28:34 -07001*** Settings ***
2Documentation Test suite for FabricSwitch
3Suite Setup Read InputFile
4Test Template Verify FabricSwitch 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 Vemuri242f8362018-09-12 12:28:34 -070012
13*** Variables ***
14${PATHFILE} ../data/FabricSwitch.json
15${PATHFILE1} ../data/FabricSwitchPort.json
16
17*** Test Cases *** TYPE LISTINDEX
18Test Create FarbicSwitch-1
19 CREATE 0
20Test Get FabricSwitch-1
21 RETRIEVE 0
22Test Create FabricSwitchPort-1
23 PORTCREATE 0
24Test Get FabricSwitchPort-1
25 PORTRETRIEVE 0
26Test Create FabricSwitchPort-2
27 PORTCREATE 1
28Test Get FabricSwitchPort-2
29 PORTRETRIEVE 1
30
31*** Keywords ***
32Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070033 ${FabricList}= CORDRobot.jsonToList ${PATHFILE} FabricSwitchInfo
Suchitra Vemuri242f8362018-09-12 12:28:34 -070034 Set Suite Variable ${dlist} ${FabricList}
35 Set Global Variable ${Fabric_Id} ${EMPTY}
Zack Williams821c5022020-01-15 15:11:46 -070036 ${FabricPortList}= CORDRobot.jsonToList ${PATHFILE1} FabricSwitchPort
Suchitra Vemuri242f8362018-09-12 12:28:34 -070037 Set Suite Variable ${plist} ${FabricPortList}
38 Set Global Variable ${SwitchPort_Id} ${EMPTY}
39
40Verify FabricSwitch functionality
41 [Arguments] ${type} ${listIndex}
42 Run Keyword If "${type}" == "CREATE" Test Create Fabric Switch ${listIndex}
43 Run Keyword If "${type}" == "RETRIEVE" Test Get Fabric Switch ${listIndex}
44 Run Keyword If "${type}" == "PORTCREATE" Test Create Switch Port API ${listIndex}
45 Run Keyword If "${type}" == "PORTRETRIEVE" Test Get Switch Port API ${listIndex}
46
47Test Create Fabric Switch
48 [Arguments] ${listIndex}
49 ${FabricList} = Get Variable Value ${dlist}
Zack Williams821c5022020-01-15 15:11:46 -070050 ${FabricDict}= CORDRobot.listToDict ${FabricList} ${listIndex}
51 ${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson FABRIC_SWITCH ${FabricDict}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070052 Should Be True ${api_result_status}
53 ${Fabric_Id}= Get From Dictionary ${api_result_json} id
54 Set Global Variable ${Fabric_Id}
55
56Test Get Fabric Switch
57 [Arguments] ${listIndex}
58 Log ${Fabric_Id}
Zack Williams821c5022020-01-15 15:11:46 -070059 ${json_result}= CORDRobot.ApiChameleonGet FABRIC_SWITCH ${Fabric_Id}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070060 Log ${json_result}
61 ${FabricList} = Get Variable Value ${dlist}
Zack Williams821c5022020-01-15 15:11:46 -070062 ${FabricDict}= CORDRobot.listToDict ${FabricList} ${listIndex}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070063 Log ${FabricDict}
Zack Williams821c5022020-01-15 15:11:46 -070064 ${test_result}= CORDRobot.compare_dict ${FabricDict} ${json_result}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070065 Should Be True ${test_result}
66
67Test Create Switch Port API
68 [Arguments] ${listIndex}
69 ${SwitchPortList} = Get Variable Value ${plist}
Zack Williams821c5022020-01-15 15:11:46 -070070 ${SwitchPortDict}= CORDRobot.listToDict ${SwitchPortList} ${listIndex}
71 ${SwitchPortDict}= CORDRobot.setFieldValueInDict ${SwitchPortDict} switch_id ${Fabric_Id}
72 ${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson SWITCH_PORT ${SwitchPortDict}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070073 Should Be True ${api_result_status}
74 ${SwitchPort_Id}= Get From Dictionary ${api_result_json} id
75 Set Global Variable ${SwitchPort_Id}
76
77Test Get Switch Port API
78 [Arguments] ${listIndex}
79 Log ${SwitchPort_Id}
Zack Williams821c5022020-01-15 15:11:46 -070080 ${json_result}= CORDRobot.ApiChameleonGet SWITCH_PORT ${SwitchPort_Id}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070081 Log ${json_result}
82 ${SwitchPortList} = Get Variable Value ${plist}
Zack Williams821c5022020-01-15 15:11:46 -070083 ${SwitchPortDict}= CORDRobot.listToDict ${SwitchPortList} ${listIndex}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070084 Log ${SwitchPortDict}
Zack Williams821c5022020-01-15 15:11:46 -070085 ${test_result}= CORDRobot.compare_dict ${SwitchPortDict} ${json_result}
Suchitra Vemuri242f8362018-09-12 12:28:34 -070086 Should Be True ${test_result}