mirror of
https://github.com/certbot/certbot.git
synced 2026-08-01 16:19:13 +02:00
Test cases for NoninteractiveDisplay
(and one of the associated bugfixes :)
This commit is contained in:
@@ -501,7 +501,7 @@ class NoninteractiveDisplay(object):
|
|||||||
if default is None:
|
if default is None:
|
||||||
self._interaction_fail(message, cli_flag)
|
self._interaction_fail(message, cli_flag)
|
||||||
else:
|
else:
|
||||||
return OK, default
|
return default
|
||||||
|
|
||||||
def checklist(self, message, tags, default=None, cli_flag=None, **kwargs):
|
def checklist(self, message, tags, default=None, cli_flag=None, **kwargs):
|
||||||
# pylint: disable=unused-argument
|
# pylint: disable=unused-argument
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ import unittest
|
|||||||
|
|
||||||
import mock
|
import mock
|
||||||
|
|
||||||
|
import letsencrypt.errors as errors
|
||||||
|
|
||||||
from letsencrypt.display import util as display_util
|
from letsencrypt.display import util as display_util
|
||||||
|
|
||||||
|
|
||||||
@@ -278,6 +280,40 @@ class FileOutputDisplayTest(unittest.TestCase):
|
|||||||
self.displayer._get_valid_int_ans(3),
|
self.displayer._get_valid_int_ans(3),
|
||||||
(display_util.CANCEL, -1))
|
(display_util.CANCEL, -1))
|
||||||
|
|
||||||
|
class NoninteractiveDisplayTest(unittest.TestCase):
|
||||||
|
"""Test non-interactive display.
|
||||||
|
|
||||||
|
These tests are pretty easy!
|
||||||
|
|
||||||
|
"""
|
||||||
|
def setUp(self):
|
||||||
|
super(NoninteractiveDisplayTest, self).setUp()
|
||||||
|
self.mock_stdout = mock.MagicMock()
|
||||||
|
self.displayer = display_util.NoninteractiveDisplay(self.mock_stdout)
|
||||||
|
|
||||||
|
def test_input(self):
|
||||||
|
d = "an incomputable value"
|
||||||
|
ret = self.displayer.input("message", default=d)
|
||||||
|
self.assertEqual(ret, (display_util.OK, d))
|
||||||
|
self.assertRaises(errors.MissingCommandlineFlag, self.displayer.input, "message")
|
||||||
|
|
||||||
|
def test_menu(self):
|
||||||
|
ret = self.displayer.menu("message", CHOICES, default=1)
|
||||||
|
self.assertEqual(ret, (display_util.OK, 1))
|
||||||
|
self.assertRaises(errors.MissingCommandlineFlag, self.displayer.menu, "message", CHOICES)
|
||||||
|
|
||||||
|
def test_yesno(self):
|
||||||
|
d = False
|
||||||
|
ret = self.displayer.yesno("message", default=d)
|
||||||
|
self.assertEqual(ret, d)
|
||||||
|
self.assertRaises(errors.MissingCommandlineFlag, self.displayer.yesno, "message")
|
||||||
|
|
||||||
|
def test_checklist(self):
|
||||||
|
d = [1, 3]
|
||||||
|
ret = self.displayer.menu("message", TAGS, default=d)
|
||||||
|
self.assertEqual(ret, (display_util.OK, d))
|
||||||
|
self.assertRaises(errors.MissingCommandlineFlag, self.displayer.checklist, "message", TAGS)
|
||||||
|
|
||||||
|
|
||||||
class SeparateListInputTest(unittest.TestCase):
|
class SeparateListInputTest(unittest.TestCase):
|
||||||
"""Test Module functions."""
|
"""Test Module functions."""
|
||||||
|
|||||||
Reference in New Issue
Block a user