diff --git a/lib/code_update_utils.robot b/lib/code_update_utils.robot
index 406d2cf..cea4721 100644
--- a/lib/code_update_utils.robot
+++ b/lib/code_update_utils.robot
@@ -473,3 +473,67 @@
 
     Directory Should Exist  ${ACTIVATION_DIR_PATH}
     ...  msg=${ACTIVATION_DIR_PATH} does not exist. Therefore, the image is not signed.
+
+
+Get Latest Image ID
+    [Documentation]  Return the ID of the most recently extracted image.
+    # Note: This keyword will fail if there is no such file.
+
+    # Example: # ls /tmp/images/
+    #            1b714fb7
+    ${image_id}=  Get Latest File  /tmp/images/
+    Rvalid Value  image_id
+
+    # Though an image sub-directory was found, it really isn't valid unless
+    # the MANIFEST file is present.
+    BMC Execute Command  ls -l /tmp/images/${image_id}/MANIFEST
+
+    [Return]  ${image_id}
+
+
+Check Image Update Progress State
+    [Documentation]  Check that the image update progress state matches the specified state.
+    [Arguments]  ${match_state}  ${image_id}
+
+    # Description of argument(s):
+    # match_state    The expected state. This may be one or more comma-separated values
+    #                (e.g. "Disabled", "Disabled, Updating"). If the actual state matches
+    #                any of the states named in this argument, this keyword passes.
+    # image_id       The image ID (e.g. "1b714fb7").
+
+    ${state}=  Get Image Update Progress State  image_id=${image_id}
+    Rvalid Value  state  valid_values=[${match_state}]
+
+
+Get Image Update Progress State
+    [Documentation]  Return the current state of the image update.
+    [Arguments]  ${image_id}
+
+    # Description of argument(s):
+    # image_id         The image ID (e.g. "1b714fb7").
+
+    # In this example, this keyword would return the value "Enabled".
+    #  "Status": {
+    #              "Health": "OK",
+    #              "HealthRollup": "OK",
+    #              "State": "Enabled"
+    #            },
+    ${status}=  Redfish.Get Attribute  /redfish/v1/UpdateService/FirmwareInventory/${image_id}  Status
+    Rprint Vars  status
+
+    [Return]  ${status["State"]}
+
+
+Get Firmware Image Version
+    [Documentation]  Get the version of the currently installed firmware and return it.
+    [Arguments]  ${image_id}
+
+    # Description of argument(s):
+    # image_id      The image ID (e.g. "1b714fb7").
+
+    # Example of a version returned by this keyword:
+    # 2.8.0-dev-19-g6d5764b33
+    ${version}=  Redfish.Get Attribute  /redfish/v1/UpdateService/FirmwareInventory/${image_id}  Version
+    Rprint Vars  version
+
+    [Return]  ${version}
diff --git a/redfish/update_service/test_firmware_tftp_upload_image.robot b/redfish/update_service/test_firmware_tftp_upload_image.robot
new file mode 100644
index 0000000..3a4e278
--- /dev/null
+++ b/redfish/update_service/test_firmware_tftp_upload_image.robot
@@ -0,0 +1,78 @@
+*** Settings ***
+Documentation    Firmware image (BMC and Host) upload test using TFTP protocol.
+
+# Test Parameters:
+# TFTP_SERVER        The TFTP server host name or IP address.
+# IMAGE_FILE_NAME    The BMC or Host image file name.
+#
+# Firmware update states:
+#     Enabled  -> Image is installed and either functional or active.
+#     Disabled -> Image installation failed or ready for activation.
+#     Updating -> Image installation currently in progress.
+
+Resource         ../../lib/resource.robot
+Resource         ../../lib/boot_utils.robot
+Resource         ../../lib/bmc_redfish_resource.robot
+Resource         ../../lib/openbmc_ffdc.robot
+Resource         ../../lib/code_update_utils.robot
+Library          ../../lib/code_update_utils.py
+Library          ../../lib/gen_robot_valid.py
+
+Suite Setup      Suite Setup Execution
+Suite Teardown   Redfish.Logout
+Test Setup       Printn
+Test Teardown    FFDC On Test Case Fail
+
+Force Tags       tftp_update
+
+*** Test Cases ***
+
+TFTP Download Install With ApplyTime OnReset Policy
+    [Documentation]  Download image to BMC using TFTP with OnReset policy and verify installation.
+    [Tags]  TFTP_Download_Install_With_ApplyTime_OnReset_Policy
+
+    # Set and verify the firmware OnReset policy.
+    Redfish.Patch  ${REDFISH_BASE_URI}UpdateService  body={'ApplyTime' : 'OnReset'}
+    ${apply_time}=  Read Attribute   ${SOFTWARE_VERSION_URI}apply_time  RequestedApplyTime
+    Rvalid Value  apply_time  valid_values=['xyz.openbmc_project.Software.ApplyTime.RequestedApplyTimes.OnReset']
+    Rprint Vars  apply_time
+
+    # Download image from TFTP server to BMC.
+    Redfish.Post  /redfish/v1/UpdateService/Actions/UpdateService.SimpleUpdate
+    ...  body={"TransferProtocol" : "TFTP", "ImageURI" : "${TFTP_SERVER}/${IMAGE_FILE_NAME}"}
+
+    # Wait for image tar file to download complete.
+    ${image_id}=  Wait Until Keyword Succeeds  60 sec  10 sec  Get Latest Image ID
+    Rprint Vars  image_id
+
+    # Let the image get extracted and it should not fail.
+    Sleep  5s
+    Check Image Update Progress State  match_state='Disabled', 'Updating'  image_id=${image_id}
+
+    # Get image version currently installation in progress.
+    ${install_version}=  Get Firmware Image Version  image_id=${image_id}
+    Rprint Vars  install_version
+
+    Check Image Update Progress State  match_state='Updating'  image_id=${image_id}
+
+    # Wait for the image to install complete.
+    Wait Until Keyword Succeeds  5 min  15 sec
+    ...  Check Image Update Progress State  match_state='Enabled'  image_id=${image_id}
+
+    Redfish OBMC Reboot (off)
+
+    # Verify the image is installed and functional.
+    ${cmd}=  Set Variable  grep ^VERSION_ID= /etc/os-release | cut -f 2 -d '=' | sed 's/"//g'
+    ${functional_version}  ${stderr}  ${rc}=  BMC Execute Command  ${cmd}
+    Rvalid Value  functional_version  valid_values=['${install_version}']
+    Rprint Vars  functional_version
+
+
+*** Keywords ***
+
+Suite Setup Execution
+    [Documentation]  Do the suite setup.
+
+    Redfish.Login
+    Rvalid Value  TFTP_SERVER
+    Rvalid Value  IMAGE_FILE_NAME
