blob: 216cd59347d55feba20b1becc243a8a78364fb4a [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
17 Open Connection ${host}
18 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}
27 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
28 ... ELSE Login With Public Key ${username} ${privatekey}
29 ${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}
37 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
38 ... ELSE Login With Public Key ${username} ${privatekey}
39 ${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
44 [Arguments] ${host} ${username} ${password} ${privatekey} ${file}
45
46 Open Connection ${host}
47 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
48 ... ELSE Login With Public Key ${username} ${privatekey}
49 ${output}= Execute Command cat ${file}
50 Close All Connections
51 [Return] ${output}
52
53Ping Many
54 [Arguments] ${host} ${username} ${password} ${privatekey} @{ip_list}
55
56 Open Connection ${host}
57 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
58 ... ELSE Login With Public Key ${username} ${privatekey}
59 FOR ${ip} IN @{ip_list}
60 ${result}= Execute Command ping -c 5 -W 1 ${ip} > /dev/null && echo OK shell=True
61 Log ${result}
62 Should Contain ${result} OK
63 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}
71 Run Keyword If '${password}'!='${EMPTY}' Login ${username} ${password}
72 ... ELSE Login With Public Key ${username} ${privatekey}
73 ${stdout} ${rc}= Execute Command ${command} return_rc=True return_stdout=True
74 log ${rc}
75 log ${stdout}
76 Close All Connections
77 Should Be Equal As Integers ${rc} 0
78 [Return] ${stdout}
79