X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=csit%2Flibraries%2FUtils.robot;h=b30a37a025b9773327cb29e03cf560cb11ff5264;hb=6f361630171308131125ebcc3a99411fdd8285ad;hp=e9b263b1c9bf03ab28beb5e276be0d16f063ea52;hpb=3393c4247ea1c4a92409370e41691f8c19e0c249;p=integration%2Ftest.git diff --git a/csit/libraries/Utils.robot b/csit/libraries/Utils.robot index e9b263b1c9..b30a37a025 100644 --- a/csit/libraries/Utils.robot +++ b/csit/libraries/Utils.robot @@ -98,22 +98,31 @@ Check For Specific Number Of Elements At URI Should Be Equal As Strings ${resp.status_code} 200 Should Contain X Times ${resp.content} ${element} ${expected_count} +Log Content + [Arguments] ${resp_content} + ${resp_json} = BuiltIn.Run Keyword If '''${resp_content}''' != '${EMPTY}' RequestsLibrary.To Json ${resp_content} pretty_print=True + ... ELSE BuiltIn.Set Variable ${EMPTY} + BuiltIn.Log ${resp_json} + [Return] ${resp_json} + Check For Elements At URI - [Arguments] ${uri} ${elements} ${session}=session + [Arguments] ${uri} ${elements} ${session}=session ${pretty_print_json}=False [Documentation] A GET is made at the supplied ${URI} and every item in the list of ... ${elements} is verified to exist in the response ${resp} RequestsLibrary.Get Request ${session} ${uri} - Log ${resp.content} + BuiltIn.Run Keyword If "${pretty_print_json}" == "True" Log Content ${resp.content} + ... ELSE BuiltIn.Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 : FOR ${i} IN @{elements} \ Should Contain ${resp.content} ${i} Check For Elements Not At URI - [Arguments] ${uri} ${elements} ${session}=session + [Arguments] ${uri} ${elements} ${session}=session ${pretty_print_json}=False [Documentation] A GET is made at the supplied ${URI} and every item in the list of ... ${elements} is verified to NOT exist in the response ${resp} RequestsLibrary.Get Request ${session} ${uri} - Log ${resp.content} + BuiltIn.Run Keyword If "${pretty_print_json}" == "True" Log Content ${resp.content} + ... ELSE BuiltIn.Log ${resp.content} Should Be Equal As Strings ${resp.status_code} 200 : FOR ${i} IN @{elements} \ Should Not Contain ${resp.content} ${i} @@ -173,19 +182,25 @@ Strip Quotes Run Command On Remote System [Arguments] ${system} ${cmd} ${user}=${DEFAULT_USER} ${password}=${EMPTY} ${prompt}=${DEFAULT_LINUX_PROMPT} ${prompt_timeout}=${DEFAULT_TIMEOUT} + ... ${return_stdout}=True ${return_stderr}=False [Documentation] Reduces the common work of running a command on a remote system to a single higher level - ... robot keyword, taking care to log in with a public key and. The command given is written - ... and the output returned. No test conditions are checked. + ... robot keyword, taking care to log in with a public key and. The command given is written and the return value + ... depends on the passed argument values of return_stdout (default: True) and return_stderr (default: False). + ... At least one should be True, or the keyword will exit and FAIL. If both are True, the resulting return value + ... will be a two element list containing both. Otherwise the resulting return value is a string. + ... No test conditions are checked. + Run Keyword If "${return_stdout}"!="True" and "${return_stderr}"!="True" Fail At least one of {return_stdout} or {return_stderr} args should be set to True ${current_ssh_connection}= SSHLibrary.Get Connection - BuiltIn.Log Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" - BuiltIn.Log ${password} + BuiltIn.Log Attempting to execute command "${cmd}" on remote system "${system}" by user "${user}" with keyfile pass "${keyfile_pass}" and prompt "${prompt}" and password "${password}" ${conn_id}= SSHLibrary.Open Connection ${system} prompt=${prompt} timeout=${prompt_timeout} SSHKeywords.Flexible SSH Login ${user} ${password} ${stdout} ${stderr} SSHLibrary.Execute Command ${cmd} return_stderr=True SSHLibrary.Close Connection Log ${stderr} + Run Keyword If "${return_stdout}"!="True" Return From Keyword ${stderr} + Run Keyword If "${return_stderr}"!="True" Return From Keyword ${stdout} [Teardown] SSHKeywords.Restore_Current_SSH_Connection_From_Index ${current_ssh_connection.index} - [Return] ${stdout} + [Return] ${stdout} ${stderr} Run Command On Remote System And Log [Arguments] ${system} ${cmd} ${user}=${DEFAULT_USER} ${password}=${EMPTY} ${prompt}=${DEFAULT_LINUX_PROMPT} ${prompt_timeout}=${DEFAULT_TIMEOUT} @@ -205,7 +220,6 @@ Run Command On Mininet Run Command On Controller [Arguments] ${system}=${ODL_SYSTEM_IP} ${cmd}=echo ${user}=${ODL_SYSTEM_USER} ${password}=${ODL_SYSTEM_PASSWORD} ${prompt}=${ODL_SYSTEM_PROMPT} [Documentation] Call Run Comand On Remote System, but with default values suitable for Controller machine. - BuiltIn.Log ${password} BuiltIn.Run Keyword And Return Run Command On Remote System ${system} ${cmd} ${user} ${password} prompt=${prompt} Verify File Exists On Remote System