*** Settings ***
Documentation          This suite is for testing System time in Open BMC.

Resource               ../lib/rest_client.robot
Resource               ../lib/ipmi_client.robot
Resource               ../lib/openbmc_ffdc.robot
Resource               ../lib/state_manager.robot
Resource               ../lib/resource.txt

Library                OperatingSystem
Library                DateTime

Test Setup             Open Connection And Log In
Test Teardown          Post Test Case Execution

Force Tags  Clock_Time

*** Variables ***
${SYSTEM_TIME_INVALID}      01/01/1969 00:00:00
${SYSTEM_TIME_VALID}        02/29/2016 09:10:00
${ALLOWED_TIME_DIFF}        3
# Equivalent epoch time for 02/17/2017 04:11:40
${SYSTEM_TIME_VALID_EPOCH}  ${1487304700000000}

*** Test Cases ***

Get System Time
    [Documentation]  Get system time using IPMI and verify that it matches
    ...              with BMC date time.
    [Tags]  Get_System_Time

    ${resp}=  Run IPMI Standard Command  sel time get
    ${ipmidate}=  Convert Date  ${resp}  date_format=%m/%d/%Y %H:%M:%S
    ...  exclude_millis=yes
    ${bmcdate}=  Get BMC Time Using IPMI
    ${diff}=  Subtract Date From Date  ${bmcdate}  ${ipmidate}
    ${diff}=  Convert To Number  ${diff}
    Should Be True  ${diff} < ${ALLOWED_TIME_DIFF}
    ...  Open BMC time does not match with IPMI sel time


Set Valid System Time
    [Documentation]  Set system time using IPMI and verify that it is
    ...              correctly set in BMC.
    [Tags]  Set_Valid_System_Time

    Set Time Owner  ${HOST_OWNER}
    Set Time Mode  ${MANUAL_MODE}

    # Added delay for NTP mode to get disabled fully
    Sleep  30s

    ${resp}=  Run IPMI Standard Command  sel time set "${SYSTEM_TIME_VALID}"
    ${setdate}=  Convert Date  ${SYSTEM_TIME_VALID}
    ...  date_format=%m/%d/%Y %H:%M:%S  exclude_millis=yes
    ${bmcdate}=  Get BMC Time Using IPMI
    ${diff}=  Subtract Date From Date  ${bmcdate}  ${setdate}
    ${diff}=  Convert To Number  ${diff}
    Should Be True  ${diff} < ${ALLOWED_TIME_DIFF}
    ...  Open BMC time does not match with set time


Set Invalid System Time
    [Documentation]  Set system time with invalid time using IPMI and verify
    ...              that it should throw error.
    [Tags]  Set_Invalid_System_Time

    Set Time Owner  ${HOST_OWNER}
    Set Time Mode  ${MANUAL_MODE}

    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
    ...  sel time set "${SYSTEM_TIME_INVALID}"
    Should Start With  ${msg}  Specified time could not be parsed

Set System Time with no time
    [Documentation]  Set system time with no time using IPMI and verify
    ...              that it should throw error.
    [Tags]  Set_System_Time_with_no_time

    Set Time Owner  ${HOST_OWNER}
    Set Time Mode  ${MANUAL_MODE}

    ${msg}=  Run Keyword And Expect Error  *  Run IPMI Standard Command
    ...  sel time set ""
    Should Start With  ${msg}  Specified time could not be parsed


Set BMC Time With BMC And Manual
    [Documentation]  Set BMC time when time owner is BMC and time mode is
    ...              manual.
    [Tags]  Set_BMC_Time_With_BMC_And_Manual
    [Template]  Set Time Using REST

    #Operation    Owner          Mode            Status  BMC Time  Host Time
    Set BMC Time  ${BMC_OWNER}   ${MANUAL_MODE}  ok      Set       Change


Set BMC Time With Both And Manual
    [Documentation]  Set BMC time when time owner is Both and time mode is
    ...              manual.
    [Tags]  Set_BMC_Time_With_Both_And_Manual
    [Template]  Set Time Using REST

    #Operation    Owner          Mode            Status  BMC Time  Host Time
    Set BMC Time  ${BOTH_OWNER}  ${MANUAL_MODE}  ok      Set       Change


