mirror of
https://github.com/certbot/certbot.git
synced 2026-08-01 19:02:52 +02:00
Fix based on comments
This commit is contained in:
@@ -2,17 +2,15 @@
|
|||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
import mock
|
import mock
|
||||||
import zope.component
|
|
||||||
|
|
||||||
|
|
||||||
class RollbackTest(unittest.TestCase):
|
class RollbackTest(unittest.TestCase):
|
||||||
"""Test the rollback function."""
|
"""Test the rollback function."""
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.m_install = mock.MagicMock()
|
self.m_install = mock.MagicMock()
|
||||||
self.m_input = mock.MagicMock()
|
|
||||||
zope.component.getUtility = self.m_input
|
|
||||||
|
|
||||||
def _call(self, checkpoints): # pylint: disable=no-self-use
|
@classmethod
|
||||||
|
def _call(cls, checkpoints):
|
||||||
from letsencrypt.client.client import rollback
|
from letsencrypt.client.client import rollback
|
||||||
rollback(checkpoints)
|
rollback(checkpoints)
|
||||||
|
|
||||||
@@ -25,13 +23,14 @@ class RollbackTest(unittest.TestCase):
|
|||||||
self.assertEqual(self.m_install().rollback_checkpoints.call_count, 1)
|
self.assertEqual(self.m_install().rollback_checkpoints.call_count, 1)
|
||||||
self.assertEqual(self.m_install().restart.call_count, 1)
|
self.assertEqual(self.m_install().restart.call_count, 1)
|
||||||
|
|
||||||
|
@mock.patch("letsencrypt.client.client.zope.component.getUtility")
|
||||||
@mock.patch("letsencrypt.client.reverter.Reverter")
|
@mock.patch("letsencrypt.client.reverter.Reverter")
|
||||||
@mock.patch("letsencrypt.client.client.determine_installer")
|
@mock.patch("letsencrypt.client.client.determine_installer")
|
||||||
def test_misconfiguration_fixed(self, mock_det, mock_rev):
|
def test_misconfiguration_fixed(self, mock_det, mock_rev, mock_input):
|
||||||
from letsencrypt.client.errors import LetsEncryptMisconfigurationError
|
from letsencrypt.client.errors import LetsEncryptMisconfigurationError
|
||||||
mock_det.side_effect = [LetsEncryptMisconfigurationError,
|
mock_det.side_effect = [LetsEncryptMisconfigurationError,
|
||||||
self.m_install]
|
self.m_install]
|
||||||
self.m_input().generic_yesno.return_value = True
|
mock_input().generic_yesno.return_value = True
|
||||||
|
|
||||||
self._call(1)
|
self._call(1)
|
||||||
|
|
||||||
@@ -42,14 +41,16 @@ class RollbackTest(unittest.TestCase):
|
|||||||
# Only restart once
|
# Only restart once
|
||||||
self.assertEqual(self.m_install.restart.call_count, 1)
|
self.assertEqual(self.m_install.restart.call_count, 1)
|
||||||
|
|
||||||
|
@mock.patch("letsencrypt.client.client.zope.component.getUtility")
|
||||||
@mock.patch("letsencrypt.client.client.logging.warning")
|
@mock.patch("letsencrypt.client.client.logging.warning")
|
||||||
@mock.patch("letsencrypt.client.reverter.Reverter")
|
@mock.patch("letsencrypt.client.reverter.Reverter")
|
||||||
@mock.patch("letsencrypt.client.client.determine_installer")
|
@mock.patch("letsencrypt.client.client.determine_installer")
|
||||||
def test_misconfiguration_remains(self, mock_det, mock_rev, mock_warn):
|
def test_misconfiguration_remains(
|
||||||
|
self, mock_det, mock_rev, mock_warn, mock_input):
|
||||||
from letsencrypt.client.errors import LetsEncryptMisconfigurationError
|
from letsencrypt.client.errors import LetsEncryptMisconfigurationError
|
||||||
mock_det.side_effect = LetsEncryptMisconfigurationError
|
mock_det.side_effect = LetsEncryptMisconfigurationError
|
||||||
|
|
||||||
self.m_input().generic_yesno.return_value = True
|
mock_input().generic_yesno.return_value = True
|
||||||
|
|
||||||
self._call(1)
|
self._call(1)
|
||||||
|
|
||||||
@@ -62,13 +63,15 @@ class RollbackTest(unittest.TestCase):
|
|||||||
# There should be a warning about the remaining problem
|
# There should be a warning about the remaining problem
|
||||||
self.assertEqual(mock_warn.call_count, 1)
|
self.assertEqual(mock_warn.call_count, 1)
|
||||||
|
|
||||||
|
@mock.patch("letsencrypt.client.client.zope.component.getUtility")
|
||||||
@mock.patch("letsencrypt.client.reverter.Reverter")
|
@mock.patch("letsencrypt.client.reverter.Reverter")
|
||||||
@mock.patch("letsencrypt.client.client.determine_installer")
|
@mock.patch("letsencrypt.client.client.determine_installer")
|
||||||
def test_user_decides_to_manually_investigate(self, mock_det, mock_rev):
|
def test_user_decides_to_manually_investigate(
|
||||||
|
self, mock_det, mock_rev, mock_input):
|
||||||
from letsencrypt.client.errors import LetsEncryptMisconfigurationError
|
from letsencrypt.client.errors import LetsEncryptMisconfigurationError
|
||||||
mock_det.side_effect = LetsEncryptMisconfigurationError
|
mock_det.side_effect = LetsEncryptMisconfigurationError
|
||||||
|
|
||||||
self.m_input().generic_yesno.return_value = False
|
mock_input().generic_yesno.return_value = False
|
||||||
|
|
||||||
self._call(1)
|
self._call(1)
|
||||||
|
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ class ReverterCheckpointLocalTest(unittest.TestCase):
|
|||||||
shutil.rmtree(self.dir1)
|
shutil.rmtree(self.dir1)
|
||||||
shutil.rmtree(self.dir2)
|
shutil.rmtree(self.dir2)
|
||||||
|
|
||||||
|
logging.disable(logging.NOTSET)
|
||||||
|
|
||||||
def test_basic_add_to_temp_checkpoint(self):
|
def test_basic_add_to_temp_checkpoint(self):
|
||||||
# These shouldn't conflict even though they are both named config.txt
|
# These shouldn't conflict even though they are both named config.txt
|
||||||
self.reverter.add_to_temp_checkpoint(self.sets[0], "save1")
|
self.reverter.add_to_temp_checkpoint(self.sets[0], "save1")
|
||||||
@@ -245,6 +247,7 @@ class TestFullCheckpointsReverter(unittest.TestCase):
|
|||||||
self.config1, self.config2, self.dir1, self.dir2, self.sets = tup
|
self.config1, self.config2, self.dir1, self.dir2, self.sets = tup
|
||||||
|
|
||||||
def tearDown(self):
|
def tearDown(self):
|
||||||
|
|
||||||
shutil.rmtree(self.work_dir)
|
shutil.rmtree(self.work_dir)
|
||||||
shutil.rmtree(self.dir1)
|
shutil.rmtree(self.dir1)
|
||||||
shutil.rmtree(self.dir2)
|
shutil.rmtree(self.dir2)
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ import zope.interface
|
|||||||
from letsencrypt.client import CONFIG
|
from letsencrypt.client import CONFIG
|
||||||
from letsencrypt.client import client
|
from letsencrypt.client import client
|
||||||
from letsencrypt.client import display
|
from letsencrypt.client import display
|
||||||
from letsencrypt.client import interfaces
|
|
||||||
from letsencrypt.client import errors
|
from letsencrypt.client import errors
|
||||||
|
from letsencrypt.client import interfaces
|
||||||
from letsencrypt.client import log
|
from letsencrypt.client import log
|
||||||
|
|
||||||
|
|
||||||
@@ -98,7 +98,7 @@ def main(): # pylint: disable=too-many-statements,too-many-branches
|
|||||||
except errors.LetsEncryptMisconfigurationError as err:
|
except errors.LetsEncryptMisconfigurationError as err:
|
||||||
logging.fatal("Please fix your configuration before proceeding. "
|
logging.fatal("Please fix your configuration before proceeding. "
|
||||||
"The Installer exited with the following message: "
|
"The Installer exited with the following message: "
|
||||||
"%s", str(err))
|
"%s", err)
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# Use the same object if possible
|
# Use the same object if possible
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ commands =
|
|||||||
[testenv:cover]
|
[testenv:cover]
|
||||||
commands =
|
commands =
|
||||||
python setup.py dev
|
python setup.py dev
|
||||||
python setup.py nosetests --with-coverage --cover-min-percentage=61
|
python setup.py nosetests --with-coverage --cover-min-percentage=66
|
||||||
|
|
||||||
[testenv:lint]
|
[testenv:lint]
|
||||||
commands =
|
commands =
|
||||||
|
|||||||
Reference in New Issue
Block a user