Making OVS Switch Prompts configurable.
[integration/test.git] / test / csit / libraries / KarafKeywords.txt
index ad2f6bb6674ae988a8a25f1e1279aa43bbb646a6..0be4ca024adbc8d5c701eb80c943d9a71fc09c47 100644 (file)
@@ -1,20 +1,76 @@
 *** Settings ***
+Library           SSHLibrary
 Library           OperatingSystem
+Variables         ../variables/Variables.py
 
 *** Variables ***
-${karaf_shell_port}     8101
+${WORKSPACE}      /tmp
+${BUNDLEFOLDER}    distribution-karaf-0.3.0-SNAPSHOT
 
 *** 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
-    Should Contain  ${output}   ${feature_name}
+    [Arguments]    ${feature_name}    ${controller}=${CONTROLLER}    ${karaf_port}=${KARAF_SHELL_PORT}
+    [Documentation]    Will Succeed if the given ${feature_name} is found in the output of "feature:list -i"
+    ${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
+    [Arguments]    ${feature_name}    ${controller}=${CONTROLLER}    ${karaf_port}=${KARAF_SHELL_PORT}
+    [Documentation]    Will Succeed if the given ${feature_name} is NOT found in the output of "feature:list -i"
+    ${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
+    [Arguments]    ${cmd}    ${controller}=${CONTROLLER}    ${karaf_port}=${KARAF_SHELL_PORT}    ${timeout}=5
+    [Documentation]    Will execute the given ${cmd} by ssh'ing to the karaf console running on ${CONTROLLER}
+    Open Connection    ${controller}    port=${karaf_port}    prompt=${KARAF_PROMPT}    timeout=${timeout}
+    Login    ${KARAF_USER}    ${KARAF_PASSWORD}
+    Write    ${cmd}
+    ${output}    Read Until    ${KARAF_PROMPT}
+    Close Connection
+    Log    ${output}
+    [Return]    ${output}
+
+Verify Bundle Is Installed
+    [Arguments]    ${bundle_name}    ${controller}=${CONTROLLER}    ${karaf_port}=${KARAF_SHELL_PORT}
+    [Documentation]    Will succeed if the given ${bundle name} is present in the output of "bundle:list -s "
+    ${output}=    Issue Command On Karaf Console    bundle:list -s | grep ${bundle_name}    ${controller}    ${karaf_port}
+    Should Contain    ${output}    ${bundle_name}
+    [Return]    ${output}
+
+Verify Bundle Is Not Installed
+    [Arguments]    ${bundle_name}    ${controller}=${CONTROLLER}    ${karaf_port}=${KARAF_SHELL_PORT}
+    [Documentation]    Will succeed if the given ${bundle_name} is NOT found in the output of "bundle:list -s"
+    ${output}=    Issue Command On Karaf Console    bundle:list -i | grep ${bundle_name}    ${controller}    ${karaf_port}
+    Should Not Contain    ${output}    ${bundle_name}
+    [Return]    ${output}
+
+Check Karaf Log Has Messages
+    [Arguments]    ${filter_string}    @{message_list}
+    [Documentation]    Will succeed if the @{messages} are found in \ the output of "log:display"
+    ${output}=    Issue Command On Karaf Console    log:display | grep ${filter_string}
+    : FOR    ${message}    IN    @{message_list}
+    \    Should Contain    ${output}    ${message}
+    [Return]    ${output}
+
+Install a Feature
+    [Arguments]    ${feature_name}    ${controller}=${CONTROLLER}    ${karaf_port}=${KARAF_SHELL_PORT}    ${timeout}=15
+    [Documentation]    Will Install the given ${feature_name}
+    Log    ${timeout}
+    ${output}=    Issue Command On Karaf Console    feature:install ${feature_name}    ${controller}    ${karaf_port}    ${timeout}
+    Log    ${output}
+    [Return]    ${output}
+
+Uninstall a Feature
+    [Arguments]    ${feature_name}    ${controller}=${CONTROLLER}    ${karaf_port}=${KARAF_SHELL_PORT}    ${timeout}=15
+    [Documentation]    Will UnInstall the given ${feature_name}
+    ${output}=    Issue Command On Karaf Console    feature:uninstall ${feature_name}    ${controller}    ${karaf_port}    ${timeout}
+    Log    ${output}
+    [Return]    ${output}