Skip to content

Commit

Permalink
fix netapi and shell ssh tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Ch3LL authored and dwoz committed Dec 1, 2020
1 parent d36c713 commit 9b158ba
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 20 deletions.
39 changes: 20 additions & 19 deletions tests/integration/netapi/test_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -185,6 +185,7 @@ def setUp(self):

self.priv_file = os.path.join(RUNTIME_VARS.TMP_CONF_DIR, 'key_test')
self.rosters = os.path.join(RUNTIME_VARS.TMP_CONF_DIR)
self.roster_file = os.path.join(self.rosters, "roster")

# Initialize salt-ssh
self.run_function('test.ping')
Expand Down Expand Up @@ -349,12 +350,12 @@ def test_shell_inject_ssh_options(self):
"roster": "cache",
"client": "ssh",
"tgt": "127.0.0.1",
"renderer": "cheetah",
"renderer": "jinja|yaml",
"fun": "test.ping",
"eauth": "auto",
"username": "saltdev_auto",
"password": "saltdev",
"roster_file": "/tmp/salt-tests-tmpdir/config/roster",
"roster_file": self.roster_file,
"rosters": "/",
"ssh_options": ["|id>{} #".format(path), "lol"],
}
Expand All @@ -372,12 +373,12 @@ def test_shell_inject_ssh_port(self):
"roster": "cache",
"client": "ssh",
"tgt": "127.0.0.1",
"renderer": "cheetah",
"renderer": "jinja|yaml",
"fun": "test.ping",
"eauth": "auto",
"username": "saltdev_auto",
"password": "saltdev",
"roster_file": "/tmp/salt-tests-tmpdir/config/roster",
"roster_file": self.roster_file,
"rosters": "/",
"ssh_port": "hhhhh|id>{} #".format(path),
}
Expand All @@ -395,9 +396,9 @@ def test_shell_inject_remote_port_forwards(self):
"roster": "cache",
"client": "ssh",
"tgt": "127.0.0.1",
"renderer": "cheetah",
"renderer": "jinja|yaml",
"fun": "test.ping",
"roster_file": "/tmp/salt-tests-tmpdir/config/roster",
"roster_file": self.roster_file,
"rosters": "/",
"ssh_remote_port_forwards": "hhhhh|id>{} #, lol".format(path),
"eauth": "auto",
Expand All @@ -409,7 +410,7 @@ def test_shell_inject_remote_port_forwards(self):


@requires_sshd_server
class NetapiSSHClientAuthTest(SSHCase):
class NetapiSSHClientAuthTest(SSHCase, ModuleCase):

USERA = "saltdev"
USERA_PWD = "saltdev"
Expand All @@ -425,29 +426,29 @@ def setUp(self):

self.priv_file = os.path.join(RUNTIME_VARS.TMP_CONF_DIR, "key_test")
self.rosters = os.path.join(RUNTIME_VARS.TMP_CONF_DIR)
self.roster_file = os.path.join(self.rosters, "roster")
# Initialize salt-ssh
self.run_function("test.ping")
self.mod_case = ModuleCase()
try:
add_user = self.mod_case.run_function(
add_user = ModuleCase.run_function(self,
"user.add", [self.USERA], createhome=False
)
self.assertTrue(add_user)
if salt.utils.platform.is_darwin():
hashed_password = self.USERA_PWD
else:
hashed_password = salt.utils.pycrypto.gen_hash(password=self.USERA_PWD)
add_pwd = self.mod_case.run_function(
add_pwd = ModuleCase.run_function(self,
"shadow.set_password", [self.USERA, hashed_password],
)
self.assertTrue(add_pwd)
except AssertionError:
self.mod_case.run_function("user.delete", [self.USERA], remove=True)
ModuleCase.run_function(self, "user.delete", [self.USERA], remove=True)
self.skipTest("Could not add user or password, skipping test")

def tearDown(self):
del self.netapi
self.mod_case.run_function("user.delete", [self.USERA], remove=True)
ModuleCase.run_function(self, "user.delete", [self.USERA], remove=True)

@classmethod
def setUpClass(cls):
Expand All @@ -471,7 +472,7 @@ def test_ssh_auth_bypass(self):
"tgt": "127.0.0.1",
"renderer": "cheetah",
"fun": "test.ping",
"roster_file": "/tmp/salt-tests-tmpdir/config/roster",
"roster_file": self.roster_file,
"rosters": "/",
"eauth": "xx",
}
Expand All @@ -490,8 +491,8 @@ def test_ssh_auth_valid(self):
"rosters": [self.rosters],
"ssh_priv": self.priv_file,
"eauth": "pam",
"username": "saltdev",
"password": "saltdev",
"username": self.USERA,
"password": self.USERA_PWD,
}
ret = self.netapi.run(low)
assert "localhost" in ret
Expand All @@ -509,7 +510,7 @@ def test_ssh_auth_invalid(self):
"rosters": [self.rosters],
"ssh_priv": self.priv_file,
"eauth": "pam",
"username": "saltdev",
"username": self.USERA,
"password": "notvalidpassword",
}
with self.assertRaises(salt.exceptions.EauthAuthenticationError):
Expand All @@ -528,7 +529,7 @@ def test_ssh_auth_invalid_acl(self):
"rosters": [self.rosters],
"ssh_priv": self.priv_file,
"eauth": "pam",
"username": "saltdev",
"username": self.USERA,
"password": "notvalidpassword",
}
with self.assertRaises(salt.exceptions.EauthAuthenticationError):
Expand All @@ -540,8 +541,8 @@ def test_ssh_auth_token(self):
"""
low = {
"eauth": "pam",
"username": "saltdev",
"password": "saltdev",
"username": self.USERA,
"password": self.USERA_PWD,
}
ret = self.netapi.loadauth.mk_token(low)
assert "token" in ret and ret["token"]
Expand Down
4 changes: 3 additions & 1 deletion tests/unit/client/ssh/test_shell.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import
import os
import subprocess

Expand Down Expand Up @@ -28,6 +30,6 @@ def test_ssh_shell_key_gen(self):

# verify there is not a passphrase set on key
ret = subprocess.check_output(
["ssh-keygen", "-f", self.priv_key, "-y"], timeout=30,
["ssh-keygen", "-f", self.priv_key, "-y"]
)
self.assertTrue(ret.decode().startswith("ssh-rsa"))

0 comments on commit 9b158ba

Please sign in to comment.