1*** Settings *** 2 3Documentation Test OpenBMC GUI "Overview" menu. 4 5Resource ../../lib/gui_resource.robot 6Resource ../../../lib/logging_utils.robot 7Resource ../../../lib/list_utils.robot 8Resource ../../../lib/bmc_network_utils.robot 9 10Library String 11 12Suite Setup Run Keywords Launch Browser And Login GUI AND Redfish.Login 13Suite Teardown Run Keywords Close Browser AND Redfish.Logout 14Test Setup Test Setup Execution 15 16 17*** Variables *** 18 19${xpath_overview_page_header} //h1[contains(text(), "Overview")] 20${xpath_edit_network_settings_button} (//*[text()="View more"])[3] 21${view_all_event_logs} (//*[text()="View more"])[5] 22${xpath_launch_host_console} //*[@data-test-id='overviewQuickLinks-button-solConsole'] 23${xpath_led_button} //*[@data-test-id='overviewInventory-checkbox-identifyLed'] 24${view_all_Dumps} (//*[text()="View more"])[7] 25 26*** Test Cases *** 27 28Verify Existence Of All Sections In Overview Page 29 [Documentation] Verify existence of all sections in Overview page. 30 [Tags] Verify_Existence_Of_All_Sections_In_Overview_Page 31 32 Page Should Contain BMC date and time 33 Page Should Contain Firmware information 34 Page Should Contain Server information 35 Wait Until Page Contains Network information timeout=10 36 Page Should Contain Power information 37 Page Should Contain Event logs 38 Page Should Contain Inventory and LEDs 39 Page Should Contain Dumps 40 41 42Verify Network Information In Overview Page 43 [Documentation] Verify values under network information section. 44 [Tags] Verify_Network_Information_In_Overview_Page 45 46 ${hostname}= Get BMC Hostname 47 Page Should Contain ${hostname} 48 49 # Get all IP addresses and prefix lengths on system. 50 51 ${ip_addr_list}= Get BMC IP Info 52 FOR ${ip_address} IN @{ip_addr_list} 53 ${ip}= Fetch From Left ${ip_address} \/ 54 Page Should Contain ${ip} 55 END 56 57 58Verify Server Information Section 59 [Documentation] Verify values under server information section in overview page. 60 [Tags] Verify_Server_Information_Section 61 62 ${redfish_machine_model}= Redfish.Get Attribute /redfish/v1/Systems/system/ Model 63 Page Should Contain ${redfish_machine_model} 64 65 ${redfish_serial_number}= Redfish.Get Attribute /redfish/v1/Systems/system/ SerialNumber 66 Page Should Contain ${redfish_serial_number} 67 68 ${redfish_motherboard_manufacturer}= Redfish.Get Attribute 69 ... /redfish/v1/Systems/system/ Manufacturer 70 71 Page Should Contain ${redfish_motherboard_manufacturer} 72 73 74Verify BMC Information Section 75 [Documentation] Verify BMC information section in overview page. 76 [Tags] Verify_BMC_Information_Section 77 78 ${firmware_version}= Redfish Get BMC Version 79 Page Should Contain ${firmware_version} 80 81 82Verify Edit Network Setting Button 83 [Documentation] Verify navigation to network setting page after clicking the button in overview page. 84 [Tags] Verify_Edit_Network_Setting_Button 85 86 Click Element ${xpath_edit_network_settings_button} 87 Wait Until Page Contains Element ${xpath_network_page_header} 88 89 90Verify Event Under High Priority Events Section 91 [Documentation] Verify event under high priority events section in case of any event. 92 [Tags] Verify_Event_Under_High_Priority_Events_Section 93 94 Redfish Purge Event Log 95 Click Element ${xpath_refresh_button} 96 Generate Test Error Log 97 Click Element ${xpath_refresh_button} 98 Wait Until Page Contains xyz.openbmc_project.Common.Error.InternalFailure timeout=30s 99 100 101Verify View All Event Logs Button 102 [Documentation] Verify view all event log button in overview page. 103 [Tags] Verify_View_All_Event_Logs_Button 104 105 Generate Test Error Log 106 Page Should Contain Element ${view_all_event_logs} timeout=30 107 Click Element ${view_all_event_logs} 108 Wait Until Page Contains Element ${xpath_event_header} timeout=30 109 110 111Verify Host Console Button In Overview Page 112 [Documentation] Click host console button and verify page navigation to host console page. 113 [Tags] Verify_Host_Console_Button_In_Overview_Page 114 115 Click Element ${xpath_launch_host_console} 116 Wait Until Page Contains Element ${xpath_host_console_heading} 117 118 119Verify Server LED Turn On 120 [Documentation] Turn on server LED via GUI and verify its status via Redfish. 121 [Tags] Verify_Server_LED_Turn_On 122 123 # Turn Off the server LED via Redfish and refresh GUI. 124 Set IndicatorLED State Off 125 126 Refresh GUI 127 128 # Turn ON the LED via GUI. 129 Click Element At Coordinates ${xpath_led_button} 0 0 130 131 # Cross check that server LED ON state via Redfish. 132 Verify Identify LED State Via Redfish Lit 133 134 135Verify Server LED Turn Off 136 [Documentation] Turn off server LED via GUI and verify its status via Redfish. 137 [Tags] Verify_Server_LED_Turn_Off 138 139 # Turn On the server LED via Redfish and refresh GUI. 140 Set IndicatorLED State Lit 141 Refresh GUI 142 143 # Turn OFF the LED via GUI. 144 Click Element At Coordinates ${xpath_led_button} 0 0 145 146 # Cross check that server LED off state via Redfish. 147 Verify Identify LED State Via Redfish Off 148 149 150Verify BMC Time In Overview Page 151 [Documentation] Verify that BMC date from GUI matches with BMC time via Redfish. 152 [Tags] Verify_BMC_Time_In_Overview_Page 153 154 ${date_time}= Redfish.Get Attribute ${REDFISH_BASE_URI}Managers/bmc DateTime 155 ${converted_date}= Convert Date ${date_time} result_format=%Y-%m-%d 156 157 Page Should Contain ${converted_date} 158 159 160Verify BMC Information At Host Power Off State 161 [Documentation] Verify that BMC information is displayed at host power off state. 162 [Tags] Verify_BMC_Information_At_Host_Power_Off_State 163 164 Redfish Power Off stack_mode=skip 165 ${firmware_version}= Redfish Get BMC Version 166 Page Should Contain ${firmware_version} 167 168 169Verify View More Button For Dumps 170 [Documentation] Verify view more button for dumps button in overview page. 171 [Tags] Verify_View_More_Button_For_Dumps 172 173 Wait Until Page Contains Element ${view_all_Dumps} timeout=30 174 Click Element ${view_all_Dumps} 175 Wait Until Page Contains Element ${xpath_dumps_header} timeout=30 176 177*** Keywords *** 178 179Test Setup Execution 180 [Documentation] Do test case setup tasks. 181 182 Click Element ${xpath_overview_menu} 183 Wait Until Page Contains Element ${xpath_overview_page_header} 184 Wait Until Element Is Not Visible ${xpath_page_loading_progress_bar} timeout=30 185 186 187Verify Identify LED State Via Redfish 188 [Documentation] Verify that Redfish identify LED system with given state. 189 [Arguments] ${expected_state} 190 # Description of argument(s): 191 # expected_state Expected value of Identify LED. 192 193 # Python module: get_member_list(resource_path) 194 ${systems}= Redfish_Utils.Get Member List /redfish/v1/Systems 195 FOR ${system} IN @{systems} 196 ${led_value}= Redfish.Get Attribute ${system} IndicatorLED 197 Should Be True '${led_value}' == '${expected_state}' 198 END 199 200 201Set IndicatorLED State 202 [Documentation] Perform redfish PATCH operation. 203 [Arguments] ${led_state} ${expect_resp_code}=[200, 204] 204 # Description of argument(s): 205 # led_state IndicatorLED state to "off", "Lit" etc. 206 # expect_resp_code Expected HTTPS response code. Default [200, 204] 207 208 # Python module: get_member_list(resource_path) 209 ${systems}= Redfish_Utils.Get Member List /redfish/v1/Systems 210 FOR ${system} IN @{systems} 211 Redfish.Patch ${system} body={"IndicatorLED":${led_state}} valid_status_codes=${expect_resp_code} 212 END 213