blob: fc5790225eea1aeef05e8c3d2256b9f64163557b [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
10Library ../Framework/utils/utils.py
11Library ../Framework/restApi.py
12
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
31Test Create FarbicSwitch-2
32 CREATE 1
33Test Get FabricSwitch-2
34 RETRIEVE 1
35Test Create FabricSwitchPort-2
36 PORTCREATE 1
37Test Get FabricSwitchPort-2
38 PORTRETRIEVE 1
39Test Create FabricPortInterface-2
40 INTERFACECREATE 1
41Test Get FabricPortInterface-2
42 INTERFACERETRIEVE 1
43Test Create FarbicSwitch-3
44 CREATE 2
45Test Get FabricSwitch-3
46 RETRIEVE 2
47Test Create FarbicSwitch-4
48 CREATE 3
49Test Get FabricSwitch-4
50 RETRIEVE 3
51
52*** Keywords ***
53Read InputFile
54 ${FabricList}= utils.jsonToList ${PATHFILE} FabricSwitchInfo
55 Set Suite Variable ${dlist} ${FabricList}
56 Set Global Variable ${Fabric_Id} ${EMPTY}
57 ${FabricPortList}= utils.jsonToList ${PATHFILE1} FabricSwitchPort
58 Set Suite Variable ${plist} ${FabricPortList}
59 Set Global Variable ${SwitchPort_Id} ${EMPTY}
60 ${FabricInterfaceList}= utils.jsonToList ${PATHFILE2} FabricPortInterface
61 Set Suite Variable ${ilist} ${FabricInterfaceList}
62 Set Global Variable ${FabricInterface_Id} ${EMPTY}
63
64Verify FabricSwitch functionality
65 [Arguments] ${type} ${listIndex}
66 Run Keyword If "${type}" == "CREATE" Test Create Fabric Switch ${listIndex}
67 Run Keyword If "${type}" == "RETRIEVE" Test Get Fabric Switch ${listIndex}
68 Run Keyword If "${type}" == "PORTCREATE" Test Create Switch Port API ${listIndex}
69 Run Keyword If "${type}" == "PORTRETRIEVE" Test Get Switch Port API ${listIndex}
70 Run Keyword If "${type}" == "INTERFACECREATE" Test Create Fabric Interface ${listIndex}
71 Run Keyword If "${type}" == "INTERFACERETRIEVE" Test Get Fabric Interface ${listIndex}
72
73Test Create Fabric Switch
74 [Arguments] ${listIndex}
75 ${FabricList} = Get Variable Value ${dlist}
76 ${FabricDict}= utils.listToDict ${FabricList} ${listIndex}
77 ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson FABRIC_SWITCH ${FabricDict}
78 Should Be True ${api_result_status}
79 ${Fabric_Id}= Get From Dictionary ${api_result_json} id
80 Set Global Variable ${Fabric_Id}
81
82Test Get Fabric Switch
83 [Arguments] ${listIndex}
84 Log ${Fabric_Id}
85 ${json_result}= restApi.ApiChameleonGet FABRIC_SWITCH ${Fabric_Id}
86 Log ${json_result}
87 ${FabricList} = Get Variable Value ${dlist}
88 ${FabricDict}= utils.listToDict ${FabricList} ${listIndex}
89 Log ${FabricDict}
90 ${test_result}= utils.compare_dict ${FabricDict} ${json_result}
91 Should Be True ${test_result}
92
93Test Create Switch Port API
94 [Arguments] ${listIndex}
95 ${SwitchPortList} = Get Variable Value ${plist}
96 ${SwitchPortDict}= utils.listToDict ${SwitchPortList} ${listIndex}
97 ${SwitchPortDict}= utils.setFieldValueInDict ${SwitchPortDict} switch_id ${Fabric_Id}
98 ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson SWITCH_PORT ${SwitchPortDict}
99 Should Be True ${api_result_status}
100 ${SwitchPort_Id}= Get From Dictionary ${api_result_json} id
101 Set Global Variable ${SwitchPort_Id}
102
103Test Get Switch Port API
104 [Arguments] ${listIndex}
105 Log ${SwitchPort_Id}
106 ${json_result}= restApi.ApiChameleonGet SWITCH_PORT ${SwitchPort_Id}
107 Log ${json_result}
108 ${SwitchPortList} = Get Variable Value ${plist}
109 ${SwitchPortDict}= utils.listToDict ${SwitchPortList} ${listIndex}
110 Log ${SwitchPortDict}
111 ${test_result}= utils.compare_dict ${SwitchPortDict} ${json_result}
112 Should Be True ${test_result}
113
114Test Create Fabric Interface
115 [Arguments] ${listIndex}
116 ${FabricInterfaceList}= Get Variable Value ${ilist}
117 ${FabricInterfaceDict}= utils.listToDict ${FabricInterfaceList} ${listIndex}
118 ${FabricInterfaceDict}= utils.setFieldValueInDict ${FabricInterfaceDict} port_id ${SwitchPort_Id}
119 ${api_result_status} ${api_result_json}= restApi.ApiPostReturnJson PORT_INTERFACE ${FabricInterfaceDict}
120 Should Be True ${api_result_status}
121 ${FabricInterface_Id}= Get From Dictionary ${api_result_json} id
122 Set Global Variable ${FabricInterface_Id}
123
124Test Get Fabric Interface
125 [Arguments] ${listIndex}
126 Log ${FabricInterface_Id}
127 ${json_result}= restApi.ApiChameleonGet PORT_INTERFACE ${FabricInterface_Id}
128 Log ${json_result}
129 ${FabricInterfaceList} = Get Variable Value ${ilist}
130 ${FabricInterfaceDict}= utils.listToDict ${FabricInterfaceList} ${listIndex}
131 Log ${FabricInterfaceDict}
132 ${test_result}= utils.compare_dict ${FabricInterfaceDict} ${json_result}
133 Should Be True ${test_result}