blob: b7b066cca6e50444b40ad3849dcb6722e61a721e [file] [log] [blame]
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -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 Vemuri0f3dd092018-07-10 17:24:56 -070012
13*** Variables ***
14${PATHFILE} ${CURDIR}/data/FabricSwitch.json
15${PATHFILE1} ${CURDIR}/data/FabricSwitchPort.json
16${PATHFILE2} ${CURDIR}/data/FabricPortInterface.json
17
18*** Test Cases *** TYPE LISTINDEX
19Test Create FarbicSwitch-1
20 CREATE 0
21Test Get FabricSwitch-1
22 RETRIEVE 0
23Test Create FabricSwitchPort-1
24 PORTCREATE 0
25Test Get FabricSwitchPort-1
26 PORTRETRIEVE 0
27Test Create FabricPortInterface-1
28 INTERFACECREATE 0
29Test Get FabricPortInterface-1
30 INTERFACERETRIEVE 0
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070031Test Create FabricSwitchPort-2
32 PORTCREATE 1
33Test Get FabricSwitchPort-2
34 PORTRETRIEVE 1
35Test Create FabricPortInterface-2
36 INTERFACECREATE 1
37Test Get FabricPortInterface-2
38 INTERFACERETRIEVE 1
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070039
40*** Keywords ***
41Read InputFile
Zack Williams821c5022020-01-15 15:11:46 -070042 ${FabricList}= CORDRobot.jsonToList ${PATHFILE} FabricSwitchInfo
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070043 Set Suite Variable ${dlist} ${FabricList}
44 Set Global Variable ${Fabric_Id} ${EMPTY}
Zack Williams821c5022020-01-15 15:11:46 -070045 ${FabricPortList}= CORDRobot.jsonToList ${PATHFILE1} FabricSwitchPort
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070046 Set Suite Variable ${plist} ${FabricPortList}
47 Set Global Variable ${SwitchPort_Id} ${EMPTY}
Zack Williams821c5022020-01-15 15:11:46 -070048 ${FabricInterfaceList}= CORDRobot.jsonToList ${PATHFILE2} FabricPortInterface
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070049 Set Suite Variable ${ilist} ${FabricInterfaceList}
50 Set Global Variable ${FabricInterface_Id} ${EMPTY}
51
52Verify FabricSwitch functionality
53 [Arguments] ${type} ${listIndex}
54 Run Keyword If "${type}" == "CREATE" Test Create Fabric Switch ${listIndex}
55 Run Keyword If "${type}" == "RETRIEVE" Test Get Fabric Switch ${listIndex}
56 Run Keyword If "${type}" == "PORTCREATE" Test Create Switch Port API ${listIndex}
57 Run Keyword If "${type}" == "PORTRETRIEVE" Test Get Switch Port API ${listIndex}
58 Run Keyword If "${type}" == "INTERFACECREATE" Test Create Fabric Interface ${listIndex}
59 Run Keyword If "${type}" == "INTERFACERETRIEVE" Test Get Fabric Interface ${listIndex}
60
61Test Create Fabric Switch
62 [Arguments] ${listIndex}
63 ${FabricList} = Get Variable Value ${dlist}
Zack Williams821c5022020-01-15 15:11:46 -070064 ${FabricDict}= CORDRobot.listToDict ${FabricList} ${listIndex}
65 ${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson FABRIC_SWITCH ${FabricDict}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070066 Should Be True ${api_result_status}
67 ${Fabric_Id}= Get From Dictionary ${api_result_json} id
68 Set Global Variable ${Fabric_Id}
69
70Test Get Fabric Switch
71 [Arguments] ${listIndex}
72 Log ${Fabric_Id}
Zack Williams821c5022020-01-15 15:11:46 -070073 ${json_result}= CORDRobot.ApiChameleonGet FABRIC_SWITCH ${Fabric_Id}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070074 Log ${json_result}
75 ${FabricList} = Get Variable Value ${dlist}
Zack Williams821c5022020-01-15 15:11:46 -070076 ${FabricDict}= CORDRobot.listToDict ${FabricList} ${listIndex}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070077 Log ${FabricDict}
Zack Williams821c5022020-01-15 15:11:46 -070078 ${test_result}= CORDRobot.compare_dict ${FabricDict} ${json_result}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070079 Should Be True ${test_result}
80
81Test Create Switch Port API
82 [Arguments] ${listIndex}
83 ${SwitchPortList} = Get Variable Value ${plist}
Zack Williams821c5022020-01-15 15:11:46 -070084 ${SwitchPortDict}= CORDRobot.listToDict ${SwitchPortList} ${listIndex}
85 ${SwitchPortDict}= CORDRobot.setFieldValueInDict ${SwitchPortDict} switch_id ${Fabric_Id}
86 ${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson SWITCH_PORT ${SwitchPortDict}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070087 Should Be True ${api_result_status}
88 ${SwitchPort_Id}= Get From Dictionary ${api_result_json} id
89 Set Global Variable ${SwitchPort_Id}
90
91Test Get Switch Port API
92 [Arguments] ${listIndex}
93 Log ${SwitchPort_Id}
Zack Williams821c5022020-01-15 15:11:46 -070094 ${json_result}= CORDRobot.ApiChameleonGet SWITCH_PORT ${SwitchPort_Id}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070095 Log ${json_result}
96 ${SwitchPortList} = Get Variable Value ${plist}
Zack Williams821c5022020-01-15 15:11:46 -070097 ${SwitchPortDict}= CORDRobot.listToDict ${SwitchPortList} ${listIndex}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -070098 Log ${SwitchPortDict}
Zack Williams821c5022020-01-15 15:11:46 -070099 ${test_result}= CORDRobot.compare_dict ${SwitchPortDict} ${json_result}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -0700100 Should Be True ${test_result}
101
102Test Create Fabric Interface
103 [Arguments] ${listIndex}
104 ${FabricInterfaceList}= Get Variable Value ${ilist}
Zack Williams821c5022020-01-15 15:11:46 -0700105 ${FabricInterfaceDict}= CORDRobot.listToDict ${FabricInterfaceList} ${listIndex}
106 ${FabricInterfaceDict}= CORDRobot.setFieldValueInDict ${FabricInterfaceDict} port_id ${SwitchPort_Id}
107 ${api_result_status} ${api_result_json}= CORDRobot.ApiPostReturnJson PORT_INTERFACE ${FabricInterfaceDict}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -0700108 Should Be True ${api_result_status}
109 ${FabricInterface_Id}= Get From Dictionary ${api_result_json} id
110 Set Global Variable ${FabricInterface_Id}
111
112Test Get Fabric Interface
113 [Arguments] ${listIndex}
114 Log ${FabricInterface_Id}
Zack Williams821c5022020-01-15 15:11:46 -0700115 ${json_result}= CORDRobot.ApiChameleonGet PORT_INTERFACE ${FabricInterface_Id}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -0700116 Log ${json_result}
117 ${FabricInterfaceList} = Get Variable Value ${ilist}
Zack Williams821c5022020-01-15 15:11:46 -0700118 ${FabricInterfaceDict}= CORDRobot.listToDict ${FabricInterfaceList} ${listIndex}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -0700119 Log ${FabricInterfaceDict}
Zack Williams821c5022020-01-15 15:11:46 -0700120 ${test_result}= CORDRobot.compare_dict ${FabricInterfaceDict} ${json_result}
Suchitra Vemuri0f3dd092018-07-10 17:24:56 -0700121 Should Be True ${test_result}