diff options
| author | Christian Breunig <christian@breunig.cc> | 2023-06-12 21:13:55 +0200 | 
|---|---|---|
| committer | Christian Breunig <christian@breunig.cc> | 2023-06-21 23:17:27 +0200 | 
| commit | 7fa7aa4d4b2d4736037ec912111b4f3048dfa217 (patch) | |
| tree | aa96c5d7883c14fa9453ea08cad75303a3a71470 | |
| parent | 2128dc0ddf6b921f440067d7b862f30d9fad0cb2 (diff) | |
| download | vyos-1x-7fa7aa4d4b2d4736037ec912111b4f3048dfa217.tar.gz vyos-1x-7fa7aa4d4b2d4736037ec912111b4f3048dfa217.zip | |
smoketest: move SSH login functionality to base class
| -rw-r--r-- | smoketest/scripts/cli/base_vyostest_shim.py | 14 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_service_ssh.py | 16 | ||||
| -rwxr-xr-x | smoketest/scripts/cli/test_system_login.py | 5 | 
3 files changed, 16 insertions, 19 deletions
| diff --git a/smoketest/scripts/cli/base_vyostest_shim.py b/smoketest/scripts/cli/base_vyostest_shim.py index 7cfb53045..d56a8eb33 100644 --- a/smoketest/scripts/cli/base_vyostest_shim.py +++ b/smoketest/scripts/cli/base_vyostest_shim.py @@ -14,6 +14,7 @@  import os  import unittest +import paramiko  from time import sleep  from typing import Type @@ -87,6 +88,19 @@ class VyOSUnitTestSHIM:                  pprint.pprint(out)              return out +        def ssh_send_cmd(command, username, password, hostname='localhost'): +            """ SSH command execution helper """ +            # Try to login via SSH +            ssh_client = paramiko.SSHClient() +            ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) +            ssh_client.connect(hostname=hostname, username=username, password=password) +            print(host, username, password) +            _, stdout, stderr = ssh_client.exec_command(command) +            output = stdout.read().decode().strip() +            error = stderr.read().decode().strip() +            ssh_client.close() +            return output, error +  # standard construction; typing suggestion: https://stackoverflow.com/a/70292317  def ignore_warning(warning: Type[Warning]):      import warnings diff --git a/smoketest/scripts/cli/test_service_ssh.py b/smoketest/scripts/cli/test_service_ssh.py index 8de98f34f..e03907dd8 100755 --- a/smoketest/scripts/cli/test_service_ssh.py +++ b/smoketest/scripts/cli/test_service_ssh.py @@ -174,18 +174,6 @@ class TestServiceSSH(VyOSUnitTestSHIM.TestCase):          #          # We also try to login as an invalid user - this is not allowed to work. -        def ssh_send_cmd(command, username, password, host='localhost'): -            """ SSH command execution helper """ -            # Try to login via SSH -            ssh_client = paramiko.SSHClient() -            ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy()) -            ssh_client.connect(hostname='localhost', username=username, password=password) -            _, stdout, stderr = ssh_client.exec_command(command) -            output = stdout.read().decode().strip() -            error = stderr.read().decode().strip() -            ssh_client.close() -            return output, error -          test_user = 'ssh_test'          test_pass = 'v2i57DZs8idUwMN3VC92'          test_command = 'uname -a' @@ -197,14 +185,14 @@ class TestServiceSSH(VyOSUnitTestSHIM.TestCase):          self.cli_commit()          # Login with proper credentials -        output, error = ssh_send_cmd(test_command, test_user, test_pass) +        output, error = self.ssh_send_cmd(test_command, test_user, test_pass)          # verify login          self.assertFalse(error)          self.assertEqual(output, cmd(test_command))          # Login with invalid credentials          with self.assertRaises(paramiko.ssh_exception.AuthenticationException): -            output, error = ssh_send_cmd(test_command, 'invalid_user', 'invalid_password') +            output, error = self.ssh_send_cmd(test_command, 'invalid_user', 'invalid_password')          self.cli_delete(['system', 'login', 'user', test_user])          self.cli_commit() diff --git a/smoketest/scripts/cli/test_system_login.py b/smoketest/scripts/cli/test_system_login.py index a1d2ba2ad..1182cb1fc 100755 --- a/smoketest/scripts/cli/test_system_login.py +++ b/smoketest/scripts/cli/test_system_login.py @@ -20,8 +20,6 @@ import unittest  from base_vyostest_shim import VyOSUnitTestSHIM -from distutils.version import LooseVersion -from platform import release as kernel_version  from subprocess import Popen, PIPE  from pwd import getpwall @@ -149,9 +147,6 @@ class TestSystemLogin(VyOSUnitTestSHIM.TestCase):          # T2886 - RADIUS authentication - check for statically compiled options          options = ['CONFIG_AUDIT', 'CONFIG_AUDITSYSCALL', 'CONFIG_AUDIT_ARCH'] -        if LooseVersion(kernel_version()) < LooseVersion('5.0'): -            options.append('CONFIG_AUDIT_WATCH') -            options.append('CONFIG_AUDIT_TREE')          for option in options:              self.assertIn(f'{option}=y', kernel_config) | 
