Redfish code update changes

Changes:
   - Added task state in json file
     data/task_state.json
   - Added Keyword Create List Of Task,
     Create Initiated Task State Dict,
     Match Target URI,
     Check Task With Match TargetUri,
     Verify Task Progress State
   - Added Keyword Get Task State From File

Tested:
      Ran succesfully   redfish/
      update_service/test_redfish_bmc_code_update.robot

Change-Id: Iba2131925cb60614f456cbf5ec91b1b02bddc06b
Signed-off-by: Sushil Singh <susilsi7@in.ibm.com>
diff --git a/lib/utils.robot b/lib/utils.robot
index 1032514..a306dc5 100755
--- a/lib/utils.robot
+++ b/lib/utils.robot
@@ -832,6 +832,35 @@
     [Return]  ${post_code_update_actions}
 
 
+Get Task State From File
+    [Documentation]  Get task states from pre-define data/task_state.json file.
+
+    # Example:  Task state JSON format.
+    #
+    # {
+    #   "TaskRunning": {
+    #           "TaskState": "Running",
+    #           "TaskStatus": "OK"
+    #   },
+    #   "TaskCompleted": {
+    #           "TaskState": "Completed",
+    #           "TaskStatus": "OK"
+    #   },
+    #   "TaskException": {
+    #           "TaskState": "Exception",
+    #           "TaskStatus": "Warning"
+    #   }
+    # }
+
+    # Python module: get_code_base_dir_path()
+    ${code_base_dir_path}=  Get Code Base Dir Path
+    ${task_state}=  Evaluate
+    ...  json.load(open('${code_base_dir_path}data/task_state.json'))  modules=json
+    Rprint Vars  task_state
+
+    [Return]  ${task_state}
+
+
 Redfish Set Boot Default
     [Documentation]  Set and Verify Boot source override
     [Arguments]      ${override_enabled}  ${override_target}  ${override_mode}=UEFI