Set BMC Time With Split And Manual
    [Documentation]  Set BMC time when time owner is Split and time mode is
    ...              manual.
    [Tags]  Set_BMC_Time_With_Split_And_Manual
    [Template]  Set Time Using REST

    #Operation    Owner           Mode            Status  BMC Time  Host Time
    Set BMC Time  ${SPLIT_OWNER}  ${MANUAL_MODE}  ok      Set       No Change


Set BMC Time With BMC And NTP
    [Documentation]  Set BMC time when time owner is BMC and time mode is
    ...              NTP.
    [Tags]  Set_BMC_Time_With_BMC_And_NTP
    [Template]  Set Time Using REST

    #Operation    Owner           Mode            Status  BMC Time  Host Time
    Set BMC Time  ${BMC_OWNER}    ${NTP_MODE}     error   Not Set   No Change


Set BMC Time With Host And Manual
    [Documentation]  Set BMC time when time owner is Host and time mode is
    ...              Manual.
    [Tags]  Set_BMC_Time_With_Host_And_Manual
    [Template]  Set Time Using REST

    #Operation    Owner           Mode            Status  BMC Time  Host Time
    Set BMC Time  ${HOST_OWNER}   ${MANUAL_MODE}  error   Not Set   No Change


Set BMC Time With Both And NTP
    [Documentation]  Set BMC time when time owner is Both and time mode is
    ...              NTP.
    [Tags]  Set_BMC_Time_With_Both_And_NTP
    [Template]  Set Time Using REST

    #Operation    Owner           Mode            Status  BMC Time  Host Time
    Set BMC Time  ${BOTH_OWNER}   ${NTP_MODE}     error   Not Set   No Change


Set BMC Time With Split And NTP
    [Documentation]  Set BMC time when time owner is Split and time mode is
    ...              NTP.
    [Tags]  Set_BMC_Time_With_Split_And_NTP
    [Template]  Set Time Using REST

    #Operation    Owner           Mode            Status  BMC Time  Host Time
    Set BMC Time  ${SPLIT_OWNER}  ${NTP_MODE}     error   Not Set   No Change


Set BMC Time With Host And NTP
    [Documentation]  Set BMC time when time owner is Host and time mode is
    ...              NTP.
    [Tags]  Set_BMC_Time_With_Host_And_NTP
    [Template]  Set Time Using REST

    #Operation    Owner           Mode            Status  BMC Time  Host Time
    Set BMC Time  ${HOST_OWNER}   ${NTP_MODE}     error   Not Set   No Change


Set Host Time With Host And Manual
    [Documentation]  Set host time when time owner is host and time mode is
    ...              manual.
    [Tags]  Set_Host_Time_With_Host_And_Manual
    [Template]  Set Time Using REST

    #Operation     Owner          Mode            Status  BMC Time  Host Time
    Set Host Time  ${HOST_OWNER}  ${MANUAL_MODE}  ok      Change    Set


Set Host Time With Both And NTP
    [Documentation]  Set host time when time owner is both and time mode is
    ...              NTP.
    [Tags]  Set_Host_Time_With_Both_And_NTP
    [Template]  Set Time Using REST

    #Operation     Owner           Mode           Status  BMC Time   Host Time
    Set Host Time  ${BOTH_OWNER}   ${NTP_MODE}    error   No Change  Not Set


Set Host Time With Split And Manual
    [Documentation]  Set host time when time owner is split and time mode is
    ...              manual.
    [Tags]  Set_Host_Time_With_Split_And_Manual
    [Template]  Set Time Using REST

    #Operation     Owner           Mode            Status  BMC Time   Host Time
    Set Host Time  ${SPLIT_OWNER}  ${MANUAL_MODE}  ok      No Change  Set


Set Host Time With Split And NTP
    [Documentation]  Set host time when time owner is split and time mode is
    ...              NTP.
    [Tags]  Set_Host_Time_With_Split_And_NTP
    [Template]  Set Time Using REST

    #Operation     Owner           Mode            Status   BMC Time   HOST Time
    Set Host Time  ${SPLIT_OWNER}  ${NTP_MODE}     ok       No Change  Set


