mirror of
https://github.com/certbot/certbot.git
synced 2026-08-03 08:03:10 +02:00
100% Augeas Configr unittests
This commit is contained in:
@@ -87,7 +87,8 @@ class AugeasConfigurator(common.Plugin):
|
|||||||
self._log_save_errors(ex_errs)
|
self._log_save_errors(ex_errs)
|
||||||
# Erase Save Notes
|
# Erase Save Notes
|
||||||
self.save_notes = ""
|
self.save_notes = ""
|
||||||
return False
|
raise errors.PluginError(
|
||||||
|
"Error saving files, check logs for more info.")
|
||||||
|
|
||||||
# Retrieve list of modified files
|
# Retrieve list of modified files
|
||||||
# Note: Noop saves can cause the file to be listed twice, I used a
|
# Note: Noop saves can cause the file to be listed twice, I used a
|
||||||
|
|||||||
@@ -0,0 +1,81 @@
|
|||||||
|
"""Test for letsencrypt_apache.augeas_configurator."""
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
import mock
|
||||||
|
|
||||||
|
from letsencrypt import errors
|
||||||
|
|
||||||
|
from letsencrypt.tests import acme_util
|
||||||
|
|
||||||
|
from letsencrypt_apache import configurator
|
||||||
|
from letsencrypt_apache import obj
|
||||||
|
|
||||||
|
from letsencrypt_apache.tests import util
|
||||||
|
|
||||||
|
|
||||||
|
class AugeasConfiguratorTest(util.ApacheTest):
|
||||||
|
"""Test for Augeas Configurator base class."""
|
||||||
|
|
||||||
|
def setUp(self): # pylint: disable=arguments-differ
|
||||||
|
super(AugeasConfiguratorTest, self).setUp()
|
||||||
|
|
||||||
|
self.config = util.get_apache_configurator(
|
||||||
|
self.config_path, self.config_dir, self.work_dir)
|
||||||
|
|
||||||
|
self.vh_truth = util.get_vh_truth(
|
||||||
|
self.temp_dir, "debian_apache_2_4/two_vhost_80")
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
shutil.rmtree(self.temp_dir)
|
||||||
|
shutil.rmtree(self.config_dir)
|
||||||
|
shutil.rmtree(self.work_dir)
|
||||||
|
|
||||||
|
def test_bad_parse(self):
|
||||||
|
self.config.parser._parse_file(os.path.join(
|
||||||
|
self.config.parser.root, "conf-available", "bad_conf_file.conf"))
|
||||||
|
self.assertRaises(
|
||||||
|
errors.PluginError, self.config.check_parsing_errors, "httpd.aug")
|
||||||
|
|
||||||
|
def test_bad_save(self):
|
||||||
|
mock_save = mock.Mock()
|
||||||
|
mock_save.side_effect = IOError
|
||||||
|
self.config.aug.save = mock_save
|
||||||
|
|
||||||
|
self.assertRaises(errors.PluginError, self.config.save)
|
||||||
|
|
||||||
|
def test_finalize_save(self):
|
||||||
|
mock_finalize = mock.Mock()
|
||||||
|
self.config.reverter = mock_finalize
|
||||||
|
self.config.save("Example Title")
|
||||||
|
|
||||||
|
self.assertTrue(mock_finalize.is_called)
|
||||||
|
|
||||||
|
def test_recovery_routine(self):
|
||||||
|
mock_load = mock.Mock()
|
||||||
|
self.config.aug.load = mock_load
|
||||||
|
|
||||||
|
self.config.recovery_routine()
|
||||||
|
self.assertEqual(mock_load.call_count, 1)
|
||||||
|
|
||||||
|
def test_revert_challenge_config(self):
|
||||||
|
mock_load = mock.Mock()
|
||||||
|
self.config.aug.load = mock_load
|
||||||
|
|
||||||
|
self.config.revert_challenge_config()
|
||||||
|
self.assertEqual(mock_load.call_count, 1)
|
||||||
|
|
||||||
|
def test_rollback_checkpoints(self):
|
||||||
|
mock_load = mock.Mock()
|
||||||
|
self.config.aug.load = mock_load
|
||||||
|
|
||||||
|
self.config.rollback_checkpoints()
|
||||||
|
self.assertEqual(mock_load.call_count, 1)
|
||||||
|
|
||||||
|
def test_view_config_changes(self):
|
||||||
|
self.config.view_config_changes()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
unittest.main() # pragma: no cover
|
||||||
+5
@@ -0,0 +1,5 @@
|
|||||||
|
<VirtualHost 1.1.1.1>
|
||||||
|
|
||||||
|
ServerName invalid.net
|
||||||
|
|
||||||
|
</virtualHost>
|
||||||
@@ -27,6 +27,9 @@ class Reverter(object):
|
|||||||
def __init__(self, config):
|
def __init__(self, config):
|
||||||
self.config = config
|
self.config = config
|
||||||
|
|
||||||
|
le_util.make_or_verify_dir(
|
||||||
|
config.backup_dir, constants.CONFIG_DIRS_MODE, os.geteuid())
|
||||||
|
|
||||||
def revert_temporary_config(self):
|
def revert_temporary_config(self):
|
||||||
"""Reload users original configuration files after a temporary save.
|
"""Reload users original configuration files after a temporary save.
|
||||||
|
|
||||||
|
|||||||
@@ -377,7 +377,6 @@ def setup_work_direc():
|
|||||||
"""
|
"""
|
||||||
work_dir = tempfile.mkdtemp("work")
|
work_dir = tempfile.mkdtemp("work")
|
||||||
backup_dir = os.path.join(work_dir, "backup")
|
backup_dir = os.path.join(work_dir, "backup")
|
||||||
os.makedirs(backup_dir)
|
|
||||||
|
|
||||||
return mock.MagicMock(
|
return mock.MagicMock(
|
||||||
work_dir=work_dir, backup_dir=backup_dir,
|
work_dir=work_dir, backup_dir=backup_dir,
|
||||||
|
|||||||
Reference in New Issue
Block a user