1a1412562SRahul Maheshwari*** Settings ***
2a1412562SRahul Maheshwari
3142642dcSRahul MaheshwariDocumentation  Test OpenBMC Firmware Update" sub menu of "Operations".
4a1412562SRahul Maheshwari
5a1412562SRahul MaheshwariResource        ../../lib/gui_resource.robot
6a1412562SRahul Maheshwari
7a1412562SRahul MaheshwariSuite Setup     Suite Setup Execution
8a1412562SRahul MaheshwariSuite Teardown  Close Browser
9a1412562SRahul Maheshwari
10*6fb70d98SMatt FischerTest Tags      Firmware_Sub_Menu
110302e9a2SGeorge Keishing
12a1412562SRahul Maheshwari*** Variables ***
13a1412562SRahul Maheshwari
14a1412562SRahul Maheshwari${xpath_firmware_heading}                //h1[text()="Firmware"]
150c4845d8SNandish-Matti${xpath_add_file_button}                 //*[@id='image-file']
16b33ea544Srramyasr-in${xpath_start_update_button}             //*[@data-test-id="firmware-button-startUpdate"]
17a4b74e4aSrramyasr-in${xpath_switch_to_running}               //*[@data-test-id="firmware-button-switchToRunning"]
18a1412562SRahul Maheshwari
19a1412562SRahul Maheshwari*** Test Cases ***
20a1412562SRahul Maheshwari
21a1412562SRahul MaheshwariVerify Navigation To Firmware Page
22a1412562SRahul Maheshwari    [Documentation]  Verify navigation to firmware page.
23a1412562SRahul Maheshwari    [Tags]  Verify_Navigation_To_Firmware_Page
24a1412562SRahul Maheshwari
25a1412562SRahul Maheshwari    Page Should Contain Element  ${xpath_firmware_heading}
26a1412562SRahul Maheshwari
27a1412562SRahul Maheshwari
28a1412562SRahul MaheshwariVerify Existence Of All Sections In Firmware Page
29a1412562SRahul Maheshwari    [Documentation]  Verify existence of all sections in firmware page.
30a1412562SRahul Maheshwari    [Tags]  Verify_Existence_Of_All_Sections_In_Firmware_Page
31a1412562SRahul Maheshwari
32a1412562SRahul Maheshwari    Page Should Contain  BMC and server
33a1412562SRahul Maheshwari    Page Should Contain  Update firmware
34b33ea544Srramyasr-in    Page Should Contain  Access key expiration
35a1412562SRahul Maheshwari
36a1412562SRahul Maheshwari
37b33ea544Srramyasr-inVerify Existence Of All Buttons In Firmware Page At Host Power Off
38b33ea544Srramyasr-in    [Documentation]  Verify existence of all buttons in firmware page at host power off.
39b33ea544Srramyasr-in    [Tags]  Verify_Existence_Of_All_Buttons_In_Firmware_Page_At_Host_Power_Off
40a1412562SRahul Maheshwari
41b33ea544Srramyasr-in    Redfish Power Off  stack_mode=skip
42b33ea544Srramyasr-in
43b33ea544Srramyasr-in    Page Should Contain Element  ${xpath_add_file_button}
44b33ea544Srramyasr-in    Page Should Contain Element  ${xpath_start_update_button}
45a1412562SRahul Maheshwari
46a1412562SRahul Maheshwari
47a4b74e4aSrramyasr-inVerify Existence Of All Sub Sections Under BMC And Server Section At Poweroff State
48a4b74e4aSrramyasr-in    [Documentation]  Verify existence of all sub sections under BMC and server section at poweroff state.
49a4b74e4aSrramyasr-in    [Tags]  Verify_Existence_Of_All_Sub_Sections_Under_BMC_And_Server_Section_At_Poweroff_State
50a4b74e4aSrramyasr-in
51a4b74e4aSrramyasr-in    Redfish Power Off  stack_mode=skip  quiet=1
52f6985d00Srramyasr-in
53f6985d00Srramyasr-in    Page Should Contain  Running image
54f6985d00Srramyasr-in    Page Should Contain  Backup image
55f6985d00Srramyasr-in    Page Should Contain  Temporary
56f6985d00Srramyasr-in    Page Should Contain  Permanent
57a4b74e4aSrramyasr-in    Element Should Be Visible  ${xpath_switch_to_running}
58f6985d00Srramyasr-in
59f6985d00Srramyasr-in
604c9316b4Srramyasr-inVerify Existence Of All Sub Sections Under BMC And Server Section At Power On State
614c9316b4Srramyasr-in    [Documentation]  Verify existence of all sub sections under BMC and server section at power on state.
624c9316b4Srramyasr-in    [Tags]  Verify_Existence_Of_All_Sub_Sections_Under_BMC_And_Server_Section_At_Power_On_State
634c9316b4Srramyasr-in
644c9316b4Srramyasr-in    Redfish Power On  stack_mode=skip  quiet=1
654c9316b4Srramyasr-in
664c9316b4Srramyasr-in    Page Should Contain  Running image
674c9316b4Srramyasr-in    Page Should Contain  Backup image
684c9316b4Srramyasr-in    Page Should Contain  Temporary
694c9316b4Srramyasr-in    Page Should Contain  Permanent
704c9316b4Srramyasr-in    Element Should Be Disabled  ${xpath_switch_to_running}
714c9316b4Srramyasr-in
724c9316b4Srramyasr-in
73bd87c776Srramyasr-inVerify Existence Of All Buttons In Firmware Page At Host Power On
74bd87c776Srramyasr-in    [Documentation]  Verify existence of all buttons in firmware page at host power on.
75bd87c776Srramyasr-in    [Tags]  Verify_Existence_Of_All_Buttons_In_Firmware_Page_At_Host_Power_On
76bd87c776Srramyasr-in
77bd87c776Srramyasr-in    Redfish Power On  stack_mode=skip
78bd87c776Srramyasr-in
790c4845d8SNandish-Matti    Element Should Be Disabled  ${xpath_add_file_button}
800c4845d8SNandish-Matti    Element Should Be Disabled  ${xpath_start_update_button}
81bd87c776Srramyasr-in
82bd87c776Srramyasr-in
83a1412562SRahul Maheshwari*** Keywords ***
84a1412562SRahul Maheshwari
85a1412562SRahul MaheshwariSuite Setup Execution
86a1412562SRahul Maheshwari   [Documentation]  Do test case setup tasks.
87a1412562SRahul Maheshwari
88a1412562SRahul Maheshwari    Launch Browser And Login GUI
89142642dcSRahul Maheshwari    Click Element  ${xpath_operations_menu}
90a1412562SRahul Maheshwari    Click Element  ${xpath_firmware_update_sub_menu}
91a1412562SRahul Maheshwari    Wait Until Keyword Succeeds  30 sec  10 sec  Location Should Contain  firmware
929e2c96f2Srramyasr-in    Wait Until Element Is Not Visible   ${xpath_page_loading_progress_bar}  timeout=30
93