Changing Execute Command by Write/Read as the first does not work after karaf upgrade
[integration/test.git] / test / csit / libraries / KarafKeywords.txt
index ad2f6bb6674ae988a8a25f1e1279aa43bbb646a6..09341b01f9df036a9c552196c7f797d66a7863fe 100644 (file)
@@ -1,20 +1,40 @@
 *** Settings ***
+Library           SSHLibrary
 Library           OperatingSystem
 
 *** Variables ***
 ${karaf_shell_port}     8101
+${karaf_prompt}         opendaylight-user
+${karaf_user}           karaf
+${karaf_password}       karaf
 
 *** Keywords ***
+Check Karaf Log File Does Not Have Messages
+    [Arguments]     ${ip}   ${message}  ${log_file}=${WORKSPACE}/${BUNDLEFOLDER}/data/log/karaf.log
+    ${output}=  Run Command On Remote System    ${ip}   grep ${message} ${log_file}
+    Should Not Contain  ${output}   ${message}
+
 Verify Feature Is Installed
-    [Documentation]     Will Succeed if the given ${feature_name} is found in the output of "feature:list -i" by
-    ...     ssh'ing to the karaf console running on ${CONTROLLER}
-    [arguments]     ${feature_name}     ${controller}=${CONTROLLER}     ${karaf_port}=${karaf_shell_port}       ${prompt}=${linux_prompt}   ${prompt_timeout}=5s
-    ${output}=  Run     sshpass -p karaf ssh -p ${karaf_port} karaf@${controller} feature:list -i
+    [Documentation]     Will Succeed if the given ${feature_name} is found in the output of "feature:list -i"
+    [Arguments]     ${feature_name}     ${controller}=${CONTROLLER}     ${karaf_port}=${karaf_shell_port}
+    ${output}=  Issue Command On Karaf Console  feature:list -i | grep ${feature_name}     ${controller}   ${karaf_port}
     Should Contain  ${output}   ${feature_name}
+    [Return]    ${output}
 
 Verify Feature Is Not Installed
-    [Documentation]     Will Succeed if the given ${feature_name} is NOT found in the output of "feature:list -i" by
-    ...     ssh'ing to the karaf console running on ${CONTROLLER}
-    [arguments]     ${feature_name}     ${controller}=${CONTROLLER}     ${karaf_port}=${karaf_shell_port}       ${prompt}=${linux_prompt}   ${prompt_timeout}=5s
-    ${output}=  Run     sshpass -p karaf ssh -p ${karaf_port} karaf@${controller} feature:list -i
-    Should Not Contain  ${output}   ${feature_name}
\ No newline at end of file
+    [Documentation]     Will Succeed if the given ${feature_name} is NOT found in the output of "feature:list -i"
+    [Arguments]     ${feature_name}     ${controller}=${CONTROLLER}     ${karaf_port}=${karaf_shell_port}
+    ${output}=  Issue Command On Karaf Console  feature:list -i | grep ${feature_name}     ${controller}   ${karaf_port}
+    Should Not Contain  ${output}   ${feature_name}
+    [Return]    ${output}
+
+Issue Command On Karaf Console
+    [Documentation]     Will execute the given ${cmd} by ssh'ing to the karaf console running on ${CONTROLLER}
+    [Arguments]     ${cmd}     ${controller}=${CONTROLLER}     ${karaf_port}=${karaf_shell_port}
+    Open Connection    ${controller}    port=${karaf_port}  prompt=${karaf_prompt}
+    Login    ${karaf_user}    ${karaf_password}
+    Write    ${cmd}
+    ${output}    Read Until    ${karaf_prompt}
+    Close Connection
+    Log     ${output}
+    [Return]    ${output}