Fix based on comments

This commit is contained in:
James Kasten
2015-01-26 01:27:00 -08:00
parent ae4c160654
commit 73b95c4307
4 changed files with 19 additions and 13 deletions
+13 -10
View File
@@ -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)
+2 -2
View File
@@ -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
+1 -1
View File
@@ -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 =