Set Host Time With BMC And Manual
    [Documentation]  Set host time when time owner is BMC and time mode is
    ...              Manual.
    [Tags]  Set_Host_Time_With_BMC_And_Manual
    [Template]  Set Time Using REST

    #Operation     Owner           Mode            Status   BMC Time   HOST Time
    Set Host Time  ${BMC_OWNER}    ${MANUAL_MODE}  error    No Change  Not Set


Set Host Time With BMC Owner NTP
    [Documentation]  Set host time when time owner is BMC and time mode is
    ...              NTP.
    [Tags]  Set_Host_Time_With_BMC_And_NTP
    [Template]  Set Time Using REST

    #Operation     Owner           Mode            Status   BMC Time   HOST Time
    Set Host Time  ${BMC_OWNER}    ${NTP_MODE}     error    No Change  Not Set


Set Host Time With Host And NTP
    [Documentation]  Set host time when time owner is Host and time mode is
    ...              NTP.
    [Tags]  Set_Host_Time_With_Host_And_NTP
    [Template]  Set Time Using REST

    #Operation     Owner           Mode            Status  BMC Time    Host Time
    Set Host Time  ${HOST_OWNER}   ${NTP_MODE}     error   Not Change  No Set


Set Host Time With Both And Manual
    [Documentation]  Set host time when time owner is both and time mode is
    ...              manual.
    [Tags]  Set_Host_Time_With_Both_And_Manual
    [Template]  Set Time Using REST

    #Operation     Owner          Mode            Status  BMC Time  Host Time
    Set Host Time  ${BOTH_OWNER}  ${MANUAL_MODE}  ok      Change    Set


Set Invalid Time Mode
    [Documentation]  Set time mode with invalid value using REST and verify
    ...              that it should throw error.
    [Tags]  Set_Invalid_Time_Mode

    ${timemode}=
    ...  Set Variable  xyz.openbmc_project.Time.Synchronization.Method.abc
    ${valueDict}=  Create Dictionary  data=${timemode}

    ${resp}=  OpenBMC Put Request
    ...  ${TIME_MANAGER_URI}sync_method/attr/TimeSyncMethod  data=${valueDict}
    ${jsondata}=  to JSON  ${resp.content}
    Should Be Equal  ${jsondata['status']}  error

    ${mode}=  Read Attribute  ${TIME_MANAGER_URI}sync_method  TimeSyncMethod
    Should Not Be Equal  ${mode}
    ...  xyz.openbmc_project.Time.Synchronization.Method.abc

Set Invalid Time Owner
    [Documentation]  Set time owner with invalid value using REST and verify
    ...              that it should throw error.
    [Tags]  Set_Invalid_Time_Owner

    ${timeowner}=  Set Variable  xyz.openbmc_project.Time.Owner.Owners.xyz
    ${valueDict}=  Create Dictionary  data=${timeowner}

    ${resp}=  OpenBMC Put Request
    ...  ${TIME_MANAGER_URI}owner/attr/TimeOwner  data=${valueDict}
    ${jsondata}=  to JSON  ${resp.content}
    Should Be Equal  ${jsondata['status']}  error

    ${owner}=  Read Attribute  ${TIME_MANAGER_URI}owner  TimeOwner
    Should Not Be Equal  ${owner}  xyz.openbmc_project.Time.Owner.Owners.xyz


*** Keywords ***

Get BMC Time Using IPMI
    [Documentation]  Returns BMC time of the system via IPMI

    ${stdout}  ${stderr}  ${output}=
    ...  Execute Command  date "+%m/%d/%Y %H:%M:%S"
    ...  return_stdout=True  return_stderr= True  return_rc=True
    Should Be Equal  ${output}  ${0}  msg=${stderr}

    ${resp}=  Convert Date  ${stdout}  date_format=%m/%d/%Y %H:%M:%S
    ...  exclude_millis=yes
    Should Not Be Empty  ${resp}
    [Return]  ${resp}


