Changed a Keyword and test case for date and time
Changes:
- Added a keyword for set date and time
Tested:
Ran and tested on BMC Environment
Change-Id: I3a3053cda80b4e1d456904de9d654115f78187a7
Signed-off-by: Saranya Devi Alluri <saranyad@in.ibm.com>
diff --git a/lib/bmc_date_and_time_utils.robot b/lib/bmc_date_and_time_utils.robot
index 1b01945..0d9da48 100644
--- a/lib/bmc_date_and_time_utils.robot
+++ b/lib/bmc_date_and_time_utils.robot
@@ -25,34 +25,34 @@
Redfish Set DateTime
[Documentation] Set DateTime using Redfish.
- [Arguments] ${date_time}=${EMPTY} &{kwargs}
+ [Arguments] ${date_time}=${EMPTY} ${request_type}=valid
# Description of argument(s):
# date_time New time to set for BMC (eg.
# "2019-06-30 09:21:28"). If this value is
# empty, it will be set to the UTC current
# date time of the local system.
- # kwargs Additional parameters to be passed directly to
- # th Redfish.Patch function. A good use for
- # this is when testing a bad date-time, the
- # caller can specify
- # valid_status_codes=[${HTTP_BAD_REQUEST}].
+ # request_type By default user request is valid.
+ # User can pass invalid to identify the user
+ # date time input will result in failure as
+ # expected.
# Assign default value of UTC current date time if date_time is empty.
${date_time}= Run Keyword If
... '${date_time}' == '${EMPTY}' Get Current Date time_zone=UTC
... ELSE
... Set Variable ${date_time}
- # Change date format to 2024-03-07T07:58:50+00:00 from 2024-03-07 07:58:50.000.
- IF "T" in "${date_time}"
+ # Patch date_time based on type of ${request_type}.
+ IF '${request_type}' == 'valid'
+ ${date_time}= Convert Date ${date_time} result_format=%Y-%m-%dT%H:%M:%S+00:00
Wait Until Keyword Succeeds 1min 5sec
... Redfish.Patch ${REDFISH_BASE_URI}Managers/${MANAGER_ID}
- ... body={'DateTime': '${date_time}'} &{kwargs}
+ ... body={'DateTime': '${date_time}'}
... valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
ELSE
- ${date_time_formatted}= Convert Date ${date_time} result_format=%Y-%m-%dT%H:%M:%S+00:00
Wait Until Keyword Succeeds 1min 5sec
- ... Redfish.Patch ${REDFISH_BASE_URI}Managers/${MANAGER_ID} body={'DateTime': '${date_time_formatted}'}
- ... &{kwargs} valid_status_codes=[${HTTP_OK}, ${HTTP_NO_CONTENT}]
+ ... Redfish.Patch ${REDFISH_BASE_URI}Managers/${MANAGER_ID}
+ ... body={'DateTime': '${date_time}'}
+ ... valid_status_codes=[${HTTP_BAD_REQUEST}]
END
@@ -76,7 +76,7 @@
... Redfish Power off stack_mode=skip
${current_date}= Get Current Date time_zone=UTC
${new_value}= Subtract Time From Date ${current_date} 1 day
- Redfish Set DateTime ${new_value} valid_status_codes=[${HTTP_OK}]
+ Redfish Set DateTime ${new_value}
${current_value}= Redfish Get DateTime
${time_diff}= Subtract Date From Date ${current_value} ${new_value}
Should Be True '${time_diff}'<='3'
diff --git a/redfish/managers/test_managers_bmc_time.robot b/redfish/managers/test_managers_bmc_time.robot
index 377de31..d845743 100644
--- a/redfish/managers/test_managers_bmc_time.robot
+++ b/redfish/managers/test_managers_bmc_time.robot
@@ -55,18 +55,18 @@
Verify Set DateTime With Offset Using Redfish
- [Documentation] Verify set DateTime with offset using redfish API.
+ [Documentation] Verify error while setting DateTime with offset using redfish API.
[Tags] Verify_Set_DateTime_With_Offset_Using_Redfish
[Teardown] Run Keywords Redfish Set DateTime AND FFDC On Test Case Fail
- Redfish Set DateTime ${date_time_with_offset} valid_status_codes=[${HTTP_BAD_REQUEST}]
+ Redfish Set DateTime ${date_time_with_offset} invalid
Verify Set DateTime With Invalid Data Using Redfish
[Documentation] Verify error while setting invalid DateTime using Redfish.
[Tags] Verify_Set_DateTime_With_Invalid_Data_Using_Redfish
- Redfish Set DateTime ${invalid_datetime} valid_status_codes=[${HTTP_BAD_REQUEST}]
+ Redfish Set DateTime ${invalid_datetime} invalid
Verify DateTime Persists After Reboot
@@ -92,9 +92,9 @@
[Documentation] Verify immediate change in BMC date time.
[Tags] Verify_Immediate_Consumption_Of_BMC_Date
[Setup] Run Keywords Set Time To Manual Mode AND
- ... Redfish Set DateTime valid_status_codes=[${HTTP_OK}]
+ ... Redfish Set DateTime
[Teardown] Run Keywords FFDC On Test Case Fail AND
- ... Redfish Set DateTime valid_status_codes=[${HTTP_OK}]
+ ... Redfish Set DateTime
[Template] Set BMC Date And Verify
# host_state