Best Python code snippet using tempest_python
ssh.py
Source:ssh.py
...9 self.host = host10 self.username = username11 self.password = password12 self.timeout = int(timeout)13 def _get_ssh_connection(self):14 """Returns an ssh connection to the specified host"""15 _timeout = True16 ssh = paramiko.SSHClient()17 ssh.set_missing_host_key_policy(18 paramiko.AutoAddPolicy())19 _start_time = time.time()20 while not self._is_timed_out(self.timeout, _start_time):21 try:22 ssh.connect(self.host, username=self.username, 23 password=self.password, look_for_keys=False,24 timeout=self.timeout)25 _timeout = False26 break27 except socket.error:28 continue29 except paramiko.AuthenticationException:30 time.sleep(15)31 continue32 if _timeout:33 raise socket.error("SSH connect timed out")34 return ssh35 def _is_timed_out(self, timeout, start_time):36 return (time.time() - timeout) > start_time37 def connect_until_closed(self):38 """Connect to the server and wait until connection is lost"""39 try:40 ssh = self._get_ssh_connection()41 _transport = ssh.get_transport()42 _start_time = time.time()43 _timed_out = self._is_timed_out(self.timeout, _start_time)44 while _transport.is_active() and not _timed_out:45 time.sleep(5)46 _timed_out = self._is_timed_out(self.timeout, _start_time)47 ssh.close()48 except (EOFError, paramiko.AuthenticationException, socket.error):49 return50 def exec_command(self, cmd):51 """Execute the specified command on the server.52 :returns: data read from standard output of the command53 """54 ssh = self._get_ssh_connection()55 stdin, stdout, stderr = ssh.exec_command(cmd)56 output = stdout.read()57 ssh.close()58 return output59 def test_connection_auth(self):60 """ Returns true if ssh can connect to server"""61 try:62 connection = self._get_ssh_connection()63 connection.close()64 except paramiko.AuthenticationException:65 return False...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!