1*** Settings ***
2
3Documentation    Test Redfish session and its connection stability.
4
5Resource         ../../lib/resource.robot
6Resource         ../../lib/bmc_redfish_resource.robot
7Resource         ../../lib/bmc_redfish_utils.robot
8Resource         ../../lib/openbmc_ffdc.robot
9
10Suite Teardown   Redfish.Logout
11Test Setup       Printn
12Test Teardown    FFDC On Test Case Fail
13
14
15*** Variables ***
16
17${duration}                 6h
18${interval}                 30s
19${reboot_interval}          30m
20${REDFISH_DELETE_SESSIONS}  ${0}
21
22
23*** Test Cases ***
24
25Create Session And Check Connection Stability
26    [Documentation]  Send heartbeat on session continuosly and verify connection stability.
27    [Tags]  Create_Session_And_Check_Connection_Stability
28    [Setup]  Redfish.logout
29
30    # Clear old session and start new session.
31    Redfish.Login
32
33    Repeat Keyword  ${duration}  Send Heartbeat
34
35
36Create Session And Check Connection Stability On Reboot
37    [Documentation]  Create Session And Check Connection Stability On Reboot
38    [Tags]  Create_Session_And_Check_Connection_Stability_On_Reboot
39    [Setup]  Redfish.logout
40
41    # Clear old session and start new session.
42    Redfish.Login
43
44    Repeat Keyword  ${duration}  Check Connection On Reboot
45
46
47*** Keywords ***
48
49Send Heartbeat
50    [Documentation]  Send heartbeat to BMC.
51
52    ${hostname}=  Redfish.Get Attribute  ${REDFISH_NW_PROTOCOL_URI}  HostName
53    Sleep  ${interval}
54
55
56Check Connection On Reboot
57    [Documentation]  Send heartbeat on BMC reboot.
58
59    # Reboot BMC
60    Redfish OBMC Reboot (Off)
61
62    # Verify session is still active and no issues on connection after reboot.
63    Repeat Keyword  ${reboot_interval}  Send Heartbeat
64
65