Base test cases for server health via GUI header.

Resolves openbmc/openbmc-test-automation#1279

Change-Id: I76a2e07ef4d852d06b2ff1be029fb79b38149bf6
Signed-off-by: Sivas SRR <sivas.srr@in.ibm.com>
diff --git a/gui/obmc_gui/data/resource_variables.py b/gui/obmc_gui/data/resource_variables.py
index 27b33a0..7cf529a 100644
--- a/gui/obmc_gui/data/resource_variables.py
+++ b/gui/obmc_gui/data/resource_variables.py
@@ -88,3 +88,19 @@
     confirm_msg = "2"
     yes = "1"
     No = "2"
+
+    # Server health elements locators.
+    xpath_select_server_health = "//*[@id='header__wrapper']/div/div[3]/a[2]"
+    xpath_server_health_text  =  \
+        "//*[@id='header__wrapper']/div/div[3]/a[2]/span"
+    xpath_select_refresh_button = \
+        "//*[@id='header__wrapper']/div/div[3]/button"
+    xpath_event_severity_all =  "//*[@id='event-filter']/div[1]/button[1]"
+    xpath_event_severity_high = "//*[@id='event-filter']/div[1]/button[2]"
+    xpath_event_severity_medium = "//*[@id='event-filter']/div[1]/button[3]"
+    xpath_event_severity_low = "//*[@id='event-filter']/div[1]/button[4]"
+    xpath_drop_down_timezone_edt = \
+        "//*[@id='event-log']/section[1]/div/div/button"
+    xpath_refresh_circle = "/html/body/main/loader/div[1]/svg/circle"
+    xpath_drop_down_timezone_utc =  \
+        "//*[@id='event-log']/section[1]/div/div/ul/li[2]/button"
diff --git a/gui/obmc_gui/lib/resource.robot b/gui/obmc_gui/lib/resource.robot
index 70cf5b3..da77d1b 100644
--- a/gui/obmc_gui/lib/resource.robot
+++ b/gui/obmc_gui/lib/resource.robot
@@ -351,3 +351,15 @@
 
     Run Keyword If  '${expectedState}' == 'Off'
     ...  Initiate Host PowerOff
+
+Launch Browser And Login OpenBMC GUI
+    [Documentation]  Launch browser and log into openbmc GUI.
+
+    Open Browser With URL  ${obmc_gui_url}
+    Login OpenBMC GUI  ${OPENBMC_USERNAME}  ${OPENBMC_PASSWORD}
+
+Logout And Close Browser
+    [Documentation]  Logout from openbmc application and close the browser.
+
+    Click Element  header
+    Close Browser
diff --git a/gui/obmc_gui/test/gui_header/test_obmc_gui_server_health.robot b/gui/obmc_gui/test/gui_header/test_obmc_gui_server_health.robot
new file mode 100644
index 0000000..4023a7e
--- /dev/null
+++ b/gui/obmc_gui/test/gui_header/test_obmc_gui_server_health.robot
@@ -0,0 +1,46 @@
+*** Settings ***
+
+Documentation  Test Open BMC GUI server health under GUI Header.
+
+Resource        ../../lib/resource.robot
+Resource        ../../../../lib/boot_utils.robot
+
+Suite Setup     Launch Browser And Login OpenBMC GUI
+Suite Teardown  Logout And Close Browser
+Test Setup      Click Element  ${xpath_select_server_health}
+
+*** Test Cases ***
+
+Verify Event Log Text Appears By Clicking Server Health
+    [Documentation]  Check that "Event Log" text appears by clicking server
+    ...  health in GUI header.
+    [Tags]  Verify_Event_Log_Text_Appears_By_Clicking_Server_Health
+
+    Wait Until Page Contains Element  event-log
+    Page should contain  Event log
+
+
+Verify Filters By Severity Elements Appears
+    [Documentation]  Check that event log filters appears by clicking server
+    ...  health in GUI header.
+    [Tags]  Verify_Filters_By_Severity_Elements_Appears
+
+    # Types of event severity: All, High, Medium, Low.
+    Page Should Contain Element  ${xpath_event_severity_all}  limit=1
+    Page Should Contain Element  ${xpath_event_severity_high}  limit=1
+    Page Should Contain Element  ${xpath_event_severity_medium}  limit=1
+    Page Should Contain Element  ${xpath_event_severity_low}  limit=1
+
+
+Verify Drop Down Button User Timezone Appears
+    [Documentation]  Check that drop down button of user timezone appears by
+    ...  clicking server health in GUI header.
+    [Tags]  Verify_Drop_Down_Button_User_Timezone_Appears
+
+    Page Should Contain Button  ${xpath_drop_down_timezone_edt}
+    # Ensure that page is not in refreshing state.
+    # It helps to click the drop down element.
+    Wait Until Page Does Not Contain Element  ${xpath_refresh_circle}
+    Click Element  class:dropdown__button
+    Page Should Contain Button  ${xpath_drop_down_timezone_utc}
+