[SEBA-279] More ATT workflow test scenarios

Change-Id: I077259f02f271217437977cc7806a342c90e6fc3
diff --git a/src/test/cord-api/Framework/utils/utils.robot b/src/test/cord-api/Framework/utils/utils.robot
index c9e3c79..cf8a771 100644
--- a/src/test/cord-api/Framework/utils/utils.robot
+++ b/src/test/cord-api/Framework/utils/utils.robot
@@ -204,9 +204,21 @@
     ${rc}=    Run Sudo Command On Remote System    ${ip}    sudo kill $(ps aux | grep '${process}' | awk '{print $2}'); echo $?    ${user}    ${pass}
     Should Contain    ${rc}    0
 
-Remote File Should Contain
-    [Arguments]    ${conn_id}    ${file_name}    ${pattern}
+Check Remote File Contents
+    [Arguments]    ${file_should_exist}    ${conn_id}    ${file_path}    ${file_name}    ${pattern}
     SSHLibrary.Switch Connection    ${conn_id}
-    SSHLibrary.Get File    ${file_name}    /tmp/
-    ${content}=    OperatingSystem.Get File    /tmp/${file_name}
-    Should Contain    ${content}    ${pattern}
+    SSHLibrary.Get File    ${file_path}${file_name}    /tmp/
+    ${content}=    OperatingSystem.Get File    /tmp/${file_name}    encoding_errors=ignore
+    Run Keyword If    '${file_should_exist}' == 'True'    Should Contain    ${content}    ${pattern}
+    Run Keyword If    '${file_should_exist}' == 'False'    Should Not Contain    ${content}    ${pattern}
+
+Check Remote System Reachability
+    [Arguments]    ${reachable}    ${ip}    ${prompt}=$    ${prompt_timeout}=60s
+    [Documentation]    Check if the specified IP address is reachable or not
+    ${result}=    Run    ping -c 3 -t 3 ${ip}
+    Log    ${result}
+    Run Keyword If    '${reachable}' == 'True'    Should Contain    ${result}    64 bytes
+    Run Keyword If    '${reachable}' == 'True'    Should Contain Any   ${result}    0% packet loss    0.0% packet loss
+    Run Keyword If    '${reachable}' == 'True'    Should Not Contain Any    ${result}    100% packet loss    100.0% packet loss
+    Run Keyword If    '${reachable}' == 'False'    Should Not Contain    ${result}    64 bytes
+    Run Keyword If    '${reachable}' == 'False'    Should Contain Any    ${result}    100% packet loss    100.0% packet loss