summaryrefslogtreecommitdiff
path: root/tests/common/osutil/test_default.py
diff options
context:
space:
mode:
authorƁukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com>2017-03-15 10:19:34 +0100
committerusd-importer <ubuntu-server@lists.ubuntu.com>2017-03-17 13:08:24 +0000
commit83be006e288c58a46f5b76c29b6886c1f417d88c (patch)
tree91ba57e843714c232b5af5ab8dc6f3322ff7841e /tests/common/osutil/test_default.py
parentd064ab0bffd429382ea4fafeb144784d403848bd (diff)
downloadvyos-walinuxagent-83be006e288c58a46f5b76c29b6886c1f417d88c.tar.gz
vyos-walinuxagent-83be006e288c58a46f5b76c29b6886c1f417d88c.zip
Import patches-unapplied version 2.2.6-0ubuntu1 to ubuntu/zesty-proposed
Imported using git-ubuntu import. Changelog parent: d064ab0bffd429382ea4fafeb144784d403848bd New changelog entries: * New upstream release (LP: #1661750). * debian/control: - Change the maintainer to Ubuntu Developers (LP: #1657528). - Add the dependency of isc-dhcp-client as our maintainer scripts assume it's installed. - Add trailing commas to dependencies, add whitespaces. * Rename ephemeral-disk-warning.sh to ephemeral-disk-warning (lintian error). * debian/docs: - Remove LICENSE.txt as it's redundant. * debian/postinst: - Stop checking for update-initramfs existence using the absolute path, use the 'command' command instead to make lintian happy. * Remove debian/patches/disable-auto-update.patch: - We now ship with auto-updates enabled (LP: #1650522). * debian/maintscript: - Add a maintscript to rename the old logrotate file on upgrade from an ancient version of walinuxagent (LP: #1673152).
Diffstat (limited to 'tests/common/osutil/test_default.py')
-rw-r--r--tests/common/osutil/test_default.py151
1 files changed, 151 insertions, 0 deletions
diff --git a/tests/common/osutil/test_default.py b/tests/common/osutil/test_default.py
index d982b7e..933787b 100644
--- a/tests/common/osutil/test_default.py
+++ b/tests/common/osutil/test_default.py
@@ -21,6 +21,7 @@ import mock
import azurelinuxagent.common.osutil.default as osutil
import azurelinuxagent.common.utils.shellutil as shellutil
from azurelinuxagent.common.osutil import get_osutil
+from azurelinuxagent.common.utils import fileutil
from tests.tools import *
@@ -164,5 +165,155 @@ class TestOSUtil(AgentTestCase):
else:
self.fail("Cannot retrieve number of process cores using shell command.")
+ def test_conf_sshd(self):
+ new_file = "\
+Port 22\n\
+Protocol 2\n\
+ChallengeResponseAuthentication yes\n\
+#PasswordAuthentication yes\n\
+UsePAM yes\n\
+"
+ expected_output = "\
+Port 22\n\
+Protocol 2\n\
+ChallengeResponseAuthentication no\n\
+#PasswordAuthentication yes\n\
+UsePAM yes\n\
+PasswordAuthentication no\n\
+ClientAliveInterval 180\n\
+"
+
+ with patch.object(fileutil, 'write_file') as patch_write:
+ with patch.object(fileutil, 'read_file', return_value=new_file):
+ osutil.DefaultOSUtil().conf_sshd(disable_password=True)
+ patch_write.assert_called_once_with(
+ conf.get_sshd_conf_file_path(),
+ expected_output)
+
+ def test_conf_sshd_with_match(self):
+ new_file = "\
+Port 22\n\
+ChallengeResponseAuthentication yes\n\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+"
+ expected_output = "\
+Port 22\n\
+ChallengeResponseAuthentication no\n\
+PasswordAuthentication no\n\
+ClientAliveInterval 180\n\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+"
+
+ with patch.object(fileutil, 'write_file') as patch_write:
+ with patch.object(fileutil, 'read_file', return_value=new_file):
+ osutil.DefaultOSUtil().conf_sshd(disable_password=True)
+ patch_write.assert_called_once_with(
+ conf.get_sshd_conf_file_path(),
+ expected_output)
+
+ def test_conf_sshd_with_match_last(self):
+ new_file = "\
+Port 22\n\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+"
+ expected_output = "\
+Port 22\n\
+PasswordAuthentication no\n\
+ChallengeResponseAuthentication no\n\
+ClientAliveInterval 180\n\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+"
+
+ with patch.object(fileutil, 'write_file') as patch_write:
+ with patch.object(fileutil, 'read_file', return_value=new_file):
+ osutil.DefaultOSUtil().conf_sshd(disable_password=True)
+ patch_write.assert_called_once_with(
+ conf.get_sshd_conf_file_path(),
+ expected_output)
+
+ def test_conf_sshd_with_match_middle(self):
+ new_file = "\
+Port 22\n\
+match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+match all\n\
+#Other config\n\
+"
+ expected_output = "\
+Port 22\n\
+match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+match all\n\
+#Other config\n\
+PasswordAuthentication no\n\
+ChallengeResponseAuthentication no\n\
+ClientAliveInterval 180\n\
+"
+
+ with patch.object(fileutil, 'write_file') as patch_write:
+ with patch.object(fileutil, 'read_file', return_value=new_file):
+ osutil.DefaultOSUtil().conf_sshd(disable_password=True)
+ patch_write.assert_called_once_with(
+ conf.get_sshd_conf_file_path(),
+ expected_output)
+
+ def test_conf_sshd_with_match_multiple(self):
+ new_file = "\
+Port 22\n\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+Match host 192.168.1.2\n\
+ ChallengeResponseAuthentication yes\n\
+Match all\n\
+#Other config\n\
+"
+ expected_output = "\
+Port 22\n\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+Match host 192.168.1.2\n\
+ ChallengeResponseAuthentication yes\n\
+Match all\n\
+#Other config\n\
+PasswordAuthentication no\n\
+ChallengeResponseAuthentication no\n\
+ClientAliveInterval 180\n\
+"
+
+ with patch.object(fileutil, 'write_file') as patch_write:
+ with patch.object(fileutil, 'read_file', return_value=new_file):
+ osutil.DefaultOSUtil().conf_sshd(disable_password=True)
+ patch_write.assert_called_once_with(
+ conf.get_sshd_conf_file_path(),
+ expected_output)
+
+ def test_conf_sshd_with_match_multiple_first_last(self):
+ new_file = "\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+Match host 192.168.1.2\n\
+ ChallengeResponseAuthentication yes\n\
+"
+ expected_output = "\
+PasswordAuthentication no\n\
+ChallengeResponseAuthentication no\n\
+ClientAliveInterval 180\n\
+Match host 192.168.1.1\n\
+ ChallengeResponseAuthentication yes\n\
+Match host 192.168.1.2\n\
+ ChallengeResponseAuthentication yes\n\
+"
+
+ with patch.object(fileutil, 'write_file') as patch_write:
+ with patch.object(fileutil, 'read_file', return_value=new_file):
+ osutil.DefaultOSUtil().conf_sshd(disable_password=True)
+ patch_write.assert_called_once_with(
+ conf.get_sshd_conf_file_path(),
+ expected_output)
+
if __name__ == '__main__':
unittest.main()