summaryrefslogtreecommitdiff
path: root/scripts/cli/test_service_ssh.py
diff options
context:
space:
mode:
authorChristian Poessinger <christian@poessinger.com>2020-02-09 18:43:08 +0100
committerChristian Poessinger <christian@poessinger.com>2020-02-09 18:43:08 +0100
commit50315abd38be71554a2daf18f8c3c23bf8690bcf (patch)
treebabb3fbaa04197b17ee6d4e9d6f00f14fe2ecc2d /scripts/cli/test_service_ssh.py
parent86c87d5110d9ad602a91f887da3fa50d024fd7aa (diff)
downloadvyos-1x-50315abd38be71554a2daf18f8c3c23bf8690bcf.tar.gz
vyos-1x-50315abd38be71554a2daf18f8c3c23bf8690bcf.zip
ssh: add test for proper port and host validation
Diffstat (limited to 'scripts/cli/test_service_ssh.py')
-rwxr-xr-xscripts/cli/test_service_ssh.py19
1 files changed, 18 insertions, 1 deletions
diff --git a/scripts/cli/test_service_ssh.py b/scripts/cli/test_service_ssh.py
index e272872ea..f0ad2e565 100755
--- a/scripts/cli/test_service_ssh.py
+++ b/scripts/cli/test_service_ssh.py
@@ -14,15 +14,23 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
+import re
import os
import unittest
from psutil import process_iter
from vyos.config import Config
from vyos.configsession import ConfigSession, ConfigSessionError
+from vyos.util import read_file
+SSHD_CONF = '/etc/ssh/sshd_config'
base_path = ['service', 'ssh']
+def get_config_value(key):
+ tmp = read_file(SSHD_CONF)
+ return re.findall(r'\n?{}\s+(.*)'.format(key), tmp)
+
+
class TestServiceSSH(unittest.TestCase):
def setUp(self):
self.session = ConfigSession(os.getpid())
@@ -38,11 +46,20 @@ class TestServiceSSH(unittest.TestCase):
def test_ssh(self):
""" Check if SSH service can be configured and runs """
- self.session.set(base_path)
+ self.session.set(base_path + ['port', '2222'])
+ self.session.set(base_path + ['disable-host-validation'])
# commit changes
self.session.commit()
+ # Check configured port
+ port = get_config_value('Port')[0]
+ self.assertTrue("2222" in port)
+
+ # Check DNS usage
+ dns = get_config_value('UseDNS')[0]
+ self.assertTrue("no" in dns)
+
# Check for running process
self.assertTrue("sshd" in (p.name() for p in process_iter()))