Verify Set Time Via REST
    [Documentation]  Verify set time via REST.
    [Arguments]  ${target}  ${expected_status}
    # Description of argument(s):
    # target           The target of the set time operation: "bmc" or "host".
    # expected_status  Expected status of set time operation

    ${time_owner_url}=  Set Variable  ${TIME_MANAGER_URI}${target}

    ${args}=  Create Dictionary  data=${SYSTEM_TIME_VALID_EPOCH}
    ${resp}=  OpenBMC Put Request
    ...  ${time_owner_url}/attr/Elapsed  data=${args}
    ${jsondata}=  to Json  ${resp.content}
    Run Keyword If  "${expected_status}" == "ok"
    ...  Should Not Be Equal As Strings  ${jsondata['message']}  403 Forbidden
    Should Be Equal As Strings  ${jsondata['status']}  ${expected_status}


Set Time Owner
    [Arguments]  ${args}
    [Documentation]  Set time owner of the system via REST

    ${timeowner}=  Set Variable  ${args}
    ${valueDict}=  Create Dictionary  data=${timeowner}

    ${resp}=  OpenBMC Put Request
    ...  ${TIME_MANAGER_URI}owner/attr/TimeOwner  data=${valueDict}
    ${jsondata}=  to JSON  ${resp.content}

    ${host_state}=  Get Host State

    Run Keyword If  '${host_state}' == 'Off'
    ...  Log  System is in off state so owner change will get applied.
    ...  ELSE   Run keyword
    ...  Initiate Host PowerOff

    ${owner}=  Read Attribute  ${TIME_MANAGER_URI}owner  TimeOwner
    Should Be Equal  ${owner}  ${args}

    [Return]  ${jsondata['status']}


Set Time Mode
    [Arguments]  ${args}
    [Documentation]  Set time mode of the system via REST

    ${timemode}=  Set Variable  ${args}
    ${valueDict}=  Create Dictionary  data=${timemode}

    ${resp}=  OpenBMC Put Request
    ...  ${TIME_MANAGER_URI}sync_method/attr/TimeSyncMethod  data=${valueDict}
    ${jsondata}=  to JSON  ${resp.content}
    Sleep  5s

    ${mode}=  Read Attribute  ${TIME_MANAGER_URI}sync_method  TimeSyncMethod
    Should Be Equal  ${mode}  ${args}


Get BMC Time Using REST
    [Documentation]  Returns BMC time of the system via REST
    ...              Time Format : epoch time in microseconds
    ...              e.g 1507809604687329

    ${resp}=  Read Attribute  ${TIME_MANAGER_URI}/bmc  Elapsed
    [Return]  ${resp}


Get HOST Time Using REST
    [Documentation]  Returns HOST time of the system via REST
    ...              Time Format : epoch time in microseconds
    ...              e.g 1507809604687329

    ${resp}=  Read Attribute  ${TIME_MANAGER_URI}/host  Elapsed
    [Return]  ${resp}


