blob: 3e3c00b58bebb7ee76ca7ae73fecca02a2a3b010 [file] [log] [blame]
Felipe Vicensf96bb452020-06-22 08:12:30 +02001# Licensed under the Apache License, Version 2.0 (the "License");
2# you may not use this file except in compliance with the License.
3# You may obtain a copy of the License at
4#
5# http://www.apache.org/licenses/LICENSE-2.0
6#
7# Unless required by applicable law or agreed to in writing, software
8# distributed under the License is distributed on an "AS IS" BASIS,
9# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10# See the License for the specific language governing permissions and
11# limitations under the License.
12
13*** Keywords ***
14Test SSH Connection
15 [Arguments] ${host} ${username} ${password} ${privatekey}
16
garciadeblasf4ebaa82022-06-23 13:33:26 +020017 Open Connection ${host}
Felipe Vicensf96bb452020-06-22 08:12:30 +020018 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
19 ... ELSE Login With Public Key ${username} ${privatekey}
20 Execute Command hostname
21 Close All Connections
22
23Check If remote File Exists
24 [Arguments] ${host} ${username} ${password} ${privatekey} ${file}
25
26 Open Connection ${host}
garciadeblasf4ebaa82022-06-23 13:33:26 +020027 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
28 ... ELSE Login With Public Key ${username} ${privatekey}
Felipe Vicensf96bb452020-06-22 08:12:30 +020029 ${rc}= Execute Command ls ${file} >& /dev/null return_stdout=False return_rc=True
30 Close All Connections
31 Should Be Equal As Integers ${rc} 0
32
aticig6cd74802022-05-11 19:31:46 +030033Check If Remote Folder Exists
34 [Arguments] ${host} ${username} ${password} ${privatekey} ${folder}
35
36 Open Connection ${host}
garciadeblasf4ebaa82022-06-23 13:33:26 +020037 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
38 ... ELSE Login With Public Key ${username} ${privatekey}
aticig6cd74802022-05-11 19:31:46 +030039 ${output}= Execute Command ls -d ${folder}
40 Close All Connections
41 Should Be Equal As Strings ${output} ${folder}
42
Felipe Vicensf96bb452020-06-22 08:12:30 +020043Get Remote File Content
garciadeblasf4ebaa82022-06-23 13:33:26 +020044 [Arguments] ${host} ${username} ${password} ${privatekey} ${file}
Felipe Vicensf96bb452020-06-22 08:12:30 +020045
garciadeblasf4ebaa82022-06-23 13:33:26 +020046 Open Connection ${host}
47 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
48 ... ELSE Login With Public Key ${username} ${privatekey}
Felipe Vicensf96bb452020-06-22 08:12:30 +020049 ${output}= Execute Command cat ${file}
50 Close All Connections
51 [Return] ${output}
52
53Ping Many
garciadeblasf4ebaa82022-06-23 13:33:26 +020054 [Arguments] ${host} ${username} ${password} ${privatekey} @{ip_list}
Felipe Vicensf96bb452020-06-22 08:12:30 +020055
garciadeblasf4ebaa82022-06-23 13:33:26 +020056 Open Connection ${host}
57 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
58 ... ELSE Login With Public Key ${username} ${privatekey}
Felipe Vicensf96bb452020-06-22 08:12:30 +020059 FOR ${ip} IN @{ip_list}
garciadeblasf4ebaa82022-06-23 13:33:26 +020060 ${result}= Execute Command ping -c 5 -W 1 ${ip} > /dev/null && echo OK shell=True
61 Log ${result}
62 Should Contain ${result} OK
Felipe Vicensf96bb452020-06-22 08:12:30 +020063 END
64 Close All Connections
65
66
67Execute Remote Command Check Rc Return Output
68 [Arguments] ${host} ${username} ${password} ${privatekey} ${command}
69
70 Open Connection ${host}
garciadeblasf4ebaa82022-06-23 13:33:26 +020071 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
72 ... ELSE Login With Public Key ${username} ${privatekey}
Felipe Vicensf96bb452020-06-22 08:12:30 +020073 ${stdout} ${rc}= Execute Command ${command} return_rc=True return_stdout=True
garciadeblas321726f2022-12-21 11:43:06 +010074 Log ${rc}
75 Log ${stdout}
Felipe Vicensf96bb452020-06-22 08:12:30 +020076 Close All Connections
77 Should Be Equal As Integers ${rc} 0
78 [Return] ${stdout}
79