Set Time Using REST
    [Arguments]  ${operation}  ${owner}  ${mode}  ${status}  ${bmc_time}
    ...  ${host_time}
    [Documentation]  Set BMC or Host time on system via REST.
    ...              Description of arguments:
    ...              operation :  Set BMC/Host time
    ...              owner: Time owner
    ...              mode:  Time mode
    ...              status:   Expected status of set BMC time URI
    ...              bmc_time:   Status of BMC time after operation
    ...              host_time:  Status of HOST time after operation
    ...                Set - Given time is set
    ...                Not Set - Given time is not set
    ...                Change - time is change
    ...                No Change - time is not change

    Set Time Owner  ${owner}
    Set Time Mode  ${mode}

    ${setdate}=  Set Variable  ${SYSTEM_TIME_VALID_EPOCH}

    ${start_time}=  Get Current Date

    ${old_bmc_time}=  Get BMC Time Using REST
    ${old_host_time}=  Get HOST Time Using REST

    Run Keyword If  '${operation}' == 'Set BMC Time'
    ...  Wait Until Keyword Succeeds  1 min  20 sec  Verify Set Time Via REST
    ...  bmc  ${status}
    ...  ELSE IF  '${operation}' == 'Set Host Time'
    ...  Wait Until Keyword Succeeds  1 min  20 sec  Verify Set Time Via REST
    ...  host  ${status}


    ${new_bmc_time}=  Get BMC Time Using REST
    ${new_host_time}=  Get HOST Time Using REST

    ${end_time}=  Get Current Date
    ${time_duration}=  Subtract Date From Date  ${start_time}  ${end_time}
    ${time_duration}  Evaluate  abs(${time_duration})

    # Convert epoch to date format: YYYY-MM-DD hh:mm:ss.mil
    ${setdate}=  Convert epoch to date  ${setdate}
    ${new_bmc_time}=  Convert epoch to date  ${new_bmc_time}
    ${old_bmc_time}=  Convert epoch to date  ${old_bmc_time}
    ${new_host_time}=  Convert epoch to date  ${new_host_time}
    ${old_host_time}=  Convert epoch to date  ${old_host_time}


    ${bmc_diff_set_new}=
    ...  Subtract Date From Date  ${setdate}  ${new_bmc_time}
    ${bmc_diff_set_new}=  Evaluate  abs(${bmc_diff_set_new})
    ${bmc_diff_old_new}=
    ...  Subtract Date From Date  ${old_bmc_time}  ${new_bmc_time}
    ${bmc_diff_old_new}=  Evaluate  abs(${bmc_diff_old_new})

    ${host_diff_set_new}=
    ...  Subtract Date From Date  ${setdate}  ${new_host_time}
    ${host_diff_set_new}=  Evaluate  abs(${host_diff_set_new})
    ${host_diff_old_new}=
    ...  Subtract Date From Date  ${old_host_time}  ${new_host_time}
    ${host_diff_old_new}=  Evaluate  abs(${host_diff_old_new})

    Run Keyword If   '${bmc_time}' == 'Not Set'
    ...    Should Be True  ${bmc_diff_set_new} >= ${time_duration}
    ...  ELSE IF  '${bmc_time}' == 'Set'
    ...    Should Be True  ${bmc_diff_set_new} <= ${time_duration}
    ...  ELSE IF  '${bmc_time}' == 'No Change'
    ...    Should Be True  ${bmc_diff_old_new} <= ${time_duration}
    ...  ELSE IF  '${bmc_time}' == 'Change'
    ...    Should Be True  ${bmc_diff_old_new} >= ${time_duration}

    Run Keyword If  '${host_time}' == 'No Change'
    ...    Should Be True  ${host_diff_old_new} <= ${time_duration}
    ...  ELSE IF  '${host_time}' == 'Change'
    ...    Should Be True  ${host_diff_old_new} >= ${time_duration}
    ...  ELSE IF  '${host_time}' == 'Not Set'
    ...    Should Be True  ${host_diff_set_new} >= ${time_duration}
    ...  ELSE IF  '${host_time}' == 'Set'
    ...    Should Be True  ${host_diff_set_new} <= ${time_duration}

Convert epoch to date
    [Documentation]  Convert epoch time to date format.
    [Arguments]  ${epoch_time}
    # Description of argument(s):
    # epoch_time  epoch time in milliseconds.
    #             (e.g. 1487304700000000)

    # Convert epoch_time into floating point number.
    ${epoch_time}=  Convert To Number  ${epoch_time}

    # Convert epoch time from microseconds to seconds
    ${epoch_time_sec}=  Evaluate  ${epoch_time}/1000000

    # Convert epoch time to date format: YYYY-MM-DD hh:mm:ss.mil
    # e.g. 2017-02-16 22:14:11.000
    ${date}=  Convert Date  ${epoch_time_sec}

    [Return]  ${date}


Post Test Case Execution
    [Documentation]  Do the post test teardown.
    ...  1. Capture FFDC on test failure.
    ...  2. Sets defaults for time mode and owner.
    ...  3. Close all open SSH connections.

    FFDC On Test Case Fail
    Set Time Owner  ${BMC_OWNER}
    Set Time Mode  ${NTP_MODE}
    Close All